ForĮxample: host1# zfs send -i | ssh host2 zfs recv newtank/dana You can send incremental data by using the zfs send -i option.
#Openzfs snapshot full
When you send a full stream, the destination file system must not For example: host1# zfs send | ssh host2 zfs recv newtank/dana If you are sending the snapshot stream to a different system, pipe the You can send incremental snapshots, which only send the differences. It's effectively the difference between it and the previous snapshot, and that chain continues all the way back through all the snapshots to the "base" copy of the filesystem. If you want the entire filesystem for disaster recovery, you need the entire filesystem.Ī ZFS snapshot is not a complete filesystem.
If accidently reach the state where your recovery pool does not have any snapshots that match your source, you can no longer send increments and will thus need to start anew. You should care about whether your send-receives are successful. Please mind that this is a minimal seatbelt-less example. Recovery-host# zfs list -H -o name -t snapshot tank/data | head -n -1 \Īssuming that LATEST_LOCAL_SNAPSHOT and LATEST_REMOTE_SNAPSHOT are appropriately set. Then you send incremental updates and prune, host# zfs snapshot -r zfs send -R -i | ssh recovery-host zfs recv tank/data If you thus had created any snapshots prior, you can delete them: recovery-host# zfs list -H -o name -t snapshot tank/data | head -n -1 \ This will send all descending file systems, and will send the initial_snapshot and all those created before it. You start by sending an initial snapshot: host# zfs snapshot -r zfs send -R | \ The idea is to prune your recovery set so that it only has the latest snapshot. In any case, while you cannot achieve what you want in a direct way, you can reach the desired state. Although I for one am usually faced with the oppositie situation where I have a remote backup pool from which I want to restore the latest snapshot on a local system.