Retaining Original Property Values
In some cases, file system properties in a send stream might not apply to the receiving file system or local file system properties, such as the mountpoint
property value, might interfere with a restore.
For example, suppose that the system1/data
file system has the compression
property disabled. A snapshot of the system1/data
file system is sent with properties (-p
option) to a backup pool and is received with the compression
property enabled.
$ zfs get compression system1/data NAME PROPERTY VALUE SOURCE system1/data compression off default $ zfs snapshot system1/data@snap1 $ zfs send -p system1/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
In the example, the compression
property is enabled when the snapshot is received into bpool
. So, for bpool/data
, the compression
value is on
.
If this snapshot stream is sent to a new pool, restorepool
, for recovery purposes, you might want to keep all the original snapshot properties. In this case, you would use the zfs send -b
command to restore the original snapshot properties. For example:
$ 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
In the example, the compression value is off
, which represents the snapshot compression value from the original system1/data
file system.