Puede enviar un flujo de instantáneas de ZFS con un valor de propiedad de sistema de archivos determinado, pero puede especificar un valor de propiedad local diferente cuando recibe el flujo de instantáneas. También puede especificar que se utilice el valor de propiedad original al recibir el flujo de instantáneas para volver a crear el sistema de archivos original. Además, puede desactivar una propiedad del sistema de archivos al recibir el flujo de instantáneas.
Utilice zfs inherit –S para restablecer un valor de propiedad local al valor recibido, si lo hubiera. Si una propiedad no tiene un valor recibido, el comportamiento del comando zfs inherit –S es el mismo que el comando zfs inherit sin la opción –S. Si la propiedad no tiene un valor recibido, el comando zfs inherit enmascara el valor recibido con el valor heredado hasta que la emisión de un comando zfs inherit –S lo restablece al valor recibido.
Puede utilizar zfs get –o para incluir la nueva columna RECEIVED no predeterminada. O bien, utilice el comando zfs get –o all para incluir todas las columnas, incluida RECEIVED.
Puede utilizar la opción zfs send –p para incluir las propiedades en el flujo de envío sin la opción –R.
Puede utilizar la opción zfs receive –e para utilizar el último elemento del nombre de instantánea enviado para determinar el nuevo nombre de instantánea. El ejemplo siguiente envía la instantánea poola/bee/cee@1 al sistema poold/eee y solo utiliza el último elemento (cee@1) del nombre de la instantánea para crear el sistema y la instantánea del archivo recibido.
# zfs list -rt all poola NAME USED AVAIL REFER MOUNTPOINT poola 134K 134G 23K /poola poola/bee 44K 134G 23K /poola/bee poola/bee/cee 21K 134G 21K /poola/bee/cee poola/bee/cee@1 0 - 21K - # zfs send -R poola/bee/cee@1 | zfs receive -e poold/eee # zfs list -rt all poold NAME USED AVAIL REFER MOUNTPOINT poold 134K 134G 23K /poold poold/eee 44K 134G 23K /poold/eee poold/eee/cee 21K 134G 21K /poold/eee/cee poold/eee/cee@1 0 - 21K -
En algunos casos, es posible que las propiedades del sistema de archivos de un flujo de envío no se apliquen al sistema de archivos receptor o que las propiedades del sistema de archivos local, como el valor de propiedad mountpoint, interfieran con una restauración.
Por ejemplo, el sistema de archivos tank/data tiene la propiedad compression desactivada. Una instantánea del sistema de archivos tank/data se envía con propiedades (opción –p) a una agrupación de seguridad y es recibida con la propiedad compression activada.
# zfs get compression tank/data NAME PROPERTY VALUE SOURCE tank/data compression off default # zfs snapshot tank/data@snap1 # zfs send -p tank/data@snap1 | zfs recv -o compression=on -d bpool # zfs get -o all compression bpool/data NAME PROPERTY VALUE RECEIVED SOURCE bpool/data compression on off local
En el ejemplo, la propiedad compression está activada cuando se recibe la instantánea en bpool. Por lo tanto, para bpool/data, el valor compression está activado.
Si este flujo de instantáneas se envía a una nueva agrupación, restorepool, para fines de recuperación, es posible que desee mantener todas las propiedades originales de las instantáneas. En este caso, debe utilizar el comando zfs send –b para restaurar las propiedades originales de las instantáneas. Por ejemplo:
# zfs send -b bpool/data@snap1 | zfs recv -d restorepool # zfs get -o all compression restorepool/data NAME PROPERTY VALUE RECEIVED SOURCE restorepool/data compression off off received
En el ejemplo, el valor de compresión es off, que representa el valor de compresión de la instantánea del sistema de archivos original tank/data.
Si tiene un valor de propiedad de sistema de archivos local en un flujo de instantáneas y desea desactivar la propiedad cuando lo reciba, utilice el comando zfs receive –x. Por ejemplo, el siguiente comando envía un flujo de instantáneas recursivas de los sistemas de archivos de directorios principales con todas las propiedades del sistema de archivos reservadas para una agrupación de seguridad, pero sin valores de propiedad de cuota:
# zfs send -R tank/home@snap1 | zfs recv -x quota bpool/home # zfs get -r quota bpool/home NAME PROPERTY VALUE SOURCE bpool/home quota none local bpool/home@snap1 quota - - bpool/home/lori quota none default bpool/home/lori@snap1 quota - - bpool/home/mark quota none default bpool/home/mark@snap1 quota - -
Si la instantánea recursiva no se recibe con la opción –x, la propiedad de cuota se establecerá en los sistemas de archivos recibidos.
# zfs send -R tank/home@snap1 | zfs recv bpool/home # zfs get -r quota bpool/home NAME PROPERTY VALUE SOURCE bpool/home quota none received bpool/home@snap1 quota - - bpool/home/lori quota 10G received bpool/home/lori@snap1 quota - - bpool/home/mark quota 10G received bpool/home/mark@snap1 quota - -