Шпаргалка - автоматизация создания снэпшотов ZFS

Задача

Создавать ежедневные резервные копии (в данной задаче - снэпшоты) системных разделов, актуальность копий - 1 месяц. В случае необходимости иметь возможность откатиться на любую резервную копию. Автоматизировать задачу.

Снэпшоты могут быть полезны в случае случайного удаления файлов на системных разделах (/, /var, /usr), в этом случае файлы можно восстановить, откатившись до резервной копии.

Данный метод НЕ обеспечивает задачу надежного резервного копирования системы, т.к. снэпшоты - это лишь мгновенные снимки, находящиеся на той же файловой системе. В случае краха файловой системы, снэпшоты не будут доступны. Для надежного резервного копирования сливайте резервные копии на внешние дисковые хранилища.

Решение

zfsnap - это скрипт на shell, выполняющий все требования поставленной задачи.

Установим zfsnap

portmaster sysutils/zfsnap

Настроим zfsnap

zfsnap - довольно гибкий инструмент, может создавать снэпшоты ежедневно, еженедельно, ежемесячно, при загрузке системы.

Мои настройки в /etc/periodic.conf

## ZFS snaphots
daily_zfsnap_enable="YES"
daily_zfsnap_fs="zroot zroot/usr zroot/var"
daily_zfsnap_verbose="YES"
daily_zfsnap_flags="-s -S"
daily_zfsnap_ttl="1m"

daily_zfsnap_delete_enable="YES"
daily_zfsnap_delete_flags="-s -S"
daily_zfsnap_delete_verbose="YES"

Здесь указано - создавать ежедневные снэпшоты файловых систем zroot zroot/usr zroot/var, снэпшоты старше одного месяца удалять.

Убедитесь, что в /etc/crontab присутствует строка

1       3       *       *       *       root    periodic daily

Проверка

Выполним periodic

periodic daily

Получим список снэпшотов

$ zfs list -t snapshot
NAME                                      USED  AVAIL  REFER  MOUNTPOINT
zroot@daily-2014-01-29_11.59.08--1m       112K      -  1,05G  -
zroot/usr@daily-2014-01-29_11.59.08--1m   260K      -   831M  -
zroot/var@daily-2014-01-29_11.59.08--1m   148K      -   225M  -

Откатим /var на момент времени 2014-01-29_11.59.08

zfs rollback zroot/var@daily-2014-01-29_11.59.08--1m

Файлы снэпшотов доступны в каталоге .zfs/snapshot/ в корне файловой системы, например

ls -l /.zfs/snapshot/daily-2014-01-29_11.59.08--1m/
total 141
-r--r--r--   1 root  wheel  6142 10 апр  2013 COPYRIGHT
drwxr-xr-x   2 root  wheel    46 10 апр  2013 bin
drwxr-xr-x   8 root  wheel    43 20 май  2013 boot
drwxr-xr-x   2 root  wheel     2 24 сен  2012 dev
-rw-------   1 root  wheel  4096 24 янв 16:27 entropy
drwxr-xr-x  21 root  wheel   112 24 янв 23:21 etc
lrwxr-xr-x   1 root  wheel     8 24 сен  2012 home -> usr/home
drwxr-xr-x   3 root  wheel    48 10 апр  2013 lib
drwxr-xr-x   3 root  wheel     7 10 апр  2013 libexec
drwxr-xr-x   2 root  wheel     2  3 янв  2012 media
drwxr-xr-x   3 root  wheel     3 24 янв 23:25 mnt
dr-xr-xr-x   2 root  wheel     2  3 янв  2012 proc
drwxr-xr-x   2 root  wheel   142 10 апр  2013 rescue
drwxr-xr-x   8 root  wheel    20 29 янв 11:58 root
drwxr-xr-x   2 root  wheel   131 10 апр  2013 sbin
drwxr-xr-x   2 root  wheel     2 24 янв 21:08 tmp
drwxr-xr-x   2 root  wheel     2 24 янв 21:10 usr
drwxr-xr-x   2 root  wheel     2 24 янв 21:11 var

Ссылки

Комментарии

 
blog/2014/01/29-шпаргалка_-_автоматизация_создания_снэпшотов_zfs.txt · Последние изменения: 2014/01/29 12:41 — Антон Бугреев · []