Снапшот в ZFS — не копия, а заморозка блоков через copy-on-write: старые блоки не перезаписываются, пока на них ссылается снапшот. Создаётся за миллисекунды, места почти не занимает.
zfs snapshot tank/data@before-upgrade
zfs list -t snapshot
zfs rollback tank/data@before-upgrade
Если полный откат не нужен — сделать из снапшота записываемый клон, который делит блоки с оригиналом, пока не разойдётся с ним:
zfs clone tank/data@before-upgrade tank/data-test
Перенести снапшот на другой пул/хост — целиком или только дельту с прошлой передачи (-i):
zfs send tank/data@before-upgrade | zfs receive backup/data
zfs send -i tank/data@before-upgrade tank/data@after-upgrade | zfs receive backup/data
Это и есть инкрементальная репликация ZFS — без сканирования всего датасета заново, как это делает rsync.
#linux #filesystem #zfs #sysadmin
