Gestión de sistemas de archivos ZFS en Oracle® Solaris 11.2

Salir de la Vista de impresión

Actualización: Diciembre de 2014
 
 

Identificación de flujos de instantáneas de ZFS

Una instantánea de un volumen o sistema de archivos ZFS se convierte en un flujo de instantáneas mediante el comando zfs send. Luego, puede utilizar el flujo de instantáneas para volver a crear un volumen o sistema de archivos ZFS mediante el comando zfs receive.

Según las opciones de zfs send que se han utilizado para crear el flujo de instantáneas, se generan distintos tipos de formatos de flujo.

  • Flujo completo: consta de todos los contenidos de conjuntos de datos desde el momento en que se creó el conjunto de datos hasta la instantánea especificada.

    El flujo predeterminado generado por el comando zfs send es un flujo completo. Contiene un volumen o sistema de archivos, hasta la instantánea especificada, y la incluye. El flujo no contiene instantáneas distintas de la instantánea especificada en la línea de comandos.

  • Flujo incremental: consta de las diferencias entre una instantánea y otra instantánea.

Un paquete de flujos es un tipo de flujo que contiene uno o varios flujos completos o incrementales. Existen tres tipos de paquetes de flujos:

  • Paquete de flujos de replicación: consta del conjunto de datos especificado y sus descendientes. En él, se incluyen todas las instantáneas intermedias. Si el origen de un conjunto de datos clonado no es un descendiente de la instantánea especificada en la línea de comandos, ese conjunto de datos de origen no se incluye en el paquete de flujos. Para recibir el flujo, el conjunto de datos de origen debe existir en la agrupación de almacenamiento de destino.

    Considere la siguiente lista de conjuntos de datos y sus orígenes. Supongamos que se crearon en el orden en que aparecen a continuación.

    NAME                    ORIGIN
    pool/a                  -
    pool/a/1                -
    pool/a/1@clone          -
    pool/b                  -
    pool/b/1                pool/a/1@clone
    pool/b/1@clone2         -
    pool/b/2                pool/b/1@clone2
    pool/b@pre-send         -
    pool/b/1@pre-send       -
    pool/b/2@pre-send       -
    pool/b@send             -
    pool/b/1@send           -
    pool/b/2@send           -

    Un paquete de flujos de replicación que se crea con la siguiente sintaxis:

    # zfs send -R pool/b@send ....

    Consta de los siguientes flujos completos e incrementales:

    TYPE    SNAPSHOT                INCREMENTAL FROM
    full    pool/b@pre-send         -
    incr    pool/b@send             pool/b@pre-send
    incr    pool/b/1@clone2         pool/a/1@clone
    incr    pool/b/1@pre-send       pool/b/1@clone2
    incr    pool/b/1@send           pool/b/1@send
    incr    pool/b/2@pre-send       pool/b/1@clone2
    incr    pool/b/2@send           pool/b/2@pre-send

    En la salida anterior, la instantánea pool/a/1@clone no se incluye en el paquete de flujos de replicación. Como tal, este paquete de flujos de replicación solo se puede recibir en una agrupación que ya tiene la instantánea pool/a/1@clone.

  • Paquete de flujos recursivos: consta del conjunto de datos especificado y sus descendientes. A diferencia de los paquetes de flujos de replicación, las instantáneas intermedias no se incluyen, a menos que sean el origen de un conjunto de datos clonado que se incluye en el flujo. De manera predeterminada, si el origen de un conjunto de datos no es un descendiente de la instantánea especificada en la línea de comandos, el comportamiento es similar a los flujos de replicación. Sin embargo, un flujo recursivo autocontenido, que se describe a continuación, se crea de tal manera que no hay dependencias externas.

    Un paquete de flujos recursivos que se crea con la siguiente sintaxis:

    # zfs send -r pool/b@send ... 

    Consta de los siguientes flujos completos e incrementales:

    TYPE    SNAPSHOT                INCREMENTAL FROM
    full    pool/b@send             -
    incr    pool/b/1@clone2         pool/a/1@clone
    incr    pool/b/1@send           pool/b/1@clone2
    incr    pool/b/2@send           pool/b/1@clone2

    En la salida anterior, la instantánea pool/a/1@clone no se incluye en el paquete de flujos recursivos. Como tal, este paquete de flujos recursivos solo se puede recibir en una agrupación que ya tiene la instantánea pool/a/1@clone. Este comportamiento es similar al escenario de paquetes de flujos de replicación descritos anteriormente.

  • Paquete de flujos recursivos autocontenido: no depende de ningún conjunto de datos que no esté incluido en el paquete de flujos. Este paquete de flujos recursivos se crea con la siguiente sintaxis:

    # zfs send -rc pool/b@send ...

    Consta de los siguientes flujos completos e incrementales:

    TYPE    SNAPSHOT                INCREMENTAL FROM
    full    pool/b@send             -
    full    pool/b/1@clone2
    incr    pool/b/1@send           pool/b/1@clone2
    incr    pool/b/2@send           pool/b/1@clone2

    Tenga en cuenta que el flujo recursivo autocontenido tiene un flujo completo de la instantánea pool/b/1@clone2, lo que hace posible recibir la instantánea pool/b/1 sin dependencias externas.