Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)

Restauration d’un dataset client ZFS

De AJLSM
Aller à la navigation Aller à la recherche

Restauration d’un dataset client ZFS (procédure sécurisée)

[modifier | modifier le wikicode]

Restaurer des données d’un dataset client à partir d’un snapshot ZFS sans risque de perte de données.

---

  • 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]

Le rollback remplace complètement l’état actuel du dataset.

zfs rollback data/clients/ad64-data@autosnap_2026-04-29_10:30:02_daily
  • 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

---

  • 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]
  • 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]

---

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

---

  • .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