Вчера я написал, что 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.