Page suivante Page précédente Table des matières

3. RAID de niveau 0 et 1 sous RedHat 6.0

Par Mark Nielsen dude@linux.com

3.1 Index

  1. Ressources
  2. Introduction à RAID
  3. Configurer un RAID de niveau 0
  4. Configurer un RAID de niveau 1
  5. RAID de niveau 5 avec disque de parité
  6. Commentaires

Les prochaines mises à jour de cet article se trouveront à l'adresse suivante : http://www.tcu-inc.com/mark/articles/Raid.html

3.2 Ressources

  1. http://ostenfeld.dk/~jakob/Software-RAID.HOWTO/
  2. /usr/doc/raidtools-0.90

Ce lien est spécifique au RAID matériel, ce qui sort du cadre de cet article :

  1. http://www.ram.org/computing/linux/dpt_raid.html

3.3 Introduction à RAID

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.

3.4 Le RAID de niveau 0, l'entrelacement de disques (striping RAID)

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.

  1. Configurez le fichier /etc/raidtab de cette manière :
    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
    

  2. Formattez les partitions avec cette commande :
    mkraid /dev/md0
    

    Si vous avez des problèmes en utilisant la commande "mkraid", on vous donnera des explications en ligne pour resoudre les problèmes. Puis, exécutez la commande suivante :
    mkfs -t ext2 /dev/md0
    

    Et vérifiez aussi le statut de votre raid en regardant le fichier "/proc/mdstat" :
    cat /proc/mdstat
    

  3. Exécutez la commande suivante afin d'ajouter une ligne au fichier /etc/rc.d/rc.local :
    echo "raidstart /dev/md0" >> /etc/rc.d/rc.local
    

  4. Lancez la commande suivante. Elle créera une répertoire pour le périphérique RAID et ajoutera une commande au fichier /etc/rc.d/rc.local
    mkdir /RAID
    
    echo "mount /dev/md0 /RAID" >> /etc/rc.d/rc.local
    

  5. Si vous ne voulez pas redémarrer votre ordinateur, et que vous voulez activer le raid maintenant, lancez les commandes :
    raidstart /dev/md0
    
    mount /dev/md0 /RAID
    

    Vérifier aussi les statuts du répertoire de montage en éxécutant simplement la commande :
    df
    

3.5 Le RAID de niveau 1, les disques-miroirs (Mirroring RAID)

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.

  1. Configurez le fichier /etc/raidtab de cette manière :
    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
    

  2. Formattez les partitions avec la commande :
    mkraid /dev/md0
    

    Si vous avez des problèmes en utilisant la commande "mkraid", on vous donnera des explications en ligne pour resoudre les problèmes. Puis, exécutez la commande suivante :
    mkfs -t ext2 /dev/md0
    

    Et vérifiez aussi le statut de votre raid en regardant le fichier "/proc/mdstat" :
    cat /proc/mdstat
    

  3. Exécutez la commande suivante afin d'ajouter une ligne au fichier /etc/rc.d/rc.local :
    echo "raidstart /dev/md0" >> /etc/rc.d/rc.local
    

  4. Lancez la commande suivante. Elle créera une répertoire pour le périphérique RAID et ajoutera une commande au fichier /etc/rc.d/rc.local
    mkdir /RAID
    
    echo "mount /dev/md0 /RAID" >> /etc/rc.d/rc.local
    

  5. Si vous ne voulez pas redémarrer votre ordinateur, et que vous voulez activer le raid maintenant, lancez les commandes :
    raidstart /dev/md0
    
    mount /dev/md0 /RAID
    

    Vérifiez aussi les statuts du répertoire de montage en éxécutant simplement la commande :
    df
    

3.6 RAID 5 avec disque de parité

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

3.7 Commentaires

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.

3.8 Mark Nielsen

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.


Page suivante Page précédente Table des matières