1 sept. 2010

Reconstruction d'un RAID 1 logiciel sous Linux

Lire la suite...

Depuis maintenant plus d'un an, lors de l'achat de ma machine actuelle de bureau, j'ai décidé de configurer mes disques durs en RAID 1. Cela n'évite pas d'avoir un besoin de sauvegarde, mais ça aide beaucoup au niveau de la conscience. Et c'est quand l'un des disques ralentit tout le système, et émet un "clac" bien sonore à chaque écriture qu'on se dit que bon, c'était vraiment une bonne idée, le RAID.

Donc, on retire le disque, l'OS couine un peu et envoie des mails parce que mon raid est dégradé. Et ensuite, on court acheter un disque dur. J'ai choisi d'acheter le même modèle que le défectueux, et de même capacité. Je rebranche le nouveau disque dans la machine à la place de l'ancien, je démarre, reçois à nouveau un mail...

Et ensuite? Il faut recréer les partitions, et les ajouter au raid pour que la reconstruction se fasse. Pour une raison que j'ignore, lors de l'installation, Fedora 12 n'a pas alloué un nombre entiers de cylindres à mes partitions (je suis depuis passé à la 13). Du coup, tenter de recréer les partitions est une véritable galère... Je pense l'espace d'un instant à cloner mon disque avec dd. Le problème, c'est que les disques durs ayant une capacité d'un téra-octet, je ne suis pas couché.

La solution vient de chez Ikoula, et consiste à utiliser sfdisk pour reproduire la table des partitions, et ensuite ajouter les partitions au RAID. Petite différence toutefois, il m'a fallu réclamer à sfdisk de forcer l'écriture de la table, sans doute à cause de cette histoire de cylindres :

[root@bloodhoof ~]# sfdisk --dump /dev/sda | sfdisk --force /dev/sdb 

Je dispose de deux arrays RAID, donc pour les reconstruire :

[root@bloodhoof ~]# mdadm --manage --add /dev/md0 /dev/sdb1
[root@bloodhoof ~]# mdadm --manage --add /dev/md1 /dev/sdb3 

Trois heures plus tard, le RAID est reconstruit ! Je peux à nouveau dormir tranquille.

21 fév. 2008

fichue option de fdisk

genre, pas très harmonieux tout ça

Lire la suite...

Je range ce billet dans "Linux et Logiciels libres" mais ça pourrait aller dans "Humeur"; lorsque je lance fdisk en mode interactif, voilà comment cela se passe :

root@lutgholein:~ #fdisk /dev/hda

Le nombre de cylindres pour ce disque est initialisé à 36483.
Il n'y a rien d''incorrect avec cela, mais c'est plus grand que 1024,
et cela pourrait causer des problèmes en fonction pour certaines configurations:
1) logiciels qui sont exécutés à l'amorçage (i.e., vieilles versions de LILO)
2) logiciels d'amorçage et de partitionnement pour d'autres SE
   (i.e., DOS FDISK, OS/2 FDISK)

Commande (m pour l'aide): p

Disque /dev/hda: 300.0 Go, 300090728448 octets
255 heads, 63 sectors/track, 36483 cylinders
Unités = cylindres de 16065 * 512 = 8225280 octets

Périphérique Amorce    Début         Fin      Blocs    Id  Système
/dev/hda1   *           1          12       96358+  83  Linux
/dev/hda2              13         152     1124550   82  Linux swap / Solaris
/dev/hda4             153       36483   291828757+   5  Extended
/dev/hda5             153        1197     8393931   83  Linux
/dev/hda6            1198        9964    70420896   8e  Linux LVM
/dev/hda7            9965       36483   213013836   8e  Linux LVM

Commande (m pour l'aide):

On voit bien qu'on utilise la lettre "p" pour "print", afficher la table des partitions. Si par contre je veux juste afficher la table des partitions sans rien faire d'autre, en mode non-interactif, on lance fdisk de cette manière :

root@lutgholein:~ #fdisk -l /dev/hda

Disque /dev/hda: 300.0 Go, 300090728448 octets
255 heads, 63 sectors/track, 36483 cylinders
Unités = cylindres de 16065 * 512 = 8225280 octets

Périphérique Amorce    Début         Fin      Blocs    Id  Système
/dev/hda1   *           1          12       96358+  83  Linux
/dev/hda2              13         152     1124550   82  Linux swap / Solaris
/dev/hda4             153       36483   291828757+   5  Extended
/dev/hda5             153        1197     8393931   83  Linux
/dev/hda6            1198        9964    70420896   8e  Linux LVM
/dev/hda7            9965       36483   213013836   8e  Linux LVM

Donc on a "l" pour "list", lister. Ok, les deux se valent, mais c'est quand même casse-pied, je tente régulièrement des fdisk -p /dev/nomdudisque et me prend un message d'erreur dans la figure ! C 'est casse-pied au possible !

Et pour couronner le tout, le fdisk de l'OS à la Pomme se comporte d'une autre manière !

nils@darkmoon:~ $sudo fdisk /dev/disk0
Password:
Disk: /dev/disk0        geometry: 14593/255/63 [234441648 sectors]
Signature: 0xAA55
         Starting       Ending
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
 1: EE 1023 254  63 - 1023 254  63 [         1 -     409639] <Unknown ID>
 2: AF 1023 254  63 - 1023 254  63 [    409640 -   62652416] HFS+        
*3: 07 1023 254  63 - 1023 254  63 [  63328230 -   62460720] HPFS/QNX/AUX
 4: 83 1023 254  63 - 1023 254  63 [ 125788950 -   30716280] Linux files*

Quelle embrouille ;-)

Propulsé par Dotclear