Annexe E. RAID (Redundant Array of Independent Disks, réseau redondant de disques indépendants)

Qu'est-ce que RAID ?

Le principe de RAID consiste à combiner plusieurs lecteurs de disque de petite taille et bon marché en un réseau permettant des performances supérieures à celles d'un lecteur de grande taille et coûteux. L'ordinateur "voit" ce réseau de lecteurs comme une unité de stockage logique ou un lecteur unique.

RAID est une méthode en vertu de laquelle les informations sont réparties sur plusieurs disques, à l'aide de techniques telles que l' agrégat par bandes (RAID 0) et la mise en miroir (RAID 1) afin d'obtenir une redondance, une moindre latence et/ou une bande passante plus importante pour la lecture et l'écriture sur les disques, et de maximiser la faculté de récupération après des pannes de disque dur.

Le concept sous-jacent de la technologie RAID est que des données peuvent être réparties sur les différents lecteurs du réseau de façon cohérente. A cette fin, les données doivent préalablement être fractionnées en "morceaux" de taille constante (souvent de 32 ou 64 Ko, même si des tailles différentes peuvent être utilisées). Chaque "morceau" est ensuite écrit, successivement, sur chaque disque. Lorsque les données doivent être lues, le processus est inversé, ce qui donne l'illusion que les multiples petits lecteurs n'en constituent en réalité qu'un seul de grande taille.

Pourquoi utiliser un RAID ?

La technologie RAID permet d'avoir sous la main de grandes quantités de données (ce dont peuvent avoir besoin les administrateurs). Parmi les principales raisons justifiant l'utilisation de RAID figurent :

  • vitesse accrue

  • capacité de stockage accrue (et plus économique)

  • efficacité accrue pour la récupération après une défaillance de disque dur

RAID: matériel et logiciel

On distingue deux approches de RAID : le RAID matériel et le RAID logiciel.

RAID matériel

Le système matériel gère le sous-système RAID en toute indépendance par rapport à l'hôte et ne présente à l'hôte qu'un seul disque par réseau RAID.

Un périphérique RAID matériel peut être, par exemple, celui qui, connecté à une carte SCSI, présente le réseau RAID comme une seule unité SCSI. Un système RAID externe déplace toute l'"intelligence" de traitement du réseau RAID vers un contrôleur situé dans le sous-système de disques externe. Le sous-système tout entier est connecté à l'hôte via une carte SCSI normale, de sorte qu'il apparaît à l'hôte comme un disque unique.

Les contrôleurs RAID sont souvent fournis sous la forme de cartes qui se comportent comme une carte SCSI pour le système d'exploitation, mais traitent en réalité toutes les communications de l'unité. Dans ce cas, vous connectez les lecteurs au contrôleur RAID, tout comme vous le feriez avec une carte SCSI. Mais ensuite, vous les ajoutez à la configuration du contrôleur RAID et le système d'exploitation ne détecte pas la différence.

RAID logiciel

Le RAID logiciel implémente les divers niveaux de RAID dans le code du disque du noyau (périphérique bloc). Il constitue également la solution la plus économique qui soit : des cartes contrôleur de disque onéreuses ou un châssis remplaçable à chaud [1] ne sont plus nécessaires, et le RAID logiciel fonctionne avec des disques IDE moins chers, de même qu'avec des disques SCSI. Avec les processeurs rapides disponibles aujourd'hui, les performances d'un RAID logiciel peuvent s'avérer excellentes par rapport à celles d'un RAID matériel.

Le pilote MD dans le noyau Linux est un exemple de solution RAID totalement indépendante du matériel. Les performances d'un réseau logiciel dépendent des performances et de la charge du processeur du serveur.

Fonctions de RAID

Pour en savoir plus sur ce qu'offre le RAID logiciel, voici une courte liste de quelques-unes de ses fonctions :

  • Processus de reconstruction chaîné

  • Configuration complète à partir du noyau

  • Portabilité des réseaux entre ordinateurs sous Linux sans reconstruction

  • Reconstruction de réseau en arrière-plan à l'aide de ressources systèmes inactives

  • Support de lecteur remplaçable à chaud

  • Détection de processeur automatique pour tirer parti de certaines optimisations de processeur

Niveau et support linéaire

La technologie RAID offre également les niveaux 0, 1, 4, 5 et un support linéaire. Ces types de RAID agissent comme suit :

  • Niveau 0 -- Le RAID de niveau 0, souvent appelé "agrégat par bandes", est une technique de mappage de données axée sur les performances. Cela signifie que les données écrites sur le réseau sont fractionnées en bandes et écrites sur les disques composant le réseau. Ceci permet d'obtenir des performances d'E/S élevées à faible coût mais n'offre aucune redondance. La capacité de stockage du réseau est égale à la capacité totale des disques qui le composent.

  • Niveau 1 -- Le RAID de niveau 1, ou "mise en miroir de disque" a été utilisé plus longtemps que n'importe quelle forme de RAID. Le niveau 1 offre la redondance en écrivant des données sur chaque disque membre du RAID, en laissant une copie "en miroir" sur chaque disque. L'exploitation en miroir reste très utilisée en raison de sa simplicité et du haut niveau de disponibilité des données. Le niveau 1 opère avec deux disques ou plus, pouvant utiliser un accès parallèle pour atteindre des vitesses de transfert de données élevées en lecture, mais fonctionne, le plus souvent, de façon indépendante afin de permettre des vitesses d'E/S élevées. Le niveau 1 offre une excellente fiabilité pour les données et améliore les performances des applications impliquant une activité de lecture intense, mais à un coût relativement élevé. [2] La capacité du réseau RAID est égale à celle d'un disque membre si vous utilisez des lecteurs de disque identiques.

  • Niveau 4 -- Le niveau 4 concentre les données de parité[3] sur un seul lecteur de disque pour protéger des données. Il est plus adapté aux E/S transactionnelles qu'aux transferts de fichiers volumineux. Du fait que le disque de parité dédié entraîne, par définition, un étranglement, le niveau 4 est rarement utilisé sans technologies complémentaires telles que l'antémémoire de réécriture. Bien que le RAID de niveau 4 soit une option dans certains systèmes de partitionnement RAID, elle n'est pas autorisée dans les installations RAID de Red Hat Linux. [4] La capacité de stockage est égale à celle de l'ensemble des disques membres, moins un, si vous utilisez des lecteurs de disque identiques.

  • Niveau 5 -- Type de RAID le plus répandu. En répartissant la parité sur certains lecteurs de disque d'un réseau, le RAID de niveau 5 élimine les étranglements en écriture propres au niveau 4. Le seul étranglement provient du processus de calcul de la parité. Grâce aux processeurs modernes et au RAID logiciel, cet étranglement n'est pas très conséquent. Comme pour le niveau 4, les résultats obtenus étant asymétriques, les performances en lecture sont sensiblement supérieures aux performances en écriture. Le niveau 5 est souvent utilisé en association avec l'antémémoire de réécriture afin de réduire l'asymétrie. La capacité de stockage est égale à celle de l'ensemble des disques membres, moins un, si vous utilisez des lecteurs de disque identiques.

  • RAID linéaire -- Le RAID linéaire est un simple regroupement de lecteurs visant à créer un lecteur virtuel de plus grande taille. Dans le RAID linéaire, les morceaux sont attribués de façon séquentielle, à partir de l'un des lecteurs, ne passant au lecteur suivant qu'une fois le premier totalement saturé. Ce regroupement n'offre aucun avantage en matière de performances, étant donné qu'il est improbable que des opérations d'E/S soient fractionnées entre les lecteurs. Le RAID linéaire n'offre pas non plus de redondance et, en réalité, réduit la fiabilité (en cas de défaillance de l'un des lecteurs, tout le réseau devient inutilisable). La capacité équivaut à la capacité totale de tous les disques.

Création de partitions RAID

RAID est disponible dans les modes d'installation graphique et Kickstart. Vous pouvez utiliser fdisk ou Disk Druid pour créer votre configuration RAID ; toutefois, ces instructions se concentreront principalement sur l'utilisation de Disk Druid pour l'exécution de cette tâche.

Avant de créer un périphérique RAID, commencez par créer des partitions RAID en suivant les instructions pas-à-pas suivantes.

TuyauConseil : si vous utilisez fdisk
 

Si vous utilisez fdisk pour créer une partition RAID, songez qu'au lieu de créer une partition de type 83 (Linux Native), vous devez créer une partition de type fd (Linux RAID), et que les partitions au sein d'un réseau RAID donné doivent comprendre des lecteurs avec des cylindres identiques afin d'optimiser les performances.

  • Créez une partition. Dans Disk Druid, sélectionnez Ajouter pour créer une nouvelle partition (voir la Figure E-1).

    Figure E-1. Création d'une nouvelle partition RAID

  • Vous ne serez pas en mesure d'entrer un point de montage (vous ne pourrez le faire qu'après avoir créé votre périphérique RAID).

  • Entrez la taille que vous voulez attribuer à la partition.

  • Sélectionnez Utiliser tout l'espace disque libre si vous voulez que la partition grandisse de manière à occuper tout l'espace disponible sur le disque dur. Dans ce cas, la taille de la partition augmente et diminue à mesure que d'autres partitions sont modifiées. Si vous rendez plusieurs partitions extensibles, les partitions se disputeront l'espace libre disponible sur le disque.

  • Entrez le type de partition RAID.

  • Enfin, pour Disques disponibles, sélectionnez le lecteur sur lequel le RAID sera créé. Si vous disposez de plusieurs lecteurs, tous seront sélectionnés ici et vous devrez désélectionner ceux qui ne feront pas partie du réseau RAID.

Suivez ces étapes afin de créer les partitions nécessaires pour votre configuration RAID.

Figure E-2. Partitions RAID

Une fois toutes vos partitions créées comme partitions RAID, sélectionnez le bouton Créer le périphérique RAID dans l'écran de partitionnement principal de Disk Druid (voir la Figure E-2).

Ensuite, la Figure E-3 s'affiche, qui vous permet de créer un périphérique RAID.

Figure E-3. Création d'un périphérique RAID

  • Commencez par entrer un point de montage.

  • Ensuite, assurez-vous que le type de partition est défini comme Linux Native (qui sera le type par défaut).

  • Sélectionnez votre périphérique RAID. Sélectionnez md0 comme premier périphérique, md1 comme second périphérique, et ainsi de suite, à moins que vous n'ayez une bonne raison de procéder autrement. Les périphériques RAID vont de md0 à md7 et chacun ne peut être utilisé qu'une seule fois.

  • Sélectionnez votre type de RAID. Vous avez le choix entre RAID 0, RAID 1 et RAID 5.

    NoteRemarque
     

    Si vous créez une partition RAID de /boot, vous devez choisir RAID 1 et la partition doit utiliser l'un des deux premiers lecteurs (premier IDE, second SCSI). Si vous ne créez pas de partition RAID de /boot, mais une partition RAID de /, ce doit être une partition RAID 1 utilisant l'un des deux premiers lecteurs (premier IDE, second SCSI).

  • Enfin, sélectionnez les partitions qui feront partie de ce réseau RAID (comme à la Figure E-4), puis cliquez sur Suivant.

    Figure E-4. Création d'un réseau RAID

  • A partir d'ici, vous pouvez poursuivre le processus d'installation. Reportez-vous au Guide officiel d'installation Red Hat Linux pour obtenir plus d'instructions.

Notes

[1]

Un châssis remplaçable à chaud permet de retirer un disque dur sans devoir arrêter le système.

[2]

Le RAID de niveau 1 implique un coût élevé car vous écrivez les mêmes informations sur tous les disques du réseau RAID, ce qui implique un gaspillage de l'espace disque. Par exemple, un RAID de niveau 1 peut être configuré de telle sorte que votre partition "/" (root) s'étende sur deux lecteurs de 4 Go. Vous disposez donc, au total, de 8 Go, mais ne pouvez accéder qu'à 4 de ces 8 Go. Les 4 Go restants sont utilisés comme un miroir des 4 premiers.

[3]

Les informations de parité sont calculées sur la base du contenu des autres disques du réseau. Ces informations peuvent être utilisées pour reconstituer les données en cas de défaillance d'un disque du réseau. Les données reconstituées peuvent ensuite être utilisées pour satisfaire aux demandes d'E/S adressées aux disques défaillants et pour reconstituer leur contenu après qu'ils aient été réparés ou remplacés.

[4]

RAID 4 occupe autant d'espace que RAID 5, mais les avantages offerts par ce dernier sont tels que RAID 4 n'est plus pris en charge.