Я случайно удалил некоторые файлы из своего пула zfs и попытался смонтировать последние снимки, но я только что понял, что у меня нет снимков. Как активировать снимки, как их настроить?
Я использую сервер Ubuntu 12.04.1 и zfs 0.6.1, версия пула 28.
Начиная с Ubuntu 17.04, вы можете установить zfs-auto-snapshot следующим образом:
sudo apt install zfs-auto-snapshot
Для версий Ubuntu до 17.04 вы можете настроить zfs-auto-snapshot на использование автоматических снимков из репозитория
sudo add-apt-repository ppa:zfs-native/stable; sudo apt-get install zfs-auto-snapshot
или напрямую из github
curl -L https://github.com/zfsonlinux/zfs-auto-snapshot/archive/master.tar.gz | tar xz -C /tmp/
pushd /tmp/zfs-auto-snapshot-master && sudo make install && popd && rm -rf /tmp/zfs-auto-snapshot-master
По умолчанию он создает снимки для каждого набора данных каждые 15 минут и сохраняет снимок до 1 года. Однако вы можете отключить снимки для определенного набора данных, задав для свойства com.sun:auto-snapshot
значение false
sudo zfs set com.sun:auto-snapshot=false tank/tmp
Вы также можете использовать свойства com.sun:auto-snapshot:...
для настройки поведения автоматического снимка. Например. сохранять снимки ежедневно в течение 31 дня для набора данных резервуара / резервной копии:
sudo zfs set com.sun:auto-snapshot=true tank/backup
sudo zfs set com.sun:auto-snapshot:monthly=false tank/backup
sudo zfs set com.sun:auto-snapshot:weekly=false tank/backup
sudo zfs set com.sun:auto-snapshot:daily=true tank/backup
sudo zfs set com.sun:auto-snapshot:hourly=false tank/backup
sudo zfs set com.sun:auto-snapshot:frequent=false tank/backup
По умолчанию сценарий сохраняет:
Если вы не сделали ни одного снимка, вы потеряли свои данные.
Чтобы сделать снимок, используйте команду zfs snapshot
http://docs.oracle.com/cd/E19253-01/819-5461/gbcya/index.html [ 114]
Я ищу в Интернете какие-либо справочные страницы или, по крайней мере, список настраиваемых свойств zfs-auto-snapshot, но, возможно, я слепой? Можете ли вы добавить несколько слов или ссылку, пожалуйста? Я нашел README , но я не могу понять, как я мог изменить или даже прочитать упомянутые значения.
Итак, попробуйте выполнить простую задачу: как увеличить или уменьшить количество сохраняемых ежемесячных снимков (имея в виду дисковое пространство).
Sun использует инструменты svcadm или слайдер времени, которые кажутся несуществующими в Ubuntu, я прав?
Например:
svccfg -s svc:/system/filesystem/zfs/auto-snapshot:frequent setprop zfs/period = 30
svccfg -s svc:/system/filesystem/zfs/auto-snapshot:frequent refresh
svcadm restart svc:/system/filesystem/zfs/auto-snapshot:frequent
Я надеюсь, что этот пост уместен здесь, так как по умолчанию отлично, но, возможно, многие пользователи с «почти полными» пулами будут бояться нехватки дискового пространства.
РЕДАКТИРОВАТЬ: у меня была другая проблема с zfs-auto-snapshot. Снимки создавались в 8:00 утра, примерно в начале рабочего дня. Какая плохая идея, предполагая, что разрушение устаревших снимков, которое может быть очень интенсивной операцией и занимать довольно много времени, также произойдет в это время. Я вижу это как риск вождения системы непригодным для использования в худшее время суток. Похоже, что это просто запись в /etc/cron.daily (еженедельно, ежемесячно), поэтому достаточно замены строки анакрона для ежедневных (или любых других) заданий в crontab.
Я пропускаю упоминание об этом в readme.