ZFS Replication Service // S. Cenk Yildiz, EPFL-SB-SPC // OSS - 2026.09.25
Demo - 1
ZFSPERMS=compression,create,destroy,hold,receive,rollback,send,snapshot,mount,mountpoint
ZFSPOOL=mypool
ZFSDATASET=mypool/sensitive
USER=$(id -un)
WORKDIR=/"$ZFSDATASET"/$USER
ZFSREMOTEDATASET="replica/users/$USER/sensitive"
SYNCOID_OPTS="--no-sync-snap --sendoptions=raw --no-privilege-elevation"
mkdir -p /tmp/zfstest && dd if=/dev/zero of=/tmp/zfstest/sda bs=1G count=4
sudo zpool create $ZFSPOOL /tmp/zfstest/sda
sudo zfs create -o encryption=on -o keyformat=passphrase "$ZFSDATASET"
sudo zfs allow "$USER" "$ZFSPERMS" "$ZFSPOOL"
sudo mkdir "$WORKDIR"
sudo chown "$USER" "$WORKDIR"
watch -n 1 "printf '===== contents ===== \n\n' && tree -a /$ZFSDATASET && printf '\n===== snapshots =====\n' && zfs list -t snapshot $ZFSDATASET"