Résumé des épisodes précédents!!

Dans le premier épisode, le héros[1] avait décidé de recycler son vieux disque de 80Go pour en faire un miroir pour le beau, jeune et prometteur[2] disque de 160 gigues. A la fin de l'épisode précédent, le Geom vert avait fracassé le vieux disque tel un chevalier Jedi en fin de carrière à l'aide d'un simple glabel.

Tout n'est pas perdu!!

Alors que l'on croyait que cette attaque portée par Geom aurait sa peau, un simple débranchement du vieux disque permit à FreeBSD de rebooter tranquille. Ouf!! Toutes les données du héros sont saines et sauves. La partition WinDOS créée autrefois n'avait rien non plus.

Il faut sauver le kernel FreeBSD!!

Sachant le nouveau disque en bon état mais ayant remarqué que le BSD ne voudrait plus redémarrer en présence d'un vieux disque crapuleux[3], le héros[4] fit appel à un super-héros de la mythologie, le Slax. Ce dernier ne chopant que dalle aux partoches UFS, il lui fut facile de démarrer en compagnie des 2 disques !
Une fois démarré, il put recopier les données WinDOS du vieux disque vers le jeune.
Une fois l'opération de Slax effectuée, le héros changea l'ordre des disques via la configuration de leurs cavaliers respectifs[5]

La fraîche copie de la partition WinDOS fut booté pour vérifier que le héros pouvait toujours jouer à Sub Command.
Ceci fait, le Slax, dont la puissance n'a d'égale que la simplicité, put aisément raser le vieux disque grâce à Dédé :


dd if=/dev/zero of=/dev/hdb bs=1048576

Le vieux disque étant bien rasé, FreeBSD put remercier son ami Slax qui reparti dans sa pochette à CD et rebooter à nouveau... Sauf que les disques ayant changé, le fstab n'était plus à jour. FreeBSD laissa donc le héros démarrer en chargeant les partitions une à une. Ce dernier, n'écoutant que son courage, changea les entrées ad1sxx en ad0sxx dans le fichier /etc/fstab.
L'OS du bien étant chargé, il fut facile au héros de faire un fdisk sur le vieux disque pour le dédier entièrement à l'OS du bien sus-cité.
Ensuite, avant toute manipulation du Geom vert qui ne se laisse pas faire, le héros décida de sauvegarder l'ensemble des données faisant partie du futur miroir.

Dump et autres broutilles!!

La sauvegarde ou ''backup'' est une activité à part entière nécessitant un support externe à la machine d'origine. Notre héros, de part ses activités non extra-professionnelles, dispose d'un disque dur externe USB2.0 LaCie[6] qu'il décida de mettre à profit.
Un petit


umount /home

mount -r /home

dump -0f - /home | gzip >/mnt/LaCie/home.dmp.gz

Tout ceci semblait fonctionner jusqu'au message


no space left on device

??? Quoi ? on m'aurait menti !! Il ne s'agit pas d'un 160 ? Et si pourtant... Sauf que formaté en FAT32 ce qui limite la taille d'un fichier à 4Go. dommage pour une partition contenant 20Go de données... :-/
Le héros n'étant pourtant pas à court d'idée frappa de ses doigts aguerris, agiles et doux à la fois[7] l'incantation suivante :


dump -0f - /home | gzip >/mnt/LaCie/home.dmp.gz | split -b3G /mnt/LaCie/home.dmp.gz

Cela généra 6 fichiers répondant aux doux noms de :

  • home.dmp.gzaa
  • home.dmp.gzab
  • home.dmp.gzac
  • home.dmp.gzad
  • home.dmp.gzae
  • home.dmp.gzaf

et le vilain petit canard de 650Mo environ

  • home.dmp.gzag[8]


Le héros mit LaCie en sureté en la remerciant :

Gentil chien


Ah moi, Geom vert!!

Avant toute incantation du Geom vert au travers de gmirror, il faut vérifier le partitionnement des deux disques devant s'embrasser. Un coup de


bsdlabel -w ad1

Créa une partition[9] sur l'ensemble du disque.


bsdlabel ad1s1

donna au héros la taille de cette partition et lui permit ainsi de modifier la partition ad0s4d[10] de façon à obtenir la même taille.
Pour plus de commodité, le héros fit ensuite appel à Geom vert pour labelliser ses disques... Non sans peur compte tenu des derniers évènements liés à cette opération.


glabel label -v raid1-160 /dev/ad0s4d

glabel label -v raid1-80 /dev/ad1s1a

Ceci fait, il ne resta plus qu'à faire


newfs /dev/label/raid1-160

newfs /dev/label/raid1-80

Le héros fit alors la grande incantation du gmirror


gmirror label -v raid1 /dev/label/raid1-160

Il décida alors de restaurer ses données avec l'aide de son ami LaCie


mount /dev/mirror/raid1 /home

cd /home

gzcat /mnt/LaCie/home.dmp.gz* |  restore -ryf -


Le héros ajouta ensuite le options GEOM_MIRRROR à sa configuration noyau,le reconstruit et l'installa.

Une dernière édition du fstab


/dev/mirror/raid1             /home           ufs     rw              2       2

Tout était prêt pour redémarrer en paix.

Happy end!!

Ayant rebooté sans heurt, FreeBSD ne pouvait laisser le vieux disque de côté. Il fut décidé par un coup de


gmirror insert raid1 /dev/label/raid1-80

de le faire participer à la grande fête.


Le mot du réalisateur!!

Quelques scènes d'une rare violence ont été coupées au montage, notamment lorsque le restore se met à poser plein de questions sur l'opportunité d'arrêter la restauration à 30%, lorsque la partition /home avant newfs ne voulait plus se laisser lire ainsi que le passage insoutenable BIOS qui voyait le vieux disque comme un 40Go.
J'espère que cette version vous a plus quand même.

Notes

[1] Moi, moi et re-moi

[2] Quel beau métier professeur!!

[3] Désolé, j'ai pas trouvé d'autre adjectif

[4] Moi au cas où...

[5] Qui surgirent du fond de la nuit... Mais c'est une autre histoire...

[6] Sauf que moi, c'est un 160Go ?

[7] J'en vois quelques unes qui sourient et elles ont raison :D

[8] Pote de Gzig}}

[9] au sens BSD, voir

[10] A savoir /home