Fonctionnement d'un ordinateur/Les technologies RAID

Les technologies RAID (Redundant Array of Inexpensives Disks) sont des technologies qui permettent d'utiliser plusieurs disques durs ou SSD afin de gagner en performances, en espace disque ou en fiabilité. Ces technologies sont apparues dans les années 70, sur des ordinateurs devant supporter des pannes de disque dur et sont toujours utilisées dans ce cas de figure à l'heure actuelle, notamment sur les serveurs dits à haute disponibilité. Il existe plusieurs types de RAID, qui ont des avantages et leurs inconvénients bien précis. Dans les grandes lignes, on peut classer les différentes techniques de RAID dans deux catégories : les RAID standards et les RAID combinés.

Ces techniques peuvent être prises en charge aussi bien par le logiciel que par le matériel. Dans le premier cas, c'est le système d'exploitation (et plus précisément le système de fichiers) qui se charge de la gestion des disques durs et de la répartition des données sur ceux-ci. Dans l'autre cas, le RAID est pris en charge par un contrôleur spécialisé, intégré à la carte mère ou présent sous la forme d'une carte d'extension. La dernière méthode est évidemment plus rapide, les calculs étant déportés sur une carte spécialisée au lieu d'être pris en charge par le processeur.

Les technologies RAID standards (RAID 0 à 6) modifier

Les techniques de RAID dites standards ont toutes étés inventées en premier. Il s'agit des techniques de JBOD, RAID 0, RAID 1, RAID2, RAID3, RAID 4, RAID5 et RAID6. Les trois premières sont les plus simples, dans le sens où elles ne font pas appel à des bits de parité.

Le JBOD (Just a Bunch Of Disks) modifier

La technologie JBOD permet de regrouper plusieurs disques durs en une seule partition. JBOD est l'acronyme de l'expression Just a Bunch Of Disks. Avec cette technique, on attend qu'un disque dur soit rempli pour commencer à entamer le suivant. Les capacités totales des disques durs s'additionnent. Il est parfaitement possible d'utiliser des disques durs de taille différentes.

 
JBOD.

Le RAID 0 et le RAID 1 modifier

Avec le RAID 0, des données consécutives sont réparties sur des disques durs différents. Là encore, le système RAID contient plusieurs disques durs, mais est reconnu comme une seule et unique partition par le système d'exploitation. La capacité totale du RAID 0 est égale à la somme des capacités de chaque disque dur, comme avec le JBOD. La différence avec le JBOD tient dans le fait que les données d'un même fichier étant systématiquement réparties sur plusieurs HDDs, ce que ne faisait pas le JBOD. Cela permet une amélioration des performances lors de l'accès à des données consécutives, celles-ci étant lues/écrites depuis plusieurs disques durs en parallèle.

Avec le RAID 1, les données sont copiées à l'identique sur tous les disques durs. Chaque disque dur est ainsi une copie de tous les autres, chaque disque dur ayant exactement le même contenu. L'avantage de cette technique réside dans la résistance aux pannes : cela permet de résister à une panne qui touche un grand nombre de disque dur, tant qu'au moins un disque dur est épargné. Par contre, cette technique ne permet pas de gagner en espace disque : l'ensemble des disques durs est vu comme un unique disque de même capacité qu'un disque individuel. Des gains en performances sont possibles, vu que des données consécutives peuvent être lues depuis plusieurs disques durs. Mais cette optimisation entraine une baisse des performances en écriture, ce qui fait que peu de contrôleurs RAID l'utilisent.

 
RAID 0.
 
RAID 1.

Le RAID classique avec bit de parité modifier

Les RAID 2, 3, 4, 5 et 6 font appel à des bits de parité. Cela leur permet d'obtenir une résilience aux pannes plus attractive que le RAID1. Ces techniques ont tendance à utiliser un seul HDD pour stocker des données redondantes, soit nettement moins que le RAID1. En contrepartie, la récupération suite à une panne est plus lente, vu qu'il faut reconstituer les données originelles via un calcul qui fait intervenir les données de tous les disques durs, ainsi que les données de parité.

Les RAID 2, 3 et 4 peuvent être vu comme une sorte de RAID 0 amélioré. Il est amélioré dans le sens où on ajoute un disque pour les données de parité à un RAID 0. L'idée est simplement de calculer, pour tous les secteurs ayant la même adresse, un secteur de parité. Les octets des différents disques du RAID 0 seront utilisés pour calculer un octet de parité, qui sera enregistré sur un disque de parité à part. Il faut noter que certaines formes améliorées du RAID 4 dupliquent les disques de parité, ce qui permet de résister à plus d'une panne de disque dur (autant qu'il y a de disques de parité). Mais ces améliorations ne font pas partie des niveaux de RAID standard.

 
RAID 3.
 
RAID 4.

Le RAID 5 est similaire au RAID 4, sauf que les secteurs de parité sont répartis sur les différents disques dur, afin de gagner en performances.

Le RAID 6 est une amélioration du RAID 5 où les données de parité sont elles-mêmes dupliquées en plusieurs exemplaires. Cela permet de résister à la défaillance de plus d'un HDD.

 
RAID 5.
 
RAID 6.
Type de RAID JBOD RAID 0 RAID 1 RAID 2, 3 et 4 RAID 5 RAID 6
Performances Pas d'amélioration Amélioration en lecture et écriture Amélioration en lecture, sous conditions Amélioration en lecture et écriture, inférieure au RAID 0.

Avantage au RAID 5 et 6

Espace disque Somme des capacités des HDD Pas d'amélioration Somme des capacités de tous les HDD, sauf un
Résilience aux pannes Pas d'amélioration Excellente : survit à autant de pannes qu'il y a de HDD, sauf un Minimale : survit à la panne d'un seul HDD Intermédiaire, dépend des données de parité

Les technologies de RAID combiné modifier

Il est possible de combiner des disques durs en utilisant diverses techniques de RAID.

Par exemple, on peut utiliser un RAID1 de disques en RAID 0 : on parle alors de RAID 01. Il est aussi possible d'utiliser un RAID 0 de disques en RAID 1 : on parle alors de RAID 10.

 
RAID 01.
 
RAID 10.

De même, utiliser un RAID 0 de RAID 3, 4, 5 ou 6 est possible : on parle respectivement de RAID 3+0, 4+0, 5+0, 6+0.

 
RAID 5+0.

On peut aussi faire un RAID de plusieurs disques en RAID 0, ce qui donne du RAID 0+1, 0+2, 0+3, 0+4, ...

 
RAID 0+3


, +, +,