Автоматические снапшоты в ZFS

В последних сборках SCXE появилась возможность управлять автоматическим созданием снапшотов файловых систем ZFS. Для этого в Service Management Facility добавлено несколько сервисов, осуществляющих управление заданиями cron(1M):

FMRI Частота создания снапшота Время хранения
svc:/system/filesystem/zfs/auto-snapshot:frequent 15 минут 1 час
svc:/system/filesystem/zfs/auto-snapshot:hourly 1 раз в час 24 часа
svc:/system/filesystem/zfs/auto-snapshot:daily 1 день 31 день
svc:/system/filesystem/zfs/auto-snapshot:weekly 1 неделя 7 недель
svc:/system/filesystem/zfs/auto-snapshot:monthly 1 месяц 1 год


Для начала создания снапшотов, необходимо включить нужные сервисы:

# svcadm enable auto-snapshot:frequent
# svcadm enable auto-snapshot:hourly
# svcadm enable auto-snapshot:daily

Это приведет к добавлению необходимых заданий в crontab пользователя zfssnap.

Список файловых систем, для которых выполняется автоматическое создание снапшотов контролируется параметром com.sun:auto-snapshot (также возможно использование параметров с указанием экземпляра сервиса auto-snapshot для более тонкой настройки, например com.sun:auto-snapshot:frequent):

# zfs set com.sun:auto-snapshot=false rpool
# zfs set com.sun:auto-snapshot:frequent=true rpool/export/home/ivoronin
# zfs set com.sun:auto-snapshot:hourly=true rpool/export/home/ivoronin
# zfs set com.sun:auto-snapshot:daily=true rpool/export/home/ivoronin
# zfs set com.sun:auto-snapshot:daily=true rpool/ROOT/snv_101

Таким образом мы будем получать снимки файловой системы pool/export/home/ivoronin каждые 15 минут, 1 час и 1 день и снимки файловой системы rpool/ROOT/snv_101 каждый день. Стоит отметить что все параметры ZFS по умолчанию являются наследуемыми - таким образом сделанные для rpool/export/home/ivoronin настройки отразятся и на всех дочерних файловых системах, например rpool/export/home/ivoronin/Projects и rpool/export/home/ivoronin/Documents.

Обратиться к резервным копиям файлов в снапшоте очень просто, - они доступы через скрытую директорию .zfs каждой из файловых систем:

ivoronin $ ls -l /.zfs/snapshot/
total 8
drwxr-xr-x 21 root root 23 2008-10-28 14:32 initial
drwxr-xr-x 25 root root 26 2008-10-28 20:58 zfs-auto-snap:daily-2008-10-29-10:40
drwxr-xr-x 25 root root 26 2008-10-28 20:58 zfs-auto-snap:frequent-2008-10-29-10:40
drwxr-xr-x 26 root root 27 2008-10-29 10:44 zfs-auto-snap:frequent-2008-10-29-10:45
drwxr-xr-x 25 root root 26 2008-10-28 20:58 zfs-auto-snap:hourly-2008-10-29-10:40

Особо стоит отметить интеграцию этой функциональности в Nautilus, - файловый менеджер GNOME:

Reader's Comments »

  1. By Roman on October 29, 2008 at 5:58 pm

    А что происходит в момент когда наступает время двух и более снепшотов? Например в 00:00.
    а вот сразу и увидел ответ - все снепшоты будут созданы. У них в составном имени кроме времени есть частота.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>