1/ Prérequis
- Un CD d'install de n'importe quelle distribution (ce procédé a été testé avec un CD Debian et un CD Mandrake, mais il devrait s'appliquer sans accroc avec un CD Red Hat).
- Un (ou plusieurs) media de sauvegarde : CD-vierge, bande DAT.
Note : cette procédure a été testée sur un système simple avec un disque dur IDE "classique". Je ne garantis pas son fonctionnement sur un système utilisant du RAID et/ou des disques SCSI (mais rien ne vous empêche de la tester et de me tenir informé).
2/Installation du système
Je ne parlerais pas de l'installation du système en elle-même, ce n'est pas le but de ce document. Sachez simplement que le système doit OBLIGATOIREMENT avoir une partition /boot. Cette procédure a été testée avec le partitionnement suivant :
/dev/hda1 -> swap (256Mo)
/dev/hda2 -> /boot (32Mo)
/dev/hda3 -> / (128Mo)
/dev/hda5 -> /usr (1300Mo)
/dev/hda6 -> /home (3000Go)
Le back-up du système doit être fait après la dernière manipulation effectuée sur le noyau. Le fait de recompiler ou patcher le noyau vous obligera à refaire un back-up.
3/Back-up
Avant de se lancer, il faut s'assurer que l'on dispose de suffisament d'espace disque. Sachez que l'on peut stocker l'archive sur la partition à sauver mais cela n'est pas recommandé. Personnellement, je construit l'archive dans /dev/hda6, à vous d'adapter vôtre procédure en conséquence.
Nous avons plusieurs options pour effectuer la sauvegarde :
- Compressé ou non. Une sauvegarde compressé occupe moins d'espace disque mais prend plus de temps à traiter. Recommandé pour les systèmes dont la taille est supérieure à 800Mo (ce qui donnera une archive non compressée de plus de 700Mo), lorsque l'on souhaite stocker l'archive sur un CD de 700Mo. A noté qu'au dela de 1.5 Go, on peut être à peu sûr que l'archive compressée occupera plus de 700Mo.
- En simple ou multi-volume. On optera pour une sauvegarde multi volume lorsque l'archive dépasse la capacité d'un média, afin de pouvoir stocker la sauvegarde sur plusieurs CDs par exemple.
A vous d'adopter une stratégie de sauvegarde en fonction de votre système. Je vous donne mon exemple :
Mon système "pése" 740Mo. J'ai opté pour un simple volume non compressé, j'ai donc obtenu une archive de 625Mo que j'ai pu stocké sur un CD.
Vous avez défini votre stratégie de sauvegarde? Nous sommes donc prêts!
-Démarrage sur un CD d'install. Pour l'exemple j'ai pris un CD Debian, mais le test avec un CD de Mandrake a été tout aussi concluant.
-Accéder à un terminal. Pour cela il faut démarrer en mode "rescue" (Mandrake, Red Hat) ou lancer l'installation et partir directement dans "Go to Console" (Debian)
-créer les répertoires "hôtes" qui vont accueillir nos partitions. N'oubliez pas que vous démarrez sur un RAMdrive.
mkdir /mnt
mkdir /mnt/root
mkdir /mnt/root/usr
mkdir /mnt/target
-Monter les partitions systèmes à sauvegarder (sans /boot!)
mount /dev/hda3 /mnt/root (/dev/hda3 correspondant à /)
mount /dev/hda5 /mnt/root/usr (/dev/hda5 correspondant à /usr)
-Monter la partition "hôte" sur laquelle nous allons stocker notre sauvegarde
mount /dev/hda6 /mnt/target (/dev/hda6 correspondant à /home)
et là on attaque les choses sérieuses :
-Archiver le contenu de /mnt/root
tar cPf /mnt/target/system-backup.tar /mnt/root
L'option P permet de garder les permissions et les dates des fichiers. Voici l'équivalent compressé :
tar czPf /mnt/target/system-backup.tgz /mnt/root
Une fois la sauvegarde terminée on teste l'archive :
tar tf /mnt/target/system-backup.tar
La liste des fichiers ainsi que leurs propriétés (droits, dates, etc ... ) devrait défiler.
La sauvegarde est prête à être stockée sur un media...
4/ Restauration
Pour faciliter la restauration, je vous recommande fortement de rédiger un script dont voici un exemple :
#!/bin/sh
#restore.sh : restauration automatique d'un systeme linux
#On formate les partitions
mkfs.ext2 -j /dev/hda3
mkfs.ext2 -j /dev/hda5
#création des répertoires hotes
mkdir /mnt
mkdir /mnt/root
mkdir /mnt/root/usr
#On monte les partitions
mount /dev/hda3 /mnt/root
mount /dev/hda5 /mnt/root/usr
#decompression de l'archive
cd /; tar xf /mnt/cdrom/system-backup.tar
#On est propre : on demonte les partitions avant de rebooter
umount /dev/hda3
umount /dev/hda5
init 6
exit 0
Ce script doit être placé à la racine du CD de sauvegarde (dans le cas ou le média de sauvegarde est un CD, dans le cas d'une bande, il faudrait copier les deux fichiers sur une partition). Voici la marche à suivre pour restaurer en utilisant le script :
mkdir /cdrom
mount /dev/hdb /cdrom (Si votre lecteur de CDROM est /dev/hdb)
/cdrom/restore.sh
A la fin la machine repart, comme neuve.
----
Je viens de rediger ce howto apres avoir teste sur ma machine et ca marche. Mais je souhaite l'ameliorer, notamment remplacer le CD d'install par un CD de boot maison.
D'avance merci a ceux qui souhaitent y apporter des ameliorations.
# Re: HOW-TO : backup d'un système Linux
Posté par Slaanesh . Évalué à 3.
Waaaaaa t'en as de la palce toa :)
Allé on corrige: /dev/hda6 -> /home (3000Mo) et -1 ;)
[^] # Re: HOW-TO : backup d'un système Linux
Posté par astennu . Évalué à 1.
[^] # Re: HOW-TO : backup d'un système Linux
Posté par Jerome Herman . Évalué à 2.
C'est vraiment une config que tu utilise ou c'est la juste pour tester les back-up/restore ?
Kha
[^] # Re: HOW-TO : backup d'un système Linux
Posté par astennu . Évalué à 2.
>dans une optique serveur le / a 128 Mo ca me parait un peu juste
Tu m'étonnes! Voici le partitionnement de mon serveur (Debian Stable, il fait passerelle/firewall, Apache PHP/Mysql et Samba)
swap -> 128Mo
/ -> 400Mo
/var -> 2500Mo
C'est tout, et il tourne au poil!
# Re: HOW-TO : backup d'un système Linux
Posté par -=[ silmaril ]=- (site web personnel) . Évalué à 1.
ou un bete Alt-F2 depuis n'importe lequel de ces systemes .. enfin pour redhat et mandrake ct le cas pdt un momment je doute que cela ai change et pour debian c tjrs vrai.
pour le boot sur disquette/cd d'install lors de l'archivage je vois pas trops l'interet
si c pour ce que je pense un bete
tar cvPylf /dest/system-backup.tar / /usr
suffira (-l == --one-file-system)
> Sachez simplement que le système doit OBLIGATOIREMENT avoir une partition /boot.
pareil si c pour ne pas copier le contenu de /boot
un --exclude=boot suffirait meme s'il est dans le meme fs que /
tu peut meme te faire un fichier contenant la liste de ce que tu veut sauvegarder
sinon ne pas sauvegarder /boot pe dommage (pratique pour recuperer le kernel qui marchait a l'epoque) si tu utilise lilo il suffit de rajouter un appel a lilo a la fin du script
si tu utilise grub bein y a besoin de rien :)
[^] # Re: HOW-TO : backup d'un système Linux
Posté par astennu . Évalué à 1.
Si vraiment on n'exclut pas /boot :
Reboot sur le CD d'install.
Booter en mode rescue en montant la partition (par exemple rescue root=/dev/hda3), et lancer lilo une fois qu'on a la main.
En tout cas, merci pour ta contribution. :)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.