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.