Replication is incredibly fast compared to traditional file based syncing methods like rsync.
zfs send <local_dataset>@<snapshot> | ssh <remote_user>@<remote host> zfs receive <remote_dataset>
NOTE: Permissions to non-root users may be needing to be set.
sudo zfs send testpool/disk1@aug18 | ssh remoteuser@192.168.1.5 zfs recv xyz-pool/testpool-aug18
returns:
cannot receive new filesystem stream: permission denied
Assuming the sender is peter:
sudo zfs allow -u peter send,snapshot,hold testpool
Assuming the receiver is remoteuser:
sudo zfs allow -u remoteuser compression,mountpoint,create,mount,receive xyz-pool
NOTE After setting the permissions, the sending and receiving of the snapshots should work successfully.
remoteuser@ip-:/dev$ zfs list -t snapshot NAME USED AVAIL REFER MOUNTPOINT xyz-pool/testpool-aug18@aug18 0B - 30.4M -