Sauvegarde avancée : snapshots ZFS et réplication automatique

Publié le 22 juillet 2025

Administration Système
Stockage

La gestion des données critiques nécessite une sauvegarde fiable et rapide. Avec ZFS, les snapshots et la réplication native offrent une solution performante sans surcouche supplémentaire.

Ce guide détaille pas à pas la mise en place de snapshots ZFS et leur réplication automatique vers un serveur distant.

Plan de l’article

  • Prérequis
  • Création et organisation des datasets
  • Prise et gestion des snapshots
  • Configuration de la réplication
  • Automatisation avec script et cron
  • Surveillance et notification
  • Conclusion

Prérequis

  • Serveurs Linux avec ZFS installé (version ≥ 0.8)
  • Accès root ou sudo
  • SSH configuré entre les serveurs (clé publique)
  • Espace disque adapté sur la destination

Astuce : Utilisez une interface réseau dédiée pour la réplication pour éviter la saturation du réseau principal.

Création et organisation des datasets

Créez un dataset principal et un sous-dataset pour les snapshots :

sudo zfs create tank/data
sudo zfs create tank/data/snapshots

Prise et gestion des snapshots

Prenez un snapshot avec horodatage :

sudo zfs snapshot tank/data@snap-$(date +%Y%m%d-%H%M)

Listez les snapshots existants :

sudo zfs list -t snapshot

Attention : Supprimez les anciens snapshots pour éviter de saturer le stockage.

Configuration de la réplication

Exécutez la réplication initiale :

sudo zfs send tank/data@snap-20250722-1200 | ssh backup@remote-server sudo zfs receive backup/data

Pour les envois incrémentaux :

sudo zfs send -i tank/data@snap-20250722-0900 tank/data@snap-20250722-1200 | ssh backup@remote-server sudo zfs receive backup/data

Automatisation avec script et cron

Créez /usr/local/bin/zfs-replication.sh :

#!/bin/bash
SNAP="snap-$(date +%Y%m%d-%H%M)"
zfs snapshot tank/data@$SNAP
LAST=$(zfs list -t snapshot -o name -s creation | grep tank/data@snap- | tail -2 | head -1)
zfs send -i $LAST tank/data@$SNAP | ssh backup@remote-server sudo zfs receive backup/data

Rendez-le exécutable :

sudo chmod +x /usr/local/bin/zfs-replication.sh

Ajoutez une tâche cron :

0 */6 * * * root /usr/local/bin/zfs-replication.sh

Astuce : Configurez une notification par email en fin de script pour valider la réussite.

Surveillance et notification

Vérifiez la réplication et l’intégrité :

ssh backup@remote-server sudo zfs list tank/data

Mettez en place un rapport périodique avec mail ou un service externe.

Conclusion

Les snapshots ZFS et la réplication native constituent une solution de sauvegarde fiable et efficace pour les environnements Linux professionnels, sans nécessiter d’outil tiers.

Besoin d'aide sur ce sujet ?

Notre équipe d'experts est là pour vous accompagner dans vos projets.

Contactez-nous

Articles similaires qui pourraient vous intéresser