Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
Restauration d’un dataset client ZFS
Restauration d’un dataset client ZFS (procédure sécurisée)
[modifier | modifier le wikicode]Objectif
[modifier | modifier le wikicode]Restaurer des données d’un dataset client à partir d’un snapshot ZFS sans risque de perte de données.
---
Principe
[modifier | modifier le wikicode]- Ne jamais faire de rollback direct sans vérification
- Toujours tester la restauration via un clone
- Valider les données restaurées avant toute action destructive
---
Étape 1 : Identifier le snapshot
[modifier | modifier le wikicode]Lister les snapshots du dataset :
zfs list -t snapshot | grep data/clients/ad64-data
Choisir le snapshot à utiliser, par exemple :
data/clients/ad64-data@autosnap_2026-04-29_10:30:02_daily
---
Étape 2 : Créer un clone (méthode sûre)
[modifier | modifier le wikicode]Créer un clone du snapshot :
zfs clone data/clients/ad64-data@autosnap_2026-04-29_10:30:02_daily data/restore/ad64-test
---
Étape 3 : Vérifier les données
[modifier | modifier le wikicode]- Accéder au clone monté
- Vérifier les fichiers
- Tester les données restaurées
Exemple :
ls -lah /data/restore/ad64-test
---
Étape 4 : Restauration des données
[modifier | modifier le wikicode]Deux possibilités :
4.1 Restauration partielle (recommandée)
[modifier | modifier le wikicode]Copier uniquement les fichiers nécessaires :
rsync -av /data/restore/ad64-test/chemin/fichier /data/clients/ad64-data/
---
4.2 Restauration complète (prudence)
[modifier | modifier le wikicode]Supprimer les données actuelles et recopier :
rsync -a --delete /data/restore/ad64-test/ /data/clients/ad64-data/
---
Étape 5 : Nettoyage
[modifier | modifier le wikicode]Supprimer le clone après validation :
zfs destroy data/restore/ad64-test
---
Procédure alternative : rollback direct (risqué)
[modifier | modifier le wikicode]Principe
[modifier | modifier le wikicode]Le rollback remplace complètement l’état actuel du dataset.
Commande
[modifier | modifier le wikicode]zfs rollback data/clients/ad64-data@autosnap_2026-04-29_10:30:02_daily
Attention
[modifier | modifier le wikicode]- Toutes les modifications après le snapshot sont perdues
- Action immédiate et non réversible sans autre snapshot
---
Workflow complet : snapshot → test → rollback
[modifier | modifier le wikicode]Étape 1 : Snapshot (manuel si besoin)
[modifier | modifier le wikicode]zfs snapshot data/clients/ad64-data@manual_test
---
Étape 2 : Clone du snapshot
[modifier | modifier le wikicode]zfs clone data/clients/ad64-data@manual_test data/restore/ad64-test
---
Étape 3 : Test
[modifier | modifier le wikicode]- Vérifier les fichiers dans le clone
- Tester les applications si nécessaire
---
Étape 4 : Décision
[modifier | modifier le wikicode]- Si OK → restaurer les données nécessaires
- Si KO → supprimer le clone
---
Étape 5 : Rollback (optionnel)
[modifier | modifier le wikicode]Si restauration complète nécessaire :
zfs rollback data/clients/ad64-data@manual_test
---
Étape 6 : Nettoyage
[modifier | modifier le wikicode]zfs destroy data/restore/ad64-test
---
Bonnes pratiques
[modifier | modifier le wikicode]- Toujours privilégier le clone avant rollback
- Ne jamais travailler directement sur le snapshot
- Vérifier l’espace disque avant clone
- Supprimer les clones après usage
- Documenter les opérations de restauration
---
Résumé
[modifier | modifier le wikicode]- Clone = méthode sûre
- Rollback = méthode rapide mais risquée
- Snapshot = point de restauration
- Sanoid = gestion automatique des snapshots
zfs list -t snapshot
Identifier et explorer un snapshot
[modifier | modifier le wikicode]Lister les snapshots avec date
[modifier | modifier le wikicode]zfs list -t snapshot -o name,creation -s creation | grep data/clients/ad64-data
Permet de voir clairement :
- le nom du snapshot
- sa date de création
---
Accéder au contenu d’un snapshot
[modifier | modifier le wikicode]Les snapshots sont accessibles via le dossier spécial .zfs/snapshot :
ls /data/clients/ad64-data/.zfs/snapshot/
Puis :
ls /data/clients/ad64-data/.zfs/snapshot/<nom_snapshot>/
---
Activer la visibilité si nécessaire
[modifier | modifier le wikicode]zfs set snapdir=visible data/clients/ad64-data
---
Comparer deux snapshots
[modifier | modifier le wikicode]zfs diff data/clients/ad64-data@snapshot1 data/clients/ad64-data@snapshot2
---
Comparer un snapshot avec l’état actuel
[modifier | modifier le wikicode]zfs diff data/clients/ad64-data@snapshot data/clients/ad64-data
---
Cas d’usage : restauration après suppression accidentelle
[modifier | modifier le wikicode]Situation
[modifier | modifier le wikicode]- Un utilisateur supprime un répertoire important à 11h15
- Le dernier snapshot horaire est à 11h00
---
Étape 1 : Identifier le bon snapshot
[modifier | modifier le wikicode]zfs list -t snapshot -o name,creation | grep ad64-data
Choisir le snapshot juste avant l’incident :
data/clients/ad64-data@autosnap_2026-04-29_11:00:00_hourly
---
Étape 2 : Vérifier le contenu
[modifier | modifier le wikicode]ls /data/clients/ad64-data/.zfs/snapshot/autosnap_2026-04-29_11:00:00_hourly/chemin/
---
Étape 3 : Restaurer uniquement les données nécessaires
[modifier | modifier le wikicode]rsync -av \
/data/clients/ad64-data/.zfs/snapshot/autosnap_2026-04-29_11:00:00_hourly/chemin/ \
/data/clients/ad64-data/chemin/
---
Étape 4 : Vérification
[modifier | modifier le wikicode]- Vérifier les fichiers restaurés
- Vérifier les droits
---
Étape 5 : Nettoyage
[modifier | modifier le wikicode]Aucun nettoyage nécessaire (le snapshot est géré par sanoid)
---
Cas d’usage avancé : analyse avant restauration
[modifier | modifier le wikicode]Comparer l’état avant/après
[modifier | modifier le wikicode]zfs diff \
data/clients/ad64-data@autosnap_2026-04-29_10:00:00_hourly \
data/clients/ad64-data@autosnap_2026-04-29_11:00:00_hourly
---
Interprétation
[modifier | modifier le wikicode]- Modèle:Code : fichier ajouté
- Modèle:Code : fichier supprimé
- Modèle:Code : fichier modifié
---
Bonnes pratiques
[modifier | modifier le wikicode]- Toujours explorer un snapshot avant restauration
- Privilégier une restauration partielle (rsync)
- Ne pas utiliser rollback sans analyse préalable
- Utiliser zfs diff pour comprendre les changements
- Vérifier la date du snapshot avant action
---
Résumé
[modifier | modifier le wikicode]- .zfs/snapshot permet d’explorer les snapshots
- Modèle:Code permet d’identifier le bon snapshot
- Modèle:Code permet d’analyser les changements
- Modèle:Code permet une restauration fine et sécurisée