Aller au contenu principal

sanoid — Gestion et snapshots ZFS

Sanoid est un outil de politique de snapshots pour ZFS : il automatise la création, la rétention et la purge de snapshots selon des règles (horaire/journalier/hebdomadaire/mensuel), et s'accompagne de Syncoid pour la réplication de ces snapshots vers un autre pool ou une machine distante.

Installation

sudo apt install sanoid

Sanoid fonctionne généralement via un timer systemd (sanoid.timer) plutôt qu'en démon permanent.

sudo systemctl enable --now sanoid.timer

Fichiers de configuration

CheminRôle
/etc/sanoid/sanoid.confPolitiques de rétention par dataset ZFS
/etc/sanoid/sanoid.defaults.confValeurs par défaut (ne pas modifier directement)

Commandes utiles

systemctl status sanoid.timer
sanoid --cron # exécution manuelle (normalement déclenchée par le timer)
sanoid --verbose --cron # avec détails
zfs list -t snapshot # lister les snapshots créés
syncoid tank/data backup/tank/data # répliquer vers un autre pool/host

Exemple de configuration

# /etc/sanoid/sanoid.conf
[tank/data]
use_template = production
recursive = yes

[template_production]
frequently = 0
hourly = 24
daily = 30
weekly = 8
monthly = 6
autosnap = yes
autoprune = yes

Conserve 24 snapshots horaires, 30 journaliers, 8 hebdomadaires et 6 mensuels, avec création et purge automatiques.

Sécurisation

  • Un snapshot n'est pas une sauvegarde externe : il protège contre l'erreur humaine/corruption logique, pas contre une panne matérielle du pool — combiner avec Syncoid vers un pool/hôte distant.
  • Protéger l'accès SSH utilisé par Syncoid pour la réplication (clé dédiée, command= restreint dans authorized_keys).
  • Dimensionner la rétention selon l'espace disponible : des snapshots trop nombreux sur un dataset à fort taux de modification consomment vite l'espace du pool.

Logs & dépannage

journalctl -u sanoid
journalctl -u sanoid.timer
zfs list -t snapshot -o name,creation,used

Voir aussi

  • zfs-zed — surveillance des événements ZFS (erreurs, dégradation de pool), complémentaire à Sanoid