Сетевые файловые хранилища для дома
Как работать со снэпшотами ZFS (путь джедая)
Вчера я написал, что ZFS лучше UFS для файлового хранилища, т.к. позволяет делать снэпшоты файловой системы и восстанавливать их в случае непредвиденных обстоятельств. Например, случайного удаления файлов, как было со мной.
Хочу показать как работать со снимками состояния файловой системы во FreeBSD. Демонстрация будет для джедаев, владеющих командной строкой.
Список пулов и снэпшотов
Первым делом смотрим, что нам скажет команда «zfs list», она выводит список zfs-пулов (z-pool) и снэпшотов:
filenode:~# zfs list NAME USED AVAIL REFER MOUNTPOINT storage 3.96G 5.82G 3.96G /mnt/storage
Здесь NAME — это имя пула или снэпшота, USED — объём занятого места, AVAIL — объём доступного места, MOUNTPOINT — точка монтирования файловой системы.
Создание снэпшота
Для создания снимка файловой системы существует команда «zfs snapshot»:
filenode:~# zfs snapshot storage@snap1
Где storage — имя zfs пула, а snap1 — имя снэпшота. Теперь «zfs list» показывает и наш снэпшот.
filenode:~# zfs list NAME USED AVAIL REFER MOUNTPOINT storage 3.96G 5.82G 3.96G /mnt/storage storage@snap1 0 - 3.96G -
Восстановление предыдущего состояния
Для отката к предыдущему состоянию используется команда «zfs rollback», в нашем случае:
filenode:~# zfs rollback storage@snap1
В результате восстановления, очевидно, исчезнут все изменения сделанные в файловой системе, после создания снэпшоты. Удалённые файлы восстановятся, созданные исчезнут, изменённые примут свой первоначальный вид.
Удаление снэпшота
Снэпшоты занимают место. Фактически файловая система хранит копии всех удаленных и измененных файлов. Т.е. если вы удалили что-то объемом в несколько гигабайт, то эти гигабайты все равно продолжают занимать место на вашем диске. Пока снэпшот не будет удалён. В этом случае файловая система забывает удаленные изменения и их будет невозможно восстановить.
Для удаления снэпшота используется команда «zfs destroy»:
filenode:~# zfs destroy storage@snap1
Вот собстевнно и все основные команды, для работы со снимками файловой системы ZFS.