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.

Modification du schéma de partitionnement d’edoras

Cette opération est lourde et longue, mais j’ai décidé de modifier le partitionnement de mon petit serveur edoras actuellement sous Fedora 10.
En effet, depuis de nombreuses années, j’utilisais un partitionnement classique, et depuis Cambridge, je suis passé à LVM (enfin!) et même au RAID 1 pour encore plus sécuriser mes sauvegardes photos. Le RAID a été ajouté avec deux disques non utilisés, mais il me restait deux autres disques avec une seule partition chacun sdb1 et sdc1 bourrés de données et montés de façon classique, respectivement en /data1 (200Go) et /backup (160Go), ces deux partitions étant utilisés en montages NFS sur mon réseau (et TRES solicités).

Avant :

$ df -h
Sys. de fich.         Tail. Occ. Disp. %Occ. Monté sur
/dev/mapper/VG1-LVroot
9,9G  3,7G  5,7G  40% /
/dev/mapper/VG1-LVhome
26G  853M   23G   4% /home
/dev/sdc1             145G   83G   54G  61% /backup
/dev/sdb1             184G  111G   64G  64% /data1
/dev/sda1             236M   29M  195M  13% /boot
/dev/mapper/VGraid-LVraid
459G  216G  220G  50% /raid

D’une part, cela me faisait beaucoup de montages (NFS) sur mes Mac alors que je pouvais – théoriquement – rassembler /backup et /data1 en un seul volume, et d’autre part, je désirais passer en full LVM pour plus de flexibilité.

La limitation des systèmes de fichiers classiques m’imposait d’avoir ces deux partitions séparées, celles-ci étant sur deux disques différents. C’est là que LVM montre sa puissance : la possibilité de créer un groupe de volumes sur les deux disques, soit au final avoir une seule partition virtuelle de 360Go unique sur les deux disques.

Après :

$ df -h
Sys. de fich.         Tail. Occ. Disp. %Occ. Monté sur
/dev/mapper/VG1-LVroot
9,9G  3,7G  5,7G  40% /
/dev/mapper/VG1-LVhome
26G  855M   23G   4% /home
/dev/mapper/VGdata-LVdata
331G  1,8G  312G   1% /mnt/data
/dev/sda1             236M   29M  195M  13% /boot
/dev/mapper/VGraid-LVraid
459G  275G  162G  63% /mnt/raid

Après avoir déplacé mes données sur un autre disque pour faire la modification, redéfini sdb1 et sdc1 en partition de type 8e (Linux LVM) dans fdisk, j’ai opéré comme suit pour ajouter un groupe de volumes VGdata contenant un unique volume logique LVdata de la totalité de l’espace disponible (je ne détaillerai pas, les étapes ayant été un peu mieux expliquées dans ce billet) :

# pvcreate /dev/sdb1
# pvcreate /dev/sdc1
# vgcreate -s 16M VGdata /dev/sdb1 /dev/sdc1
# lvcreate -l 21462 VGdata -n LVdata
# mkfs.ext3 /dev/VGdata/LVdata
# mkdir /mnt/data
# mount /dev/VGdata/LVdata /mnt/data

Ajout du montage dans fstab :

/dev/VGdata/LVdata	/mnt/data		ext3	defaults	1 2

Gérer une pile RAID et LVM sous Fedora 10

RAID est l’acronyme pour Redundant Array of Inexpensive Disks, c’est-à-dire « Matrice Redondante de Disques peu Onéreux« . Il s’agit d’une technologie utilisant plusieurs disques durs pour stocker des données afin de les sécuriser, ces données étant copiées sur tous les disques (de façons différentes suivant la configuration RAID utilisée : 1, 5, 1+0, 0+1, 6, etc), en cas de panne d’un disque, la machine reste opérationnelle et les données sont toujours accessibles. Avec certains pré-requis, il est même possible de changer le disque défaillant à chaud sans arrêter la machine, la couche RAID se chargeant de la reconstruction (synchronisation) des données.
Il existe également le RAID 0, mais qui diffère des autres RAID dans son fonctionnement.

Cet article parle du RAID logiciel, sur une machine en Fedora 10.

Lire la suite +