web-dev-qa-db-fra.com

Activer les instantanés ZFS

J'ai accidentellement supprimé certains fichiers de mon pool zfs et essayé de monter les derniers instantanés, mais je viens de comprendre que je n'ai pas d'instantanés. Comment activer les instantanés, comment le configurer?

J'utilise le serveur Ubuntu 12.04.1 et zfs 0.6.1, la version du pool est le 28.

13
Misu Egri

Si vous n'avez pris aucun instantané, vous avez perdu vos données.

Pour prendre un instantané, utilisez la commande zfs snapshot

http://docs.Oracle.com/cd/E19253-01/819-5461/gbcya/index.html

4
Pasi Suominen

À partir d'Ubuntu 17.04, vous pouvez installer zfs-auto-snapshot comme ceci:

Sudo apt install zfs-auto-snapshot

Pour les versions antérieures à Ubuntu antérieures à 17.04, vous pouvez configurer zfs-auto-snapshot pour utiliser des instantanés automatiques à partir du référentiel

Sudo add-apt-repository ppa:zfs-native/stable; Sudo apt-get install zfs-auto-snapshot

ou directement de 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

Par défaut, il crée des instantanés pour chaque ensemble de données toutes les 15 minutes et enregistre l'instantané jusqu'à un an. Toutefois, vous pouvez désactiver les instantanés pour un ensemble de données spécifique en définissant la propriété com.Sun:auto-snapshot sur l'ensemble de données.

Sudo zfs set com.Sun:auto-snapshot=false tank/tmp

Vous pouvez également utiliser les propriétés com.Sun:auto-snapshot:... pour ajuster le comportement de l'instantané automatique. Par exemple. enregistrer des instantanés quotidiennement pendant 31 jours pour le jeu de données réservoir/sauvegarde:

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

Par défaut, le script enregistre:

  • instantanés fréquents toutes les 15 minutes, en conservant 4 instantanés
  • instantanés horaires toutes les heures, conservant 24 instantanés
  • instantanés quotidiens tous les jours, en conservant 31 instantanés
  • instantanés hebdomadaires chaque semaine, en conservant 7 instantanés
  • instantanés mensuels tous les mois, en conservant 12 instantanés
24
Andrey

Je cherche sur le Web des pages de manuel ou au moins une liste des propriétés réglables de zfs-auto-snapshot, mais je suis probablement aveugle? Pouvez-vous ajouter quelques mots ou un lien, s'il vous plaît? J'ai trouvé n fichier README , mais je ne comprends pas comment je pourrais changer ou même lire les valeurs mentionnées.

Donc, essayez une tâche simple: comment augmenter ou réduire le nombre de captures instantanées mensuelles conservées (en gardant à l’esprit l’espace disque).

Sun utilise des outils svcadm ou time-slider qui semblent inexistants sous Ubuntu, n'est-ce pas?

par exemple.:

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

J'espère que ce message est pertinent ici, car les valeurs par défaut sont excellentes, mais de nombreux utilisateurs disposant de pools "presque pleins" auraient peut-être peur de manquer d'espace disque.

EDIT: J'ai eu un autre problème avec zfs-auto-snapshot. Il a été créé des clichés vers 8h00, approximativement au début de la journée de travail. Quelle mauvaise idée, en supposant que la destruction des instantanés obsolètes qui pourraient être une opération très intensive et prendre beaucoup de temps, se produira aussi à ce moment-là. Je vois cela comme un risque de rendre le système inutilisable au pire moment de la journée. Cela semble être juste une entrée dans /etc/cron.daily (hebdomadaire, mensuel), de sorte que le changement de ligne anacron pour les emplois quotidiens (ou autres) dans crontab devrait suffire.
Il me manque la mention à ce sujet dans le readme.

0
coro