Le RAID (non non, c'est pas le film...)


Table des matières
1. Introduction
2. Les niveaux uniques
2.1. RAID 0 : Striping ("découpage")
2.2. RAID 1 : Mirroring ("duplication")
2.3. RAID 2 à 4 : Striping with parity
2.3.1. RAID 2
2.3.2. RAID 3
2.3.3. RAID 4
2.4. RAID 5
3. Les modes combinés
3.1. RAID 1+0
3.2. RAID 0+1
3.3. RAID 5+0
4. Comparatif
5. Annexes

1. Introduction

Le RAID (Redundant Array of Independent Disks = "pile redondante de disques indépendants") est un procédé de stockage avancé de données en grande partie utilisé sur les serveurs, dont le but est de garantir la sauvegarde des données et de meilleures performances d'utilisation des disques durs (DD).

On compte 8 niveaux RAID différents (de 0 à 7) mais nous n'aborderons dans cet exposé que les niveaux 0 à 5 car le niveau 6 n'est qu'une extension très peu utilisée du 5, et le niveau 7 n'est pas un standard de la RAID Advisory Board (organisme gérant les normes RAID) mais une version propriétaire appartenant à la société Storage Computer Corp.

Ce système, bien que conçu à l'origine pour être utilisé avec des DD à interface SCSI, tend à se démocratiser en raison de la chute des prix des cartes controleurs IDE-RAID ces dernières années...


2. Les niveaux uniques

Ce chapitre nous permettra de présenter les différents niveaux du RAID.


2.1. RAID 0 : Striping ("découpage")

Le principe du RAID 0 consiste à associer des DD en parallèle, ce qui a pour unique conséquence le fractionnement, puis la répartition uniforme des données sur tous les disques. Elle sont découpées en "bandes" (stripes, en anglais) puis réparties individuellement sur chaque DD, comme par exemple un fichier est stocké en mémoire sur plusieurs clusters d'un DD.

Bien que le RAID 0 obtienne les meilleures performances en matière de vitesse de lecture et d'écriture, taux de transfert et temps d'accès, il est aussi le niveau le moins fiable car en cas de panne de l'un des DD c'est l'ENSEMBLE des données qui est perdu.


2.2. RAID 1 : Mirroring ("duplication")

Alors que le RAID O ne remplissait qu'une partie de son contrat, à savoir l'amélioration des performances d'utilisation des DD, le RAID 1 quant à lui vient accomplir l'autre objectif du RAID : la sauvegarde des données. Ce niveau se contente tout simplement de dupliquer les données lors de l'écriture sur les DD présents sur la pile. Il est surtout implémenté dans des applications nécéssitant une sauvegarde vitale des données, telles que les sauvegardes de serveurs web.

Malgré le fait que la sauvegarde des données soit assurée en cas de défaut de l'un des DD, les performances d'écriture sur les disques sont ici plus que médiocres car, en plus de perdre au moins la moitié de l'espace disque initial, le controleur de disque est sollicité proportionellement au nombre de DD présents sur la pile, problème pouvant être pallié en ajoutant un second controleur de disque (ce qui, au passage, augmente la tolérance de panne au niveau des controleurs) : cette technique se nomme duplexing. Cependant contrairement à l'écriture, les performances en matière de vitesse de lecture sont quant à elles relativement bonnes car le controleur lit simultanément sur tous les DD de la pile ; cette dernière fonctionnalité reste difficile à mettre en place car elle implique une gestion poussée.


2.3. RAID 2 à 4 : Striping with parity

Les niveaux 2, 3 et 4 du RAID sont relativement similaires car tous héritent des caractéristiques pricipales de niveaux 0 et 1, à savoir la redondance des données (tolérance de panne de l'un des disques) et l'empilage des disques (espace disque global augmenté). La sauvegarde des données est vérifiée par un contrôle de parité ; lors de l'écriture, des informations supplémentaires sont stockées sur les DD de la pile : ces informations serviront à "reconstruire" les données manquantes en cas de panne d'un des lecteurs. À noter qu'il faut au minimum 3 DD pour monter un système RAID de ce niveau : 2 pour le découpage et 1 pour le contrôle de parité.

NoteNiveau 2 et 3 obsolètes.
 

Les niveaux 2 et 3 stockent les données bit par bit, alors que le niveau 4 les stocke par blocs (ou "bandes", "secteurs"). Cette différence explique pourquoi ces deux premiers niveaux ne sont quasiment plus utilisés seuls, car la génération de DD précédente était directement gérée par le controleur de disque de la carte-mère, ce qui permettait d'avoir des DD parfaitement synchrones et de se permettre d'écrire bit par bit sans avoir d'erreurs de décalage. Aujourd'hui les DD ont tous un petit controleur intégré (gérant notament le cache) et ne permettent plus de fonctionner de cette manière.


2.3.1. RAID 2

Ce niveau est aujourd'hui obsolète. Il se base sur des ECC (Error Correction Code = "code de correction d'erreurs")pour corriger "au vol" les erreurs de données : les DD actuels intègrent ce code directement dans leur controleur.

Figure 3. Schéma de fonctionnement du RAID 2


2.3.2. RAID 3

Le RAID 3 fonctionne de manière identique au niveau précédent, à la seule seule différence près qu'il qu'il contrôle la parité avec des tests XOR (plus fiables et rapides que les ECC) ; cette pratiqe ne nécessite qu'un seul DD supplémentaire pour stocker les informations de parité : il contient le checksum (= "somme de contrôle") des autres disques ; ainsi si UN des disques tombe en panne il est possible de reconstituer rapidement l'information manquante grâce au checksum. Par contre si plusieurs tombent en panne simultanément il devient impossible de récupérer les données.


2.3.3. RAID 4

Ce niveau fonctionne exactement de la même manière que le précédent, sauf qu'il stocke les données par bloc et non par bits, ce qui implique qu'en cas de lecture de blocs contigus le taux d'accès sera beaucoup plus rapide puisqu'ils seront sur le même lecteur physique. Cependant son principal défaut réside dans le DD de parité, qui doit en théorie être aussi rapide que LA SOMME des autres.


2.4. RAID 5

Le RAID 5 est le niveau le plus performant, et par conséquent le plus utilisé. Son fonctionnement est très proche du niveau 4, sauf que les informations de parité sont réparties sur tous les DD de la pile au lieu d'un DD dédié. Or, si les informations de parité sont réparties sur la pile, il n'y a donc plus de limitations de débit par le disque qui contrôlait la parité, et les performances ne sont donc plus limitées que par le matériel lui-même ce qui nous donne des performances proches du niveau 0 tout en bénéficiant d'une tolérance de panne d'un DD.


3. Les modes combinés

Il est possible de combiner 2 niveaux de RAID pour l'adapter au besoin. Nous allons voir rapidement ici les combinaisons les plus performantes et les plus utilisées. Le but de cette agencement est de tirer les performances maximum du matériel grâce au striping et de garantir la sauvegarde des données grâce au mirroring


3.1. RAID 1+0

La combinaison des niveaux 0 et 1 du RAID en mode 1+0 consiste à monter par paire des DD fonctionnant en mirroring en striping, c'est-à-dire que le controleur RAID va dupliquer les données arrivantes (comme pour le mirroring) puis va les couper en bandes et les répartir sur les disques (comme pour le striping). Son seul défaut reste la limitation des ressources par le système, car le controleur doit "couper" deux fois plus de données avant de les répartir.


3.2. RAID 0+1

La combinaison des niveaux 0 et 1 du RAID en mode 0+1 consiste à monter par paire des DD fonctionnant en striping en mirroring, c'est-à-dire que le controleur RAID va "couper" en bandes les données arrivantes (comme pour le striping) puis va les dupliquer à la volée sur les disques (comme pour le mirroring).


3.3. RAID 5+0

La combinaison des niveaux 0 et 5 du RAID en mode 5+0 est le niveau le plus performant que puisse atteindre le RAID actuellement, cat il est le seul à proposer une tolérance de panne de 2 DD et plus, tout en gardant de très bonnes performances d'accès aux disques. Son seul inconvénient est... le prix, car comme le niveau RAID 5 il est recommandé d'avoir beaucoup de DD pour rentabiliser le système.


4. Comparatif

Après avoir passé en revue tous les modes uniques et la majorité des modes combinés, nous allons exposer les avantages et inconvénients dans un tableau récapitulatif.


5. Annexes

Lien vers le site de l'ACNC : http://www.acnc.com/04_01_00.html