2 декабря 2025
Снапшот хранится внутри пула. ZFS помечает блоки, на которые он ссылается, и перестаёт их переиспользовать. Никакой отдельной сущности при этом не появляется: те же диски, те же метаданные, то же управление.
Отсюда список аварий, после которых снапшотов не останется. Отказ пула.
Ошибка администратора уровня zpool destroy. Повреждение
метаданных. Кража сервера. Шифровальщик с правами root.
Логическую порчу данных при исправном пуле. Удалили каталог, выкатили миграцию с ошибкой, поймали шифровальщик без прав на ZFS. Откат занимает секунды, восстановление из архива заняло бы часы. Такие случаи составляют большую часть инцидентов, поэтому снапшоты долго кажутся достаточными.
zfs snapshot -r tank/data@2025-12-02
zfs send -R -I tank/data@2025-12-01 tank/data@2025-12-02 | \
ssh backup zfs recv -Fu backup/data
Теперь копия лежит в другом пуле, на другой машине, желательно в другом здании. Если приёмник смонтирован на том же хосте, обе копии находятся в одной зоне отказа.
На приёмнике стоит ограничить права отправителя. Учётке, которая делает
recv, обычно не нужен destroy. При компрометации
отправителя это сохраняет архив.
Раз в квартал поднимаю данные из архива на отдельной машине и открываю.
Наличие файла на диске о его пригодности ничего не говорит: у меня был
случай, когда recv отрабатывал молча, а датасет приезжал
без половины дочерних.