www.ghislain.fr

Restauration, Sauvegarde, Migration
d'un système OpenBSD sur un disque dur externe



Je possède un serveur OpenBSD depuis la version 3.3, à 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 à la version 4.0, mes besoins é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 une 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 fichier 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. Débrancher 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


Deuxième 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.
 


FOURNIER Ghislain - www.ghislain.fr
 
 
nach oben