Restauration, Sauvegarde, Migration
d'un systeme OpenBSD sur un disque dur externe
Je possède un serveur OpenBSD depuis la version 3.3, a l'époque je l 'ai installé
sur un disque dur de 20 Go, j'ai évolué sur toutes les versions jusqu'à la 3.9.
avant de passer a la version 4.0, mes besoin étant sans cesse en augmentation je voulais changer de disque dur.
Je souhaitais installer les slices /,
swap, /tmp, /var, /usr sur un disque et le slice /home, sur un deuxième disque
de 80Go.
Auparavant, j'avais un disque de 20 Go IDE , presque plein, maintenant j'ai 2 disques SATA
, un pour le système, et l'autre pour le /home.
Je me suis inspiré de la
FAQ et des éléments d'Antoine Jacoutot sur la
ml openbsd-france, et après réflexion, voila
ce que ça donne :
Sauvegarde des slices sur disque dur
externe USB :
Sur
un disque dur externe USB de 40 Go, créer un partition A6 sur la totalité du
disque.
#
fdisk -e sd0
r
w
q
puis
créer un slice k de la totalité.
#
disklabel -E sd0
d a
a k
Enter
Enter
Enter
w
q
un p'tit coup de newfs pour formater le tout.
#
newfs /dev/sd0k
Script
de sauvegarde a exécuter sur le système actuel :
echo "
Starting Full Backup..."
mount /dev/sd0k /mnt
rm -f /mnt/sav_wd0*
/sbin/dump -0af /mnt/sav_wd0a /dev/rwd0a
/sbin/dump -0af /mnt/sav_wd0d
/dev/rwd0d
/sbin/dump -0af /mnt/sav_wd0e
/dev/rwd0e
/sbin/dump -0af /mnt/sav_wd0g
/dev/rwd0g
/sbin/dump -0af /mnt/sav_wd0h
/dev/rwd0h
echo
echo -n " Please
wait..."
ls -la /mnt/sav*
echo "Done."
Restauration à partir de fichiers sur
disque dur externe USB :
Démarrez
à partir du CD install/boot d'OpenBSD. Au menu, choisissez Shell. Connecter le
Disque dur Externe sur le port USB
Premier disque :
Créez
une partition primaire OpenBSD sur le nouveau disque :
#
fdisk -e wd0
Avec la commande disklabel, recréez votre table de partition
OpenBSD à l'intérieur de la partition primaire que vous venez de créer avec
fdisk. Par exemple :
#
disklabel -E wd0
N'oubliez pas la partition d'échange, swap,
référez-vous à
Utilisation de disklabel pour plus
d'informations.
>
p m
>
d a
>
a a
offset:
[3069360]
Enter
size:
[36030960]
1g
Rounding to
nearest cylinder: 307440
FS type:
[4.2BSD]
Enter
mount point:
[none]
/
>
a b
offset:
[3376800]
Enter
size:
[35723520]
1g
Rounding to
nearest cylinder: 614880
FS type: [swap]
Enter
>
a d
offset:
[3991680]
Enter
size:
[35108640]
5G
Rounding to
nearest cylinder: 245952
FS type:
[4.2BSD]
Enter
mount point:
[none]
/tmp
>
a e
offset:
[4237632]
Enter
size:
[34862688]
15G
Rounding to
nearest cylinder: 164304
FS type:
[4.2BSD]
Enter
mount point:
[none]
/var
>
a g
offset:
[4401936]
Enter
size:
[34698384]
15g
Rounding to
nearest cylinder: 4194288
FS type:
[4.2BSD]
Enter
mount point:
[none]
/usr
p m
>
q
Write new
label?: [y]
Enter
Formatage:
Utilisez la commande newfs pour créer un système de fichier
vierge sur chaque partition que vous venez de créer. Par exemple :
#
newfs /dev/rwd0a
#
newfs /dev/rwd0b
#
newfs /dev/rwd0d
#
newfs /dev/rwd0e
#
newfs /dev/rwd0g
Restauration :
Monter votre nouvelle partition racine / sur /mnt. Par
exemple :
#
mount /dev/wd0a /mnt
Monter votre disque externe (sd0k) sur /mnt2. Par exemple :
#
mount /dev/sd0k /mnt2
Allez dans le nouveau répertoire racine et démarrez la
procédure de restauration. Par exemple :
#
cd /mnt
#
restore -rf /mnt2/sav_wd0a
Vous aurez besoin de rendre ce disque bootable,
inspirez-vous la commande suivante pour y inscrire un nouveau MBR. Par exemple
:
#
fdisk -i wd0
En plus d'inscrire un nouveau MBR, vous aurez besoin
d'installer les blocs de démarrage afin de pouvoir lancer la machine. Voici un
bref exemple :
#
cp /usr/mdec/boot /mnt/boot
#
/usr/mdec/installboot -v /mnt/boot /usr/mdec/biosboot wd0
Votre nouveau système de fichiers racine devrait être
suffisamment prêt pour que vous puissiez démarrer dessus et continuer de
restaurer le reste de vos systèmes de fichiers. Puisque votre système
d'exploitation n'est pas encore complet, soyez sûrs de redémarrer en mode
single-user. A l'invite de commande, effectuez la procédure suivante afin de
démonter et redémarrer le système :
#
umount /mnt
#
umount /mnt2
#
halt
Retirez le CD d'install du lecteur et redémarrez votre
machine. Debrancher le Disque Externe
A l'invite de
commande du boot d'OpenBSD, lancez les commandes suivantes :
boot>
bsd -s
La commande "bsd -s" ordonnera au
noyau de démarrer en mode single-user qui ne nécessite que le système de
fichiers racine (/).
Restauration
/var /usr /home :
En admettant que vous ayez effectué correctement les étapes
précédentes et que tout se soit bien passé, vous devriez vous retrouver à une
invite de commande vous demandant le chemin d'accès à un shell ou d'appuyer
sur entrée. Appuyez sur entrée pour utiliser sh. Ensuite, vous devrez remonter
la racine en mode r/w plutôt qu'en lecture seule. Lancez la commande suivante :
#
mount -u -w /
Brancher votre Disque Externe puis monter le (sd0k) sur
/mnt2. Par exemple :
#
mount /dev/sd0k /mnt
Une fois la racine en mode r/w, vous pourrez continuer à
restaurer vos autres systèmes de fichiers. Par exemple :
(table de montage avancée)
#
mount /dev/wd0e /var; cd /var; restore -rf /mnt/sav_wd0e
#
mount /dev/wd0d /usr; cd /usr; restore -rf /mnt/sav_wd0g
Deuxieme Disque :
En vous aidant de la commande
fdisk(8),
créez une partition primaire OpenBSD sur le nouveau disque. Par exemple :
#
fdisk -e wd1
Avec la commande disklabel, recréez votre table de partition
OpenBSD à l'intérieur de la partition primaire que vous venez de créer avec
fdisk. Par exemple :
#
disklabel -E wd1
(N'oubliez pas la partition d'échange, swap,
référez-vous à
Utilisation de disklabel pour plus
d'informations)
>
p m
>
d a
>
a h
offset:
[8596224]
Enter
size:
[30504096]
Rounding to
nearest cylinder: 8388576
FS type:
[4.2BSD]
Enter
mount point: [none]
/home
Write new label?: [y]
Enter
#
newfs /dev/rwd1h
#
mount /dev/wd1h /home; cd /home; restore -rf /mnt/sav_wd0h
A la place, vous pourriez utiliser "
restore rvsf" ou juste rsf pour voir le nom des fichiers extraits de la sauvegarde.
Attention il faut modifier le fichier /etc/fstab:
/dev/wd0a / ffs rw 1 1
/dev/wd1h /home ffs rw,nodev,nosuid 1 2
/dev/wd0d /tmp ffs rw,nodev,nosuid 1 2
/dev/wd0g /usr ffs rw,nodev 1 2
/dev/wd0e /var ffs rw,nodev,nosuid 1 2
Pour terminer, après avoir restauré tous vos systèmes de
fichiers sur le disque, redémarrez en mode multi-utilisateurs. Si tout s'est
déroulé comme prévu, votre système devrait se retrouver dans l'état dans lequel
il se trouvait à la date de votre sauvegarde la plus récente et être totalement
fonctionnel.