La sauvegarde\/restauration sous FreeBSD  
 

 

Présentation des outils
Dump
Restore
Utilisation à distance
Restauration d'un systeme complet
Références


1 - Présentation des outils

Il existe beaucoup d'outils pour effectuer des sauvegardes, gratuits ou payant. Parmi eux, il existe deux commandes du système UNIX qui le permettent aussi : dump et restore.

A - Dump

Description
Il examine les fichiers d'un système de fichiers ou d'un répertoire, puis, il décide des fichiers à sauvegarder. Ces derniers sont copiés sur un volume de sauvegarde (disque dur, bande magnétique, ...) pour y être sauvegarder.
Dump est capable, à la réception d'un indicateur de fin de média, de poursuivre la sauvegarde sur un autre volume. Ils ont par défaut le même nom de volume. La liste des arguments doit correspondre exactement, en ordre et en nombre, aux options des arguments.

>dump 0sd argument-de-s argument-de-d système de fichier

Options

-[0-9] : spécifie le niveau de la sauvegarde. Le niveau 0 (niveau par défaut) correspond à une sauvegarde complète du système de fichiers. A chaque niveau (0, 1, ...,9), dump ne sauvegarde que les fichiers qui ont été modifiés depuis la dernière sauvegarde de niveau inférieure ou égale.

-f : spécifie le fichier qui stockera la sauvegarde; ce fichier peut être spécial (partition, bande, ...). On peut utiliser une liste de nom de fichier, séparés par une virgule ( user @ machine:fichier, machine:fichier, fichier ). Si cette option est utilisée, son argument doit se trouver avant le système de fichier à sauvegarder (cf. exemple ci dessous). La valeur « - » désigne la sortie standard.

-u : met à jour le fichier /etc/dumpdates après une sauvegarde réussie. Le format de ce fichier est compréhensible :
•     une entrée de système de fichiers par niveau de sauvegarde
•     il se compose de trois champs : "nom du système de fichiers" "niveau d'incrément" "date au format ctime"
l'option -D permet de spécifier un autre emplacement pour dumpdates

-L : précise à dump qu'il va utiliser une partition montée. Cette option est ignorée pour les fichiers en lecture seule ou si le système est démonté. Pour cela, il réalise un snapshot qu'il met dans ~/.snap

-a : force dump à écrire sur le volume de sauvegarde et il ne s'arrêtera que lors de la réception d'un fin de média

#sauvegarde totale de la partition racine dans le fichier /mnt/sav/sav_1
>dump -0Lua -f /mnt/sav/sav_1 /
#sauvegarde de niveau 1 de la partition (non montée) contenant les log dans le fichier /mnt/sav/sav_1
>dump -1ua -f /mnt/sav/sav_log /log

B - Restore

Description
C'est la commande qui restaure les sauvegardes faites avec dump. Elle fonctionne aussi à travers le réseau. Vous devez restaurer chaque niveau dans l'ordre numérique, en commençant par 0. Restore place les fichiers extraits dans le répertoire courant. Il faut donc recréer un système de fichier neuf pour accueillir la restauration.
Enfin, il ne faudra pas oublier après de refaire un dump de niveau 0 car dump se base sur les numéros d'inode du disque dur; or, pendant la restauration, les inodes sont attribués séquentiellement. Tout comme pour dump, les arguments doivent apparaître dans l'ordre indiqué par les options correspondantes.

Options
NB: les quatre options qui suivent sont incompatibles entre elles! Il faut en choisir une et une seule à la fois.

-r : lit et restaure le fichier de sauvegarde complet. C'est une option très utile pour restaurer une sauvegarde de niveau > 1.

-x : extrait tous les fichiers et répertoires listés pour les placer dans le répertoire courant

-i : c'est le mode interactif. C'est la méthode la plus aisée pour restaurer un petit nombre de fichier. Dans ce mode, on a à disposition un certain nombre de commandes nous permettant de manipuler la sauvegarde (telles que add, delete, extract, ls, help,...)

-t : liste le contenu de la sauvegarde. Si un nom de fichier suit cette option, alors restore vérifiera la présence du fichier dans le volume.

-f : spécifie le nom de fichier ou du périphérique contenant la sauvegarde. Le « - » désigne l'entrée standard.

-y : force restore à continuer lorsqu'il rencontre des mauvais blocs.

#restauration des données contenues dans la sauvegarde /mnt/sav/sav_1 dans le répertoire courant
>restore -rf /mnt/sav/sav_1

#restauration du fichier /etc/motd contenu dans la sauvegarde /mnt/sav/sav_11 dans le répertoire courant
>restore -f /mnt/sav/sav_11 -x /etc/motd

2 - Utilisation à distance

Pour des raisons de sécurité, on utilisera le protocole ssh pour toutes les communications et les transferts via le réseau. Il faut absolument que le réseau soit correctement configuré et fonctionnel.

Cela nécessite la création de couple de clés de type dsa ou rsa. L'idée est la suivante: on met la clef publique sur la machine distante et toute machine qui se présente avec la clef privée est acceptée sans mot de passe : la clef privée est validée par la clef publique (cf. Thème sur SSH/SCP).

Enfin, d'autres raisons de sécurité font qu'un utilisateur , que je nomme opérateur, soit chargé des sauvegardes et des restaurations. Il faut donc que son compte soit créé et que les droits sur les programmes et partitions mis en cause soient configurés.

Ce n'est qu'une fois cette configuration faite que l'on peut passer à la sauvegarde.

La copie vers le serveur de sauvegarde se fera via la commande scp.

A - la sauvegarde

Je pars du principe que je fais d'abord mon dump, je le compresse puis je l'envoie sur le serveur de sauvegarde. Bien sur, toutes ces commandes peuvent être mises à la suite. De plus, je suppose que la partition /mnt/sav a suffisamment de place pour qu'on puisse y effectuer nos opérations.

#sauvegarde totale de la racine vers /mnt/sav/sav_1
>dump -0Lua -f /mnt/sav/sav_1 /

#compression de sav_1
>gzip --best -cf /mnt/sav/sav_1 > sav_1.gz

#la copie du fichier via l'utilisateur qui a des droits restreints
>scp /mnt/sav/sav_1 operateur@machine_distante:CHEMIN_de_SAUVEGARDE

B - la restauration

Pour la restauration, il faut que ssh soit configuré.

#restauration complète
> restore -rf operateur@serveur:/mnt/sav/sav_1

#restauration partielle
> restore -f operateur@serveur:/mnt/sav/sav_1 -x /etc/fstab

3 - Restauration d'un système complet

Pour cela, nous avons besoin d'amorcer l'ordinateur : plusieurs outils, dont notamment démarrer sur les disquettes de secours de FreeBSD. Ce lien http://www.freebsddiary.org/disaster.php présente (en anglais) comment les créer.

Une fois le nouveau disque installé et les disquettes créées,
1) nous démarrons l'ordinateur sur les disquettes de boot et de root.
2) A l'écran « sysinstall », choisir « Configure »
3) Penser à configurer le réseau...
4) Choisir « FDISK », puis le disque concerné puis appuyé sur les touches « a » (valider tous les écrans) puis « w » . Nous créons ainsi un partitionnement standard du disque. Puis, appuyez sur la touche « q »: vous retournez à l'écran précédent.
5) choisir « Label » . appuyez sur « a », « w » et « q » puis « exit »
6) A l'écran « sysinstall », choisir « fixit » puis « floppy »
7) Insérer la disquette fixit puis suivre les indications à l'écran.
8) sur la console, vous pouvez utiliser la commande restore

4 - Références

Sur les BSD et Unix
• "BSD, Les cahiers de l'admin", E. Dreyfus. Eyrolles, est une présentation du système BSD en prenant appui sur la distribution NetBSD
• "Utilisation et administration du système UNIX", Traité des nouvelles technologies, série informatique, Christian Pelletier, HERMES : page 329 et suivantes
• « Absolute BSD—The Ultimate Guide to FreeBSD », Michel Lucas, No Starch Press, est le livre décrivant FreeBSD, écrit par les concepteurs du projet.
• www.freebsd.org c'est le site du projet FreeBSD
• www.unix.org c'est le site d'UNIX (Open Group)
• www.ugu.com, un site pour les administrateurs UNIX, du débutant à l'expert
• http://www.freesbie.org/ vous dira tout au sujet du liveCD du même nom
• http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/index.html contient le manuel de l'utilisateur de FreeBSD

Sur la sauvegarde

• "Unix backup and recovery", W. Curtis Preston, O'Reilly & Associates : c'est LA référence. Il traite de tous les aspects liés à la sauvegarde sous UNIX. Malheureusement, il n'est qu'en anglais... Mais il est très complet (il aborde même la sauvegarde de bases de données)
• "Les bases de l'administration système", Aeleen Frish, O'Reilly : c'est un livre très complet sur l'administration en général. Il traite de la sauvegarde à partir de la page 725 et de dump/restore à partir de la page 749 et 756 respectivement.

• Une autre source (en anglais) est le site www.storagemountain.com ou www.backupcentral.com (les deux adresses pointent sur le même site) présente entre autre des solutions de stockages et de sauvegarde; Il est associé au livre de W. Preston.

• www.amanda.org : c'est un logiciel de sauvegarde fonctionnant sur le modèle client/serveur.

• Et bien entendu les pages man de dump et restore de votre distribution.

Lionel FÉLICITÉ - 27/01/2006
 

-= From guill.net =-