Немного о zfs snapshot
Поэкспериментируем… Создадим 2 файлика по 10М file1 и file2 Сделаем снапшот 1, в нем у нас будут 2 наших файлика:
zfs snapshot -r zroot/tmp@snap_2015_02_04-1
Удалим один файлик и сделаем снапшот 2:
zfs snapshot -r zroot/tmp@snap_2015_02_04-2
Таких снапшотов можно делать несколько, например на каждый день. Теперь попробуем восстановить отдельные нужные нам файлы. Помним, что во втором снапшоте у нас только один файлик остался, но зато он свежее, если предположить, что с ним работали. Давайте восстановим.
Сначала примонтируем наш снапшот 1, потом 2:
zfs clone -o mountpoint=/usr/home/alexey/backups zroot/tmp@snap_2015_02_04-1 zroot/tmp-restor-1 zfs clone -o mountpoint=/usr/home/alexey/anothe-backup zroot/tmp@snap_2015_02_04-2 zroot/tmp-restor-2
Немного поясню команду. Первый снапшот у нас смонтирован в /usr/home/backups а второй в /usr/home/alexey/anothe-backup. Теперь мы можем просто зайти в эти каталоги выбрать нужные файлы и восстановить их.
Получилось вот что:
[root@ngw ~]# zfs list NAME USED AVAIL REFER MOUNTPOINT zroot 2.80G 31.9G 144K none zroot/ROOT 1.08G 31.9G 144K none zroot/ROOT/default 1.08G 31.9G 1.08G / zroot/tmp 20.4M 31.9G 216K /tmp zroot/tmp-restor-1 8K 31.9G 20.2M /usr/home/alexey/backups zroot/tmp-restor-2 8K 31.9G 10.2M /usr/home/alexey/anothe-backup zroot/usr 1.46G 31.9G 144K /usr zroot/usr/home 10.3M 31.9G 10.3M /usr/home zroot/usr/ports 977M 31.9G 977M /usr/ports zroot/usr/src 507M 31.9G 507M /usr/src zroot/var 235M 31.9G 234M /var zroot/var/crash 148K 31.9G 148K /var/crash zroot/var/log 316K 31.9G 316K /var/log zroot/var/mail 156K 31.9G 156K /var/mail zroot/var/tmp 160K 31.9G 160K /var/tmp
После этого можно отмонтировать, и возможно удалить снапшоты если они нам больше не нужны:
zfs destroy zroot/tmp-restor-2 zfs destroy zroot/tmp-restor-1
Теперь можно и снапшоты удалить ЕСЛИ НЕ НУЖНЫ!!!
zfs destroy -r zroot/tmp@snap_2015_02_04-1 zfs destroy -r zroot/tmp@snap_2015_02_04-2