Par Mark Nielsen dude@linux.com
Les prochaines mises à jour de cet article se trouveront à l'adresse suivante : http://www.tcu-inc.com/mark/articles/Raid.html
Ce lien est spécifique au RAID matériel, ce qui sort du cadre de cet article :
Je suppose que vous lirez l'HOWTO Software-RAID de jakob@ostenfeld.dk. Apparemment, il est originaire du Danemark qui est, bien sûr, le plus beau pays au monde où l'on trouve beaucoup de gens très intelligents [NdR:?!?]. Quoi qu'il en soit, il a fait du bon travail sur cet HOWTO, et cet article n'est probablement pas nécessaire. Je l'ai uniquement écrit car la documentation était à l'époque plutôt difficile à comprendre, ce qui ne semble actuellement plus le cas. Aussi, cette configuration est spécifique à la RedHat 6.0, mais elle devrait être valable pour n'importe quelle distribution. Quand est-ce que je passerai à la Debian pour de bon ? Bientôt, je l'espère.
Qu'est-ce que RAID ? Eh bien, RAID vous donne la possibilité de faire des choses amusantes avec plusieurs disques durs. Vous pouvez combiner plusieurs disques, répartir des données entre plusieurs disques, et d'autres choses. Vous pouvez de cette manière augmenter la vitesse d'écriture et de lecture de vos données sur disques et effectuer des copies des sauvegardes de vos disques. Ainsi, si un disque dur tombe en panne, vous pouvez très probablement retrouver toutes vos données. Vous pourrez en lire plus au sujet des niveaux de RAID dans l'HOWTO Software-RAID pour vous faire un idée sur les différents types de RAID logiciel.
Vous aurez besoin de configurer plusieurs petites partitions pour cet exemple de configuration. Je vous conseille d'avoir 1 GigaOctets d'espace-disque de libre sur une partition étendue, puis de faire des partitions de logique de 100 Mo sur la partition étendue. Surtout, S'IL VOUS PLAIT, S'IL VOUS PLAIT, S'IL VOUS PLAIT, ne testez le RAID que sur un disque dur dont vous n'avez pas l'utilité. S'il est abimé, c'est de votre faute, même si ma documentation n'est pas correcte.
Je vais SEULEMENT vous expliquer comment configurer l'entrelacement des disques où se trouvent des données. Cela veut dire que je ne ferai pas l'entrelacement du disque où se trouve le système d'exploitation. Il se peut qu'il y ait des problèmes à essayer d'entrelacer un système complet, et donc je ne le montrerai pas ici.
La configuration d'un RAID de niveau 0 (Striping RAID) sur votre système Linux comporte en fait quatre étapes. L'entrelacement répartit les données sur deux ou plusieurs disques durs (en fait, ici ce sera des partitions) où la moitié des données est sur un disque et l'autre partie sur l'autre. A nouveau, s'il vous plaît consultez l'HOWTO pour en savoir plus à ce sujet.
Tout d'abord, nous devons configurer le périphérique /dev/md0, puis il faut initialiser les partitions et enfin configurer le fichier /etc/rc.d/rc.local pour activer le RAID ainsi que pour monter le disque entrelacé dans un répertoire.
Les étapes : Je vais utiliser une astuce. Au lieu d'utiliser deux disques durs, je vais supposer que la plupart des utilisateurs ne les possèdent pas. J'utiliserai donc deux partitions sur le même disque. Il faut faire une partition étendue avec deux partitions logiques, /dev/hda5 et /dev/hda6, qui auront la même taille. L'entrelacement de deux partitions sur le même disque dur est inutile, de même que sur le même contrôleur. Encore une fois, ce n'est qu'un EXERCICE.
raiddev /dev/md0 raid-level 0 nr-raid-disks 2 nr-spare-disks 0 chunk-size 4 persistent-superblock 1 device /dev/hda5 raid-disk 0 device /dev/hda6 raid-disk 1
mkraid /dev/md0
mkfs -t ext2 /dev/md0
cat /proc/mdstat
echo "raidstart /dev/md0" >> /etc/rc.d/rc.local
mkdir /RAID echo "mount /dev/md0 /RAID" >> /etc/rc.d/rc.local
raidstart /dev/md0 mount /dev/md0 /RAID
df
Comme dans l'exemple pour le niveau 0 de RAID, j'utiliserai deux partitions sur le même disque dur et je ferai le miroir des partitions qui sont utilisées pour stocker les données.
Premièrement, nous devons configurer /dev/md0, puis initialiser les partitions, et enfin il faut configurer /etc/rc.d/rc.local pour activer le raid et monter le périphérique miroir dans un répertoire.
raiddev /dev/md0 raid-level 1 nr-raid-disks 2 nr-spare-disks 0 chunk-size 4 persistent-superblock 1 device /dev/hda5 raid-disk 0 device /dev/hda6 raid-disk 1
mkraid /dev/md0
mkfs -t ext2 /dev/md0
cat /proc/mdstat
echo "raidstart /dev/md0" >> /etc/rc.d/rc.local
mkdir /RAID echo "mount /dev/md0 /RAID" >> /etc/rc.d/rc.local
raidstart /dev/md0 mount /dev/md0 /RAID
df
Bon, le RAID 5 avec disque de parité est vraiment une très bonne chose. A nouveau, nous utiliserons un seul disque dur. Généralement, pour l'expérimentation, j'utiliserai juste des partitions logiques de 100 Mo. Si vous avez une partition étendue de 1 Go, vous pouvez avoir 10 partitions logiques pour vous amuser.
Utilisez les mêmes étapes de configuration que pour les RAID 0 et 1, changez simplement le fichier de configuration de cette manière :
raiddev /dev/md0 raid-level 5 nr-raid-disks 7 nr-spare-disks 1 persistent-superblock 1 parity-algorithm left-symmetric chunk-size 32 device /dev/hda5 raid-disk 0 device /dev/hda6 raid-disk 1 device /dev/hda7 raid-disk 2 device /dev/hda8 raid-disk 3 device /dev/hda9 raid-disk 4 device /dev/hda10 raid-disk 5 device /dev/hda11 raid-disk 6 ### Puis on a le disque de parité device /dev/hda12 spare-disk 0
Montez le périphérique raid dans le fichier /etc/rc.d/rc.local et ne vous ennuyez pas à le mettre dans le fichier /etc/fstab. Si vous voulez le faire, allez-y, essayez. Ca ne marchera probablement pas mais quelque fois, les gens veulent juste le voir par eux-mêmes (comme je l'ai fait). J'aime bien scier la branche sur laquelle je suis assis. "La chirurgie" est interessante.
C'est plutôt amusant. La documentation était en fait mauvaise mais l'HowTo a été mis à jour, les outils semblent plus facile à utiliser, et avec ces quelques exemples, les personnes qui savent utiliser Linux peuvent probablement configurer un périphérique raid. J'espère que ça finira par réduire le coût total des serveurs RAID.
Si vous voulez faire du raid logiciel correctement, il vous faut une carte contrôleur SCSI U2W, comme un contrôleur Adaptec ou d'une autre bonne marque, DPT, Mylex, etc. Pour du raid à prix réduit où vous ferez simplement des miroirs de disque et où vous n'aurez pas à vous occuper de la vitesse, les disques IDE sont suffisants. Si vous voulez aller au delà du raid logiciel et installer du matériel raid, il existe plusieurs sociétés qui en proposent pour Linux.
Mark travaille comme receptionniste (short et tee-shirt) dans la société The Computer Underground et comme consultant professionel (costume et cravate) chez 800linux.com. Pendant son temps libre, il fait des choses bénévolement, comme écrire ces documents qui permettent d'arrêter ces choses qui se développent si bien chez les ignorants. Je me demande quelle société agit ainsi ?
Rédigé en utilisant Emacs et ispell.
Copyright 1999, Mark Nielsen. Paru dans le numéro 45 de la Linux Gazette de Septembre 1999.
Traduction française de Thierry Hamon.