Table of Contents

Sauvegarde et restauration des systèmes de fichiers XFS

Le package xfsdump contient les utilitaires xfsdump et xfsrestore.

xfsdump

xfsdump examine les fichiers d'un système de fichiers XFS, détermine quels fichiers doivent être sauvegardés et les copie sur le support de stockage. Toutes les sauvegardes créées à l'aide de xfsdump sont portables entre systèmes dotés d'architectures différentes. xfsrestore restaure une sauvegarde complète ou incrémentielle d'un système de fichiers XFS. On peut également restaurer des fichiers individuels et des hiérarchies de répertoires à partir de sauvegardes.

Contrairement à un instantané LVM, qui crée immédiatement un clone fragmenté d'un volume, xfsdump prend du temps pour créer une copie des données du système de fichiers.

On peut utiliser la commande xfsdump pour créer une sauvegarde d'un système de fichiers XFS sur un périphérique tel qu'un lecteur de bande ou dans un fichier de sauvegarde sur un autre système de fichiers. Une sauvegarde peut couvrir plusieurs supports physiques écrits sur le même périphérique et on peut écrire plusieurs sauvegardes sur le même support. On ne peut écrire qu'une seule sauvegarde dans un fichier. La commande ne remplace pas les sauvegardes XFS existantes trouvées sur un support physique. Il faut utiliser une commande appropriée pour effacer un support physique pour écraser les sauvegardes existantes.

Par exemple, la commande suivante écrit une sauvegarde de niveau 0 (de base) du système de fichiers XFS, /myxfs sur le périphérique /dev/st0 et attribue un libellé de session à la sauvegarde:

# xfsdump -l 0 -L "Backup level 0 of /myxfs `date`" -f /dev/st0 /myxfs

On peut effectuer des sauvegardes incrémentielles par rapport à une sauvegarde existante à l'aide de la commande suivante:

# xfsdump -l level -L "Backup level level of /myxfs `date`" -f /dev/st0 /myxfs

Une sauvegarde de niveau 1 n'enregistre que les modifications du système de fichiers depuis la sauvegarde de niveau 0, une sauvegarde de niveau 2 n'enregistre que les modifications apportées depuis la dernière sauvegarde de niveau 1, et ainsi de suite jusqu'au niveau 9.

Si on interromp une sauvegarde en tapant Ctrl-C et qu'on a pas spécifié l'option -J (supprimer l'inventaire de vidage) dans xfsdump , on peut reprendre à une date ultérieure en spécifiant l'option -R :

# xfsdump -R -l 1 -L "Backup level 1 of /myxfs `date`" -f /dev/st0 /myxfs

Dans cet exemple, le libellé de la session de sauvegarde de la session précédente interrompue est remplacé.

xfsrestore

Utiliser la commande xfsrestore pour rechercher des informations sur les sauvegardes effectuées d’un système de fichiers XFS ou pour restaurer des données à partir d’une sauvegarde.

La commande xfsrestore -I affiche des informations sur les sauvegardes disponibles, y compris l'ID de session et le libellé de la session.

Pour restaurer une session de sauvegarde spécifique à partir d'un support de sauvegarde, on peut spécifier l'ID de session ou le libellé de la session.

Par exemple, pour restaurer un système de fichiers XFS à partir d'une sauvegarde de niveau 0, en spécifiant l'ID de session:

# xfsrestore -f /dev/st0 -S c76b3156-c37c-5b6e-7564-a0963ff8ca8f /myxfs

En spécifiant l'option -r , on peut récupérer de manière cumulative toutes les données d'une sauvegarde de niveau 0 et des sauvegardes de niveau supérieur basées sur cette sauvegarde:

# xfsrestore -r -f /dev/st0 -v silent /myxfs

La commande cherche dans l'archive à la recherche de sauvegardes basées sur la sauvegarde de niveau 0 et invite à choisir laquelle restaurer. Après avoir restauré la sauvegarde sélectionnée, la commande se ferme. Il faut exécuter cette commande plusieurs fois, en sélectionnant tout d'abord de restaurer la sauvegarde de niveau 0, puis en effectuant des sauvegardes de niveau supérieur, y compris celle la plus récente dont on a besoin pour restaurer les données du système de fichiers.

Une fois la restauration cumulative d’un système de fichiers XFS terminée, il faut supprimer le répertoire housekeeping créé par xfsrestore dans le répertoire de destination.

On peut récupérer le contenu d'un fichier ou d'un sous-répertoire sélectionné à partir du support de sauvegarde, comme illustré dans l'exemple suivant, qui récupère le contenu de /myxfs/profile/examples dans /tmp/profile/examples à partir de la sauvegarde avec un libellé de session spécifié:

# xfsrestore -f /dev/sr0 -L "Backup level 0 of /myxfs Sat Mar 2 14:47:59 GMT 2013" \
  -s profile/examples /usr/tmp

On peut également parcourir une sauvegarde de manière interactive en spécifiant l'option -i :

# xfsrestore -f /dev/sr0 -i

Cette commande permet de parcourir une sauvegarde comme s’il s’agissait d’un système de fichiers. On peut modifier des répertoires, répertorier des fichiers, ajouter des fichiers, supprimer des fichiers ou extraire des fichiers d’une sauvegarde.

Copier l'intégralité d'un système de fichiers XFS

Pour copier l'intégralité du contenu d'un système de fichiers XFS sur un autre, on peut combiner xfsdump et xfsrestore , à l'aide de l'option -J pour supprimer le nettoyage habituel de l'inventaire de vidage effectué par les commandes:

# xfsdump -J - /myxfs | xfsrestore -J - /myxfsclone