Vous pouvez envoyer un flux d'instantané ZFS avec une certaine valeur de propriété de système de fichiers, mais vous pouvez spécifier une valeur de propriété locale différente lorsque le flux de l'instantané est reçu. Vous pouvez également indiquer que la valeur de propriété d'origine doit être utilisée lorsque le flux d'instantané est reçu pour recréer le système de fichiers d'origine. En outre, vous pouvez désactiver une propriété de système de fichiers lorsque le flux d'instantané est reçu.
Utilisez la commande zfs inherit –S pour rétablir la valeurs de propriété locale reçue, le cas échéant. Si une propriété ne reçoit aucune valeur, le comportement de la commande zfs inherit–S est le même que la commande zfs inherit sans l'option –S. Si la propriété ne reçoit aucune valeur, la commande zfs inherit masque la valeur reçue par la valeur héritée jusqu'à ce que l'émission d'une commande zfs inherit–S rétablisse la valeur reçue.
Vous pouvez utiliser la commande zfs get –o pour prendre en compte la nouvelle colonne RECEIVED ajoutée. Vous pouvez également utiliser la commande zfs get–o all pour ajouter toutes les colonnes, y compris la colonne RECEIVED.
Vous pouvez utiliser l'option zfs send –p pour ajouter des propriétés dans le flux d'envoi sans l'option –R.
L'option zfs receive –e permet d'utiliser le dernier élément du nom de l'instantané envoyé pour définir le nom du nouvel instantané. L'exemple suivant envoie l'instantané poola/bee/cee@1 au système de fichiers poold/eee et utilise uniquement le dernier élément (cee@1) du nom de l'instantané pour créer le système de fichiers et l'instantané reçus.
# 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 -
Dans certains cas, les propriétés du système de fichiers dans un flux envoyé ne peuvent pas s'appliquer au système de fichiers récepteur ou aux propriétés du système de fichiers local, comme la valeur de propriété mountpoint, et risquent d'interférer avec une restauration.
Par exemple, dans le système de fichiers tank/données, la propriété compression est désactivée. Un instantané du système de fichiers tank/data est envoyé avec des propriétés (option –p) à un pool de sauvegarde et est reçu avec la propriété compression activée.
# 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
Dans l'exemple, la propriété compression est activée lorsque l'instantané est reçu dans bpool. Par conséquent, pour bpool/data, la valeur compression est activée.
Si ce flux d'instantané est envoyé à un nouveau pool, restorepool, à des fins de récupération, vous pouvez être amené à conserver toutes les propriétés de l'instantané d'origine. Dans ce cas, vous devez utiliser la commande zfs send –b pour restaurer les propriétés de l'instantané d'origine. Par exemple :
# 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
Dans l'exemple, la valeur de compression est off, elle représente la valeur de compression de l'instantané du système de fichiers tank/data d'origine.
Si vous disposez d'une valeur de propriété de système de fichiers local dans un flux d'instantané et que vous souhaitez désactiver la propriété lors de sa réception, utilisez la commande zfs receive –x. Par exemple, la commande suivante envoie un flux d'instantané récursif des systèmes de fichiers du répertoire d'accueil avec toutes les propriétés de système de fichiers réservées à un pool de sauvegarde, mais sans les valeurs de propriété du quota.
# 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 l'instantané récursif n'a pas été reçu avec l'option –x, la propriété de quota doit être définie dans les systèmes de fichiers reçus.
# 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 - -