Ziirish's Home :: Blog

Ziirish's Pub

 
 

Aujourd'hui, on va se faire ça rapidement. mdadm, ou comment avoir un raid en 2 minutes montre en main.

D'abord, il faut juste comprendre que mdadm fonctionne sur des partitions, autrement dit, pas directement avec le disque dur. C'est une subtilité que je n'avais pas saisie tout de suite, et je trouvais ça dommage. Mais après réflexion, c'est vraiment pas con.

Bah oui, admettons que je fasse le fond de mes tiroirs et que je dégotte 2 disques dur, un de 20Go, et un de 8Go (ouais, c'est du vieux). Si je veux faire du raid 1, ça va pas être possible en principe, parce que les disques sont différents (j'avoue qu'il faudrait que je vérifie ça, mais il me semble). Du coup, je sors mon fdisk, je créée une partition de 8Go sur mon petit disque, et je fais la même sur mon disque de 20Go. Comme ça, j'ai au moins 8Go en raid, sans devoir investir dans 2 nouveaux disques delamortquitue.

Par contre, ça reste un raid logiciel, donc non compatible avec saleOS. Au niveau des perfs, la construction, et la reconstruction sont un peu gourmandes en i/o, et du coup le système load un peu, mais en fonctionnement "normal", je ne constate pas de problèmes.

Après cette petite introduction absolument pas subjective... Passons à la pratique !

Pour commencer, on va créer des partitions identiques sur nos différents disques. Une petite astuce pour gagner en flexibilité, c'est de créer un volume group avec notre partition "raidée".

On créera donc une partition LVM à l'aide de fdisk. Vous trouverez ici des explications sympathiques sur comment procéder.

Vous pouvez vous arrêter juste après le fdisk pour le moment. Pour éviter d'avoir à faire la manip' sur vos différents disques, utilisez sfdisk :

ATTENTION, LA COMMANDE QUI SUIT EFFACERA LA TABLE DE PARTITION DE /dev/sdb


% sfdisk -d /dev/sda | sfdisk /dev/sdb

On peut désormais attaquer les choses sérieuses, à savoir l'utilisation de mdadm.

Pour cela, je vous invite à suivre cette cheat sheet .

Désormais, vous pouvez poursuivre le guide sur LVM en travaillant sur /dev/md0.

C'est vraiment simple, robuste (j'ai personnellement testé en débranchant un disque à chaud), et efficace.

En résumé :


% fdisk /dev/sda
% sfdisk -d /dev/sda | sfdisk /dev/sdb
% mdadm --create /dev/md0 --verbose --level=mirror --raid-devices=2 /dev/sda1 /dev/sdb1
% vgcreate -s 16M raid /dev/md0
% lvcreate -L 20G -n partition1 raid