werk.feub.net

Icon

Mémo de Fabien Amann à propos de Mac, Fedora et caetera

Ajouter un disque à une pile RAID 1

Depuis hier edoras ma vieille config qui me sert de serveur fourre-tout sous Fedora 11 ne démarrait plus. J’avais depuis un certains temps un disque qui jouait du grattoir à faire un bruit pas possible qui normalement devrait alerter n’importe qui qu’il faut s’en occuper. Mais bon, j’ai laissé courir en me disant que ça allait bien tenir et que je regarderais plus tard. J’ai attendu trop longtemps.

Je passe sur les détails du comment du pourquoi je m’en suis dépatouillé pour récupérer mes données (229Go de photos et de musique) sur du LVM réparti sur 2 disques avec un disque marqué inexistant. Mais j’ai réussi.
Edoras est d’une part un vieux coucou (Sempron 2400+ avec 1Go de RAM), mais très bien pour un petit serveur qui démarre en niveau 3. Mais c’est aussi une usine à gaz qui comporte 5 disques : un disque système avec 2 partitions /boot et l’autre en LVM (swap, root et home), un VGdata de 380Go sur 2 disques et un VGraid qui comme son l’indique est un RAID1 sur deux disques SATA de 500Go. Non seulement, j’ai eu ce problème d’inconsistance du VGdata, mais j’avais un des disques du RAID déconnecté. Et ne me demandez pas pourquoi, ce deuxième disque avec un identifiant de partition de type Linux LVM (8e) et non pas Linux RAID auto (fd). Je l’ai donc ré-attribué l’id du système de fichiers comme étant fd. Et j’ai du ré-ajouter le disque au RAID pour le resynchroniser.

Ajout du disque à la pile raid md127 :

# mdadm --add /dev/md127 /dev/sde1
mdadm: added /dev/sde1

Voilà, la synchronisation doit commencer toute seule :

[edoras@edoras ~]# cat /proc/mdstat 
Personalities : [raid1] 
md127 : active raid1 sde1[2] sdd1[0]
      488383936 blocks [2/1] [U_]
      [>....................]  recovery =  2.7% (13261248/488383936) finish=137.9min speed=57399K/sec
 
unused devices: <none>

Plus qu’une bonne 130aine de minutes à attendre pour avoir ses données sécurisées de nouveau.

Ajouter un disque dur P-ATA

Petit mémo pour ajouter un disque dur à sa machine. C’est une procédure plutôt générale à GNU/Linux, mais pour info elle à été réalisée sur une Fedora 10.

Pour étendre la capacité de mon vieux serveur, j’ai acquis une carte PCI SATA RAID qui se négocie pour une bouchée de pain. Cette carte possède outre les 3 connecteurs SATA, un connecteur IDE. Voulant rapidement tester cette carte, son chipset (VT6421) étant reconnu sans problème, j’y ai ajouté un petit disque IDE de 80Go. J’en profite donc pour écrire ce petit tuto.

Vérification de la présence du disque

Cette machine possède déjà 3 disques, un ls -l /dev/sd* doit donc m’en afficher un quatrième :

$ ls -l /dev/sd*
brw-rw---- 1 root disk 8,  0 déc. 23 23:29 /dev/sda
brw-rw---- 1 root disk 8,  1 déc. 23 23:29 /dev/sda1
brw-rw---- 1 root disk 8,  2 déc. 23 23:29 /dev/sda2
brw-rw---- 1 root disk 8,  3 déc. 23 23:29 /dev/sda3
brw-rw---- 1 root disk 8, 16 déc. 23 23:29 /dev/sdb
brw-rw---- 1 root disk 8, 17 déc. 23 23:29 /dev/sdb1
brw-rw---- 1 root disk 8, 32 déc. 23 23:29 /dev/sdc
brw-rw---- 1 root disk 8, 33 déc. 23 23:29 /dev/sdc1
<strong style="color:yellow">brw-rw---- 1 root disk 8, 48 déc. 23 23:49 /dev/sdd</strong>

Partitionnement

L’étape suivant consiste à le partitionner. Dans mon cas, je ne crée qu’une seule partition de tout le disque. Voici les étapes avec fdisk, les actions étant en gras. A tout moment dans fdisk vous pouvez taper m pour afficher l’aide sur les commandes disponibles.

# <strong style="color:yellow">fdisk /dev/sdd</strong>
Le nombre de cylindres pour ce disque est initialisé à 9964.
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): <strong style="color:yellow">p</strong>
Disque /dev/sdd: 81.9 Go, 81964302336 octets
255 heads, 63 sectors/track, 9964 cylinders
Units = cylindres of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0f800000
Périphérique Amorce    Début         Fin      Blocs    Id  Système
Commande (m pour l'aide): <strong style="color:yellow">n</strong>
Action de commande
e   étendue
p   partition primaire (1-4)
<strong style="color:yellow">p</strong>
Numéro de partition (1-4): <strong style="color:yellow">1</strong>
Premier cylindre (1-9964, par défaut 1):
Utilisation de la valeur par défaut 1
Last cylindre, +cylindres or +size (1-9964, par défaut 9964):
Utilisation de la valeur par défaut 9964
Commande (m pour l'aide): <strong style="color:yellow">p</strong>
Disque /dev/sdd: 81.9 Go, 81964302336 octets
255 heads, 63 sectors/track, 9964 cylinders
Units = cylindres of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0f800000
Périphérique Amorce    Début         Fin      Blocs    Id  Système
/dev/sdd1               1        9964    80035798+  83  Linux
Commande (m pour l'aide): <strong style="color:yellow">w</strong>
La table de partitions a été altérée!
Appel de ioctl() pour relire la table de partitions.
La nouvelle table sera utilisé lors du prochain réamorçage.
Synchronisation des disques.

Le disque est maintenant prêt à être formaté :

Formatage

Celui-ci va simplement être fait en ext3 par cette commande :

# <strong style="color:yellow">mkfs.ext3 /dev/sdd1</strong>
mke2fs 1.41.3 (12-Oct-2008)
Étiquette de système de fichiers=
Type de système d'exploitation : Linux
Taille de bloc=4096 (log=2)
Taille de fragment=4096 (log=2)
5005312 i-noeuds, 20008949 blocs
1000447 blocs (5.00%) réservés pour le super utilisateur
Premier bloc de données=0
Nombre maximum de blocs du système de fichiers=0
611 groupes de blocs
32768 blocs par groupe, 32768 fragments par groupe
8192 i-noeuds par groupe
Superblocs de secours stockés sur les blocs :
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424
Écriture des tables d'i-noeuds : complété
Création du journal (32768 blocs) : complété
Écriture des superblocs et de l'information de comptabilité du système de
fichiers : complété
Le système de fichiers sera automatiquement vérifié tous les 33 montages ou
après 180 jours, selon la première éventualité. Utiliser tune2fs -c ou -i
pour écraser la valeur.

La partition est opérationnelle, il ne reste plus qu’à la monter. Pour ce faire, au préalable je crée un répertoire de montage data sous /mnt :

# mkdir /mnt/data
# mount /dev/sdd1 /mnt/data

Mon disque est accessible :

# df -h
Sys. de fich.         Tail. Occ. Disp. %Occ. Monté sur
/dev/mapper/VG1-LVroot
9,9G  3,6G  5,9G  38% /
/dev/mapper/VG1-LVhome
26G  3,2G   22G  13% /home
/dev/sdc1             145G  130G  7,1G  95% /backup
/dev/sdb1             184G  153G   22G  88% /data1
/dev/sda1             236M   22M  203M  10% /boot
<strong style="color:yellow">/dev/sdd1              76G  180M   72G   1% /mnt/data</strong>