JavaScript is required to for searching.
Omitir V�nculos de navegaci�n
Salir de la Vista de impresi�n
Guía de administración de Oracle Solaris ZFS
search filter icon
search icon

Información del documento

Prefacio

1.  Sistema de archivos ZFS de Oracle Solaris (introducción)

2.  Procedimientos iniciales con Oracle Solaris ZFS

3.  Oracle Solaris ZFS y sistemas de archivos tradicionales

4.  Administración de agrupaciones de almacenamiento de Oracle Solaris ZFS

5.  Instalación e inicio de un sistema de archivos raíz ZFS Oracle Solaris

6.  Administrar sistemas de archivos ZFS de Oracle Solaris

7.  Uso de clones e instantáneas de Oracle Solaris ZFS

Información general de instantáneas de ZFS

Creación y destrucción de instantáneas de ZFS

Conservación de instantáneas de ZFS

Cambio de nombre de instantáneas de ZFS

Visualización y acceso a instantáneas de ZFS

Cálculo del espacio para instantáneas de ZFS

Restablecimiento de una instantánea ZFS

Identificación de diferencias entre instantáneas de ZFS (zfs diff)

Información general sobre clones de ZFS

Creación de un clon de ZFS

Destrucción de un clon de ZFS

Sustitución de un sistema de archivos ZFS por un clon de ZFS

Envío y recepción de datos ZFS

Cómo guardar datos de ZFS con otros productos de copia de seguridad

Envío de una instantánea ZFS

Recepción de una instantánea ZFS

Aplicación de valores de propiedad diferentes a un flujo de instantáneas de ZFS

Envío y recepción de flujos de instantáneas ZFS complejos

Repetición remota de datos de ZFS

8.  Uso de listas de control de acceso y atributos para proteger archivos Oracle Solaris ZFS

9.  Administración delegada de ZFS Oracle Solaris

10.  Temas avanzados de Oracle Solaris ZFS

11.  Recuperación de agrupaciones y solución de problemas de Oracle Solaris ZFS

A.  Descripciones de versiones de Oracle Solaris ZFS

Índice

Información general de instantáneas de ZFS

Una instantánea es una copia de sólo lectura de un sistema de archivos o volumen. Las instantáneas se pueden crear de forma casi inmediata y al principio consumen poco espacio en el disco de la agrupación. Sin embargo, a medida que el conjunto de datos va cambiando, la instantánea consume espacio en el disco al seguir haciendo referencia a los datos antiguos, lo que impide la liberación de espacio.

Las instantáneas de ZFS presentan las características siguientes:

No se puede acceder directamente a las instantáneas de volúmenes, pero se pueden clonar, hacer copias de seguridad, invertir, etc. Para obtener información sobre cómo hacer copias de seguridad de una instantánea ZFS, consulte Envío y recepción de datos ZFS.

Creación y destrucción de instantáneas de ZFS

Las instantáneas se crean con el comando zfs snapshot, que toma como único argumento el nombre de la instantánea que se va a crear. El nombre de las instantáneas se asigna de la forma siguiente:

filesystem@snapname
volume@snapname

El nombre de la instantánea debe cumplir los requisitos de denominación establecidos en Requisitos de asignación de nombres de componentes de ZFS.

En el ejemplo siguiente, se crea una instantánea de tank/home/matt denominada friday.

# zfs snapshot tank/home/matt@friday

Puede crear instantáneas de todos los sistemas de archivos descendientes con la opción -r. Por ejemplo:

# zfs snapshot -r tank/home@snap1
# zfs list -t snapshot -r tank/home
zfs list -t snapshot -r tank/home
NAME                   USED  AVAIL  REFER  MOUNTPOINT
tank/home@snap1           0      -    34K  -
tank/home/mark@snap1      0      -  2.00G  -
tank/home/matt@snap1      0      -  1.00G  -
tank/home/tom@snap1       0      -  2.00G  -

Las instantáneas no tienen propiedades modificables. Las propiedades de conjuntos de datos no se pueden aplicar a una instantánea. Por ejemplo:

# zfs set compression=on tank/home/matt@friday
cannot set property for 'tank/home/matt@friday': this property can not be modified for snapshots

Para destruir instantáneas se utiliza el comando zfs destroy. Por ejemplo:

# zfs destroy tank/home/matt@friday

Los conjuntos de datos no se pueden destruir si tienen una instantánea. Por ejemplo:

# zfs destroy tank/home/matt
cannot destroy 'tank/home/matt': filesystem has children
use '-r' to destroy the following datasets:
tank/home/matt@tuesday
tank/home/matt@wednesday
tank/home/matt@thursday

Además, si se han creado clones a partir de una instantánea, deben destruirse antes de poder destruir la instantánea.

Para obtener más información sobre el subcomando destroy, consulte Destrucción de un sistema de archivos ZFS.

Conservación de instantáneas de ZFS

Si se implementan diferentes directivas de instantáneas automáticas de manera que zfs receive destruye accidentalmente las instantáneas más antiguas porque ya no existen en la parte remitente, debería considerar el uso de la función de conservación de instantáneas.

La función de conservación impide que se destruya una instantánea. Además, esta función permite que una instantánea con clones se elimine en espera de la eliminación del último clon mediante el comando zfs destroy -d. Cada instantánea tiene asociado un número de referencia de usuario, que se inicializa a cero. Este recuento aumenta una unidad cuando se aplica una retención a una instantánea y disminuye una unidad cuando se libera una retención.

En la versión anterior de Oracle Solaris, sólo era posible destruir una instantánea mediante el comando zfs destroy si ésta no tenía clones. En esta versión de Oracle Solaris, la instantánea también debe tener un recuento de referencia de usuario cero.

Se puede aplicar la función de conservación a una instantánea o a un conjunto de ellas. Por ejemplo, la siguiente sintaxis coloca una etiqueta de retención, keep, en tank/home/cindy/snap@1:

# zfs hold keep tank/home/cindy@snap1

Puede utilizar la opción -r para conservar las instantáneas de todos los sistemas de archivos descendientes. Por ejemplo:

# zfs snapshot -r tank/home@now
# zfs hold -r keep tank/home@now

Esta sintaxis agrega una sola referencia, keep, a la instantánea o al conjunto de instantáneas. Cada instantánea tiene su propio espacio de nombre de etiqueta y las etiquetas de conservación deben ser exclusivas dentro de ese espacio. Si se ha aplicado la función de conservación a una instantánea, fallará cualquier intento de destruirla mediante el comando zfs destroy. Por ejemplo:

# zfs destroy tank/home/cindy@snap1
cannot destroy 'tank/home/cindy@snap1': dataset is busy

Para destruir una instantánea retenida, use la opción -d. Por ejemplo:

# zfs destroy -d tank/home/cindy@snap1

Utilice el comando zfs holds para ver una lista de instantáneas conservadas. Por ejemplo:

# zfs holds tank/home@now
NAME           TAG   TIMESTAMP                 
tank/home@now  keep  Fri May  6 06:34:03 2011 
# zfs holds -r tank/home@now
NAME                 TAG   TIMESTAMP                 
tank/home/cindy@now  keep  Fri May  6 06:34:03 2011  
tank/home/mark@now   keep  Fri May  6 06:34:03 2011  
tank/home/matt@now   keep  Fri May  6 06:34:03 2011  
tank/home/tom@now    keep  Fri May  6 06:34:03 2011  
tank/home@now        keep  Fri May  6 06:34:03 2011 

Puede utilizar el comando zfs release para eliminar la conservación de una instantánea o de un conjunto de instantáneas. Por ejemplo:

# zfs release -r keep tank/home@now

Si la instantánea se libera, se podrá destruir mediante el comando zfs destroy. Por ejemplo:

# zfs destroy -r tank/home@now

Hay dos nuevas propiedades que identifican la información de retención de instantánea.

Cambio de nombre de instantáneas de ZFS

Se puede cambiar el nombre de las instantáneas, pero debe hacerse en la agrupación y el conjunto de datos en que se crearon. Por ejemplo:

# zfs rename tank/home/cindy@snap1 tank/home/cindy@today

Además, la siguiente sintaxis de acceso directo es equivalente a la sintaxis anterior:

# zfs rename tank/home/cindy@snap1 today

La siguiente operación de cambio de nombre de instantánea no es posible porque los nombres del sistema de archivos y la agrupación de destino no coinciden con los del sistema de archivos y la agrupación a partir de los cuales se creó la instantánea:

# zfs rename tank/home/cindy@today pool/home/cindy@saturday
cannot rename to 'pool/home/cindy@today': snapshots must be part of same 
dataset

El comando zfs rename - r permite cambiar el nombre de instantáneas de forma recursiva. Por ejemplo:

# zfs list -t snapshot -r users/home
NAME                        USED  AVAIL  REFER  MOUNTPOINT
users/home@now             23.5K      -  35.5K  -
users/home@yesterday           0      -    38K  -
users/home/lori@yesterday      0      -  2.00G  -
users/home/mark@yesterday      0      -  1.00G  -
users/home/neil@yesterday      0      -  2.00G  -
# zfs rename -r users/home@yesterday @2daysago
# zfs list -t snapshot -r users/home
NAME                       USED  AVAIL  REFER  MOUNTPOINT
users/home@now            23.5K      -  35.5K  -
users/home@2daysago           0      -    38K  -
users/home/lori@2daysago      0      -  2.00G  -
users/home/mark@2daysago      0      -  1.00G  -
users/home/neil@2daysago      0      -  2.00G  -

Visualización y acceso a instantáneas de ZFS

Puede habilitar o deshabilitar la visualización de los listados de instantáneas en la salida zfs list mediante la propiedad de agrupación listsnapshots. Esta propiedad está habilitada de forma predeterminada.

Si deshabilita esta propiedad, puede utilizar el comando zfs list -t snapshot para mostrar información de las instantáneas. O bien, habilite la propiedad de agrupación listsnapshots. Por ejemplo:

# zpool get listsnapshots tank
NAME  PROPERTY       VALUE      SOURCE
tank  listsnapshots  on        default
# zpool set listsnapshots=off tank
# zpool get listsnapshots tank
NAME  PROPERTY       VALUE      SOURCE
tank  listsnapshots  off         local

Se puede acceder a instantáneas de sistemas de archivos del directorio .zfs/snapshot en la raíz del sistema de archivos. Por ejemplo, si tank/home/ahrens se monta en /home/ahrens, se puede acceder a los datos de la instantánea tank/home/ahrens@thursday en el directorio /home/ahrens/.zfs/snapshot/thursday .

# ls /tank/home/matt/.zfs/snapshot
tuesday wednesday thursday

Se puede obtener una lista de instantáneas de la forma que se indica a continuación:

# zfs list -t snapshot -r tank/home
NAME                       USED  AVAIL  REFER  MOUNTPOINT
tank/home/cindy@today         0      -  2.00G  -
tank/home/mark@today          0      -  2.00G  -
tank/home/matt@tuesday      20K      -  1.00G  -
tank/home/matt@wednesday    20K      -  1.00G  -
tank/home/matt@thursday       0      -  1.00G  -

Se puede obtener una lista de las instantáneas creadas para un determinado sistema de archivos de la forma siguiente:

# zfs list -r -t snapshot -o name,creation tank/home
NAME                      CREATION
tank/home/cindy@today     Fri May  6  6:32 2011
tank/home/mark@today      Fri May  6  6:22 2011
tank/home/matt@tuesday    Tue May  3  6:27 2011
tank/home/matt@wednesday  Wed May  4  6:28 2011
tank/home/matt@thursday   Thu May  5  6:28 2011

Cálculo del espacio para instantáneas de ZFS

Cuando se crea una instantánea, al principio comparte el espacio con el sistema de archivos y, posiblemente, con instantáneas antiguas. A medida que cambia el sistema de archivos, el espacio en el disco compartido inicialmente se convierte en exclusivo de la instantánea, cosa que se contabiliza como tal en la propiedad used. Si se eliminan instantáneas puede aumentarse la cantidad de espacio exclusivo destinado a (usado por) otras instantáneas.

El valor de propiedad referenced de espacio de una instantánea es el mismo que tenía el sistema de archivos cuando se creó la instantánea.

Puede identificar información adicional sobre el consumo de valores de la propiedad used. Las nuevas propiedades del sistema de archivos de sólo lectura describen el uso de espacio en el disco de clones, sistemas de archivos y volúmenes. Por ejemplo:

$ zfs list -o space -r rpool
NAME                       AVAIL   USED  USEDSNAP  USEDDS  USEDREFRESERV  USEDCHILD
rpool                      59.1G  7.84G       21K    109K              0      7.84G
rpool@snap1                    -    21K         -       -              -          -
rpool/ROOT                 59.1G  4.78G         0     31K              0      4.78G
rpool/ROOT@snap1               -      0         -       -              -          -
rpool/ROOT/zfsBE           59.1G  4.78G     15.6M   4.76G              0          0
rpool/ROOT/zfsBE@snap1         -  15.6M         -       -              -          -
rpool/dump                 59.1G  1.00G       16K   1.00G              0          0
rpool/dump@snap1               -    16K         -       -              -          -
rpool/export               59.1G    99K       18K     32K              0        49K
rpool/export@snap1             -    18K         -       -              -          -
rpool/export/home          59.1G    49K       18K     31K              0          0
rpool/export/home@snap1        -    18K         -       -              -          -
rpool/swap                 61.2G  2.06G         0     16K          2.06G          0
rpool/swap@snap1               -      0         -       -              -          -

Para ver una descripción de estas propiedades, consulte la Tabla 6-1.

Restablecimiento de una instantánea ZFS

Puede usar el comando zfs rollback para anular todos los cambios efectuados en un sistema de archivos desde que se creó una instantánea concreta. El sistema de archivos vuelve al estado en que se encontraba en el momento de realizarse la instantánea. De forma predeterminada, el comando no puede restablecer una instantánea que no sea la más reciente.

Para restablecer una instantánea anterior, hay que destruir todas las instantáneas intermedias. Puede destruir versiones anteriores de instantáneas mediante la opción -r.

Si una instantánea intermedia tiene clones, para destruir los clones debe especificarse la opción -R.


Nota - El sistema de archivos que se desea restaurar se desmonta y se vuelve a montar, si actualmente está montado. Si el sistema de archivos no se puede desmontar, la restauración falla. La opción -f hace que se desmonte el sistema de archivos, si es necesario.


En este ejemplo, el sistema de archivos tank/home/ahrens se restaura a la instantánea de tuesday:

# zfs rollback tank/home/matt@tuesday
cannot rollback to 'tank/home/matt@tuesday': more recent snapshots exist
use '-r' to force deletion of the following snapshots:
tank/home/matt@wednesday
tank/home/matt@thursday
# zfs rollback -r tank/home/matt@tuesday

En este ejemplo, las instantáneas de wednesday y thursday se destruyen porque se ha restaurado la instantánea de tuesday.

# zfs list -r -t snapshot -o name,creation tank/home/matt
NAME                    CREATION
tank/home/matt@tuesday  Tue May  3  6:27 2011

Identificación de diferencias entre instantáneas de ZFS (zfs diff)

Puede determinar las diferencias entre instantáneas de ZFS mediante el comando zfs diff.

Por ejemplo, considere que se crean las siguientes dos instantáneas:

$ ls /tank/home/tim
fileA
$ zfs snapshot tank/home/tim@snap1
$ ls /tank/home/tim
fileA  fileB
$ zfs snapshot tank/home/tim@snap2

Por ejemplo, para identificar las diferencias que existen entre dos instantáneas, utilice una sintaxis similar a la siguiente:

$ zfs diff tank/home/tim@snap1 tank/home/timh@snap2
M       /tank/home/tim/
+       /tank/home/tim/fileB

En la salida anterior, M indica que el directorio se ha modificado. El símbolo + indica que fileB existe en la instantánea posterior.

La R en la siguiente salida indica que se ha cambiado el nombre de un archivo en una instantánea.

$ mv /tank/cindy/fileB /tank/cindy/fileC
$ zfs snapshot tank/cindy@snap2
$ zfs diff tank/cindy@snap1 tank/cindy@snap2
M       /tank/cindy/
R       /tank/cindy/fileB -> /tank/cindy/fileC

En la siguiente tabla se resumen los cambios de archivo o directorio identificados mediante el comando zfs diff.

Cambio de archivo o directorio
Identificador
Se ha modificado un archivo o directorio o ha cambiado un enlace de archivo o directorio
M
Un archivo o directorio está presente en la instantánea antigua pero no en la instantánea más reciente
Un archivo o directorio está presente en la instantánea más reciente pero no en la instantánea antigua
+
Se ha cambiado el nombre de un archivo o directorio
R

Para obtener más información, consulte zfs(1M).