RAID (informatique) - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Les différents niveaux de RAID

Les niveaux standard

Les différents types d'architecture RAID sont numérotés à partir de 0 et peuvent se combiner entre eux (on parlera alors de RAID 0+1, 1+0, etc.).

RAID 0 : volume agrégé par bandes

RAID 0

Le RAID 0, également connu sous le nom d'« entrelacement de disques » ou de « volume agrégé par bandes » (striping en anglais) est une configuration RAID permettant d'augmenter significativement les performances de la grappe en faisant travailler n disques durs en parallèle (avec n\ge2 ).

  • Fiabilité :

Le défaut de cette solution est que la perte d'un seul disque entraîne la perte de toutes les données.

  • Coût :

Le RAID 0 n'apportant pas de redondance, tout l'espace disque disponible est utile.


Dans cette configuration, les données sont réparties par bandes (stripes en anglais) d'une taille fixe. Cette taille est appelée granularité (voir plus loin la section granularité).

Exemple : avec un RAID 0 ayant une bande de 64 kio et composé de deux disques (disque Disk 0 et disque Disk 1), si l'on veut écrire un fichier A de 500 kio, le fichier sera découpé en 8 bandes (car  7 < \frac{500}{64} \le 8 ), appelons-les 1, 2, 3, 4, 5, 6, 7 et 8, elles seront réparties sur l'ensemble des disques de la façon suivante :
Disk 0 : 1, 3, 5, 7
Disk 1 : 2, 4, 6, 8
Ainsi l'écriture du fichier pourra être effectuée simultanément sur chacun des disques en un temps équivalent à l'écriture de 256 kio.

Ainsi, sur un RAID 0 de n disques (avec n\ge2 ), chaque disque ne doit lire et écrire que \frac{1}{n} des données, ce qui a pour effet de diminuer les temps d'accès (lecture et écriture) aux données; les disques se partageant le travail, les traitements se trouvent accélérés.

Ce type de RAID est parfait pour des applications requérant un traitement rapide d'une grande quantité de données. Mais cette architecture n'assure en rien la sécurité des données ; en effet, si l'un des disques tombe en panne, la totalité des données du RAID est perdue.

RAID 1 : Disques en miroir

RAID 1

Le RAID 1 consiste en l'utilisation de n disques redondants (avec n\ge2 ), chaque disque de la grappe contenant à tout moment exactement les mêmes données, d'où l'utilisation du mot « miroir » (mirroring en anglais).

  • Capacité :
    La capacité totale est égale à celle du plus petit élément de la grappe. L'espace excédentaire des autres éléments de la grappe restera inutilisé. Il est donc conseillé d'utiliser des éléments identiques.
  • Fiabilité :
    Cette solution offre un excellent niveau de protection des données. Elle accepte une défaillance de n − 1 éléments.
  • Coût :
    Les coûts de stockage sont élevés et directement proportionnels au nombre de miroirs utilisés alors que la capacité totale reste inchangée. Plus le nombre de miroirs est élevé, et plus la sécurité augmente, mais plus son coût devient prohibitif.

Les accès en lecture du système d'exploitation se font sur le disque le plus facilement accessible à ce moment-là. Les écritures sur la grappe se font de manière simultanée sur tous les disques, de façon à ce que n'importe quel disque soit interchangeable à tout moment.

Lors de la défaillance de l'un des disques, le contrôleur RAID désactive, de manière transparente pour l'accès aux données, le disque incriminé. Une fois le disque défectueux remplacé, le contrôleur RAID reconstitue, soit automatiquement, soit sur intervention manuelle, le miroir. Une fois la synchronisation effectuée, le RAID retrouve son niveau initial de redondance.

RAID 5 : volume agrégé par bandes à parité répartie

RAID 5

Le RAID 5 combine la méthode du volume agrégé par bandes (striping) à une parité répartie. Il s'agit là d'un ensemble à redondance N + 1. La parité, qui est incluse avec chaque écriture se retrouve répartie circulairement sur les différents disques. Chaque bande est donc constituée de N blocs de données et d'un bloc de parité. Ainsi, en cas de défaillance de l'un des disques de la grappe, pour chaque bande il manquera soit un bloc de données soit le bloc de parité. Si c'est le bloc de parité, ce n'est pas grave, car aucune donnée ne manque. Si c'est un bloc de données, on peut calculer son contenu à partir des N − 1 autres blocs de données et du bloc de parité. L'intégrité des données de chaque bande est préservée. Donc non seulement la grappe est toujours en état de fonctionner, mais il est de plus possible de reconstruire le disque une fois échangé à partir des données et des informations de parité contenues sur les autres disques.

On voit donc que le RAID 5 ne supporte la perte que d'un seul disque à la fois. Ce qui devient un problème depuis que les disques qui composent une grappe sont de plus en plus gros (1 To et plus). Le temps de reconstruction de la parité en cas de disque défaillant est allongé. Il est généralement de 2 h pour des disques de 300 Go contre une dizaine d'heure pour 1 To. Pour limiter le risque il est courant de dédier un disque dit de spare. En régime normal il est inutilisé. En cas de panne d'un disque il prendra automatiquement la place du disque défaillant. Cela nécessite une phase communément appelée "recalcul de parité". Elle consiste pour chaque bande à recréer sur le nouveau disque le bloc manquant (données ou parité).

Bien sûr pendant tout le temps du recalcul de la parité le disque est disponible normalement pour l'ordinateur qui se trouve juste un peu ralenti.

Exemple pratique : Considérons quatre disques durs A, B, C et D, de tailles identiques. Le système va enregistrer les premiers blocs en les répartissant sur les disques A, B et C comme en mode RAID 0 (striping) et, sur le disque D, le résultat de l'opération OU exclusif entre les autres disques (ici A xor B xor C). Ensuite le système va enregistrer les blocs suivants en les répartissant sur les disques D, A et B, puis la parité (soit D xor A xor B) sur le disque C, et ainsi de suite en faisant permuter circulairement les disques, à chaque bloc. La parité se trouve alors répartie sur tous les disques.
En cas de défaillance d'un disque, les données qui s'y trouvaient pourront être reconstituées par l'opération xor. En effet, l'opération XOR ( \oplus ) a la propriété suivante : si on considère N blocs de taille identique \scriptstyle A_1, A_2 \cdots A_N et si \scriptstyle A_1 \oplus A_2 \oplus \cdots A_N = X alors \scriptstyle X \oplus A_2 \oplus \cdots A_N = A_1 , et de façon générale, \scriptstyle A_1 \oplus \cdots A_{k-1} \oplus X \oplus A_{k+1} \oplus \cdots A_N = A_k .
C'est-à-dire que n'importe quel bloc de données Ak perdu à cause d'un disque défaillant sur un RAID 5 de N + 1 disques peut-être récupéré grâce au bloc X de données de contrôle.
On voit donc que si on veut écrire dans un bloc, il faut lire le bloc à modifier. Lire le bloc de parité de la bande. Écrire le bloc de données et le bloc de parité. L'opération xor permet heureusement de calculer la nouvelle parité sans avoir besoin de lire les N blocs de données de la bande. Augmenter le nombre de disque d'une grappe RAID 5 n'allonge donc pas le temps de lecture ou d'écriture. Cependant si plusieurs processus veulent écrire simultanément dans un ou plusieurs blocs de données d'une même bande la mise à jour du bloc de parité devient un point de blocage. Les processus concurrents sont suspendus à la libération du bloc de parité et de fait cela limite le débit d'écriture. Plus le nombre de disque d'une grappe RAID 5 augmente plus le temps de reconstruction d'un disque défaillant augmente. Puisque pour reconstituer le bloc manquant d'une bande il faut lire tous les autres blocs de la bande et donc tous les autres disques.

Ce système nécessite impérativement un minimum de trois disques durs. Ceux-ci doivent généralement être de même taille, mais un grand nombre de cartes RAID modernes autorisent des disques de tailles différentes.

La capacité de stockage utile réelle, pour un système de X disques de capacité c identiques est de (X-1)\times c . En cas d'utilisation de disques de capacités différentes, le système utilisera dans la formule précédente la capacité minimale.

Ainsi par exemple, trois disques de 100 Go en RAID 5 offrent 200 Go utiles ; dix disques, 900 Go utiles.

Ce système allie sécurité (grâce à la parité) et bonne disponibilité (grâce à la répartition de la parité), même en cas de défaillance d'un des périphériques de stockage.

Il existe une variante : le « RAID 5 orthogonal » où chaque disque a son propre contrôleur. Toutes les autres fonctionnalités sont identiques.

On a souvent tendance à croire qu'un système RAID 5 est totalement fiable. Il est en effet généralement admis que la probabilité de défaillance simultanée de plusieurs disques est extrêmement faible — on parle évidemment d'une défaillance entraînant la perte de données définitive sur plusieurs disques et non d'une simple indisponibilité de plusieurs disques. Cela est vrai pour une défaillance générale d'une unité de disque. Cependant, cela est faux si l'on considère comme "défaillance" un seul secteur devenu illisible.

En effet, dans la pratique, il est très rare que toutes les données d'un volume soient lues régulièrement. Et quand bien même ce serait le cas, la cohérence de la parité n'est que très rarement vérifiée pour des raisons de performances. Il est donc probable que des défauts tels que des secteurs de parité illisibles ne soient pas détectés pendant une très longue période. Lorsque l'un des disques devient réellement défectueux, la reconstruction nécessite de parcourir l'intégralité des disques restants. On peut alors découvrir des défauts qui étaient restés invisibles jusque-là.

Tout ceci pourrait ne pas être bien grave et occasionner la perte d'une quantité de données minime (un secteur de disque), cependant, l'extrême majorité des contrôleurs RAID est incapable de gérer les défaillances partielles : ils considèrent généralement qu'un disque contenant un secteur illisible est totalement défaillant. À ce moment-là, 2 disques sont considérés défaillants simultanément et le volume RAID 5 devient inutilisable. Il devient extrêmement difficile de récupérer les données.

Un système RAID 5 doit donc être vérifié et sauvegardé très périodiquement pour s'assurer que l'on ne risque pas de tomber sur ce genre de cas.

  • Avantages :
performances en lecture aussi élevées qu'en RAID 0 et sécurité accrue
surcoût minimal (capacité totale de n − 1 disques sur un total de n disques)
  • Inconvénients :
pénalité en écriture du fait du calcul de la parité
minimum de 3 disques

Les niveaux de RAID peu courants

NRAID (ou JBOD - Just a Bunch Of Disks) : concaténation de disques

3 disques en JBOD

NRAID : Near/Non Redundant Array of Inexpensive/Independent Disk

La concaténation de disques consiste à additionner les capacités de plusieurs disques durs en un volume logique d'une taille équivalente à la somme des tailles de disques durs. Cette méthode utilise une méthode d'écriture séquentielle : les données ne sont écrites sur le disque dur suivant que lorsqu'il ne reste plus de place sur le précédent.

Le NRAID n'est pas à proprement parler un RAID, et il ne permet d'ailleurs aucune redondance de données, mais il offre cependant une tolérance aux pannes supérieure au RAID 0. On le rencontre souvent sous le nom de JBOD (Just a Bunch Of Disks).

RAID 2 : volume agrégé par bandes à parité

Le RAID 2 est aujourd'hui obsolète. Il combine la méthode du volume agrégé par bande (striping en anglais) à l'écriture d'un code de contrôle d'erreur par code de Hamming (code ECC) sur un disque dur distinct. Cette technologie offre un bon niveau de sécurité, mais de mauvaises performances.

RAID3 et RAID4

RAID 3

Le RAID3 et le RAID4 sont sensiblement semblables sauf que le premier travaille par octets et le second par blocs. Le RAID4 ne nécessite pas autant de synchronisme entre les disques. Le RAID3 tend donc à disparaître au profit du RAID4 qui offre des performances nettement supérieures.

Ces niveaux de RAID nécessitent une matrice de n disques (avec n\ge3 ). Les n − 1 premiers disques contiennent les données tandis que le dernier disque stocke la parité (Voir ).

  • Si le disque de parité tombe en panne, il est possible de reconstruire l'information de parité avec le contenu des autres disques de données.
  • Si l'un des disques de données tombe en panne, il est possible de reconstruire l'information avec le contenu des disques de données restants et celui du disque de parité.

Il est important que le disque de parité soit de bonne qualité car il est à tout instant sollicité à l'écriture. Ce dernier point est une des limitations du RAID 3.

De même, si plus d'un disque vient à défaillir, il est impossible de remédier à la perte de données.

RAID 6

RAID 6

Le RAID 6 est une évolution du RAID 5 qui accroît la sécurité en utilisant n informations redondantes au lieu d'une. Il peut donc résister à la défaillance de n disques. Les fondements mathématiques utilisés pour les informations de redondance du RAID 6 sont beaucoup plus complexes que pour le RAID 5 ; les implémentations de l'algorithme se limitent souvent à n = 2 (soit la perte de 2 disques) de ce fait.

Des explications intéressantes mais un peu ardues sont disponibles dans la version anglaise de cet article ainsi que dans Les mathématiques du RAID 6.

Si la sécurité est plus grande, le coût en matériel est plus élevé et la vitesse est moindre. La puissance CPU nécessaire pour calculer les redondances et surtout pour reconstruire un volume défectueux est également nettement plus importante.

Les défauts majeurs sont :

  • Les temps d'écriture sont longs à cause des calculs de redondance complexes.
  • Le temps de reconstruction en cas de défaillance simultanée de 2 disques est extrêmement long.

Le RAID 6 était peu utilisé du fait de son surcoût. La récente envolée des capacités des disques ainsi que la vulgarisation de solution professionnelle à base de disque SATA a montré un intérêt nouveau dans l'utilisation du RAID 6, que ce soit par le biais de contrôleur Raid Hardware ou via du raid logiciel (Linux-2.6 intègre le RAID 6).

La capacité totale (Ct), pour un système avec n disques, est de C_t=(n-2)\times c . (c = capacité du plus petit des disques dur)

RAIDn

Un système de stockage grevé de brevets appelé RAIDn prétend permettre de dépasser largement les capacités du RAID 6.

RAID DP

RAID DP (Dual Parity) ressemble au RAID6 à ceci près qu'en RAID DP les disques de parité sont fixes. Ce type de RAID est adopté en général sur les baies de stockage NAS.

Les niveaux de RAID combinés

Fondamentalement, un niveau de RAID combiné est l'utilisation d'un concept de RAID classique sur des éléments constitutifs qui sont eux-mêmes le résultat d'un concept RAID classique. Le concept utilisé peut être le même ou différent.

La syntaxe est encore un peu floue mais on peut généralement considérer que le premier chiffre indique le niveau de raid des "grappes" et que le second indique le niveau de raid global. Dans l'absolu rien n'empêche d'imaginer des RAID combinés à 3 étages ou plus mais cela reste pour l'instant plus du domaine de la théorie et de l'expérimentation.

Le nombre important (et croissant) de permutations possibles fait qu'il existe une multitude de raid combinés et nous n'en ferons pas l'inventaire. Nous pouvons cependant présenter les avantages et les faiblesses des plus courants.

Pour les calculs suivants, on utilise les variables suivantes :

  • G : nombre de disques par grappe ;
  • N : nombre de grappes ;
  • C : capacité d'un disque (tous les disques sont supposés identiques) ;
  • V : vitesse d'un disque.

le RAID 01 (ou RAID 0+1)

RAID 0+1

Il permet d'obtenir du mirroring rapide puisqu'il est basé sur des grappes en striping. Chaque grappe contenant au minimum 2 éléments, et un minimum de 2 grappes étant nécessaire, il faut au minimum 4 unités de stockage pour créer un volume RAID0+1.

La fiabilité est moyenne car un disque défectueux entraîne le défaut de toute une grappe. Par ailleurs, cela allonge beaucoup le temps de reconstruction et dégrade les performances pendant la reconstruction. L'intérêt principal est que dans le cas d'un miroir à 3 grappes ou plus, le retrait volontaire d'une grappe entière permet d'avoir une sauvegarde "instantanée" sans perdre la redondance.

Capacité totale : C_t = G\times C
Vitesse maximale : V_m = G\times V
Seuil de mise en défaut : N disques

RAID 10 (ou RAID 1+0)

RAID 10

Il permet d'obtenir un volume agrégé par bande fiable (puisqu'il est basé sur des grappes répliquées). Chaque grappe contenant au minimum 2 éléments et un minimum de 2 grappes étant nécessaire, il faut au minimum 4 unités de stockage pour créer un volume RAID10.

Sa fiabilité est assez grande puisqu'il faut que tous les éléments d'une grappe soient défectueux pour entraîner un défaut global. La reconstruction est assez performante puisqu'elle ne mobilise que les disques d'une seule grappe et non la totalité.

Capacité totale : C_t=N\times C
Vitesse maximale : V_m = N\times V
Seuil de mise en défaut : G disques

RAID 05

Même principe que pour le raid 0+1 mais en employant du RAID5 pour la partie globale. Chaque grappe contenant au minimum 2 disques, et un minimum de 3 grappes étant nécessaire, il faut au minimum 6 unités de stockage pour créer un volume RAID05. Ce mode ne présente pas d'intérêt majeur par rapport à un RAID5 classique à N * G disques. Il est donc très peu utilisé.

Capacité totale : C_t = (N-1)\times (G\times C)
Vitesse maximale : V_m = (N-1)\times (G\times V) (cette formule néglige les temps de calcul de parité)
Seuil de mise en défaut  : 2 disques

RAID 15

Il permet d'obtenir un volume agrégé par bandes avec redondance répartie très fiable (puisqu'il est basé sur des grappes répliquées en miroir). Chaque grappe contenant au minimum 2 disques, et un minimum de 3 grappes étant nécessaire, il faut au minimum 6 unités de stockage pour créer un volume RAID15. Ce mode est très fiable puisqu'il faut que tous les disques de 2 grappes différentes cessent de fonctionner pour le mettre en défaut. Ce mode est cependant coûteux par rapport à la capacité obtenue.

Capacité totale : C_t = (N-1)\times C
Vitesse maximale : V_m = (N-1)\times V (cette formule néglige les temps de calcul de parité)
Seuil de mise en défaut : 2\times G disques

RAID 50

Il permet d'obtenir un volume agrégé par bandes basé sur du RAID 5. Chaque grappe contenant au minimum 3 disques, et un minimum de 2 grappes étant nécessaire, il faut au minimum 6 unités de stockage pour créer un volume RAID 50. Un des meilleurs compromis lorsque l'on cherche la rapidité sans pour autant vouloir trop dégrader la fiabilité. En effet, l'agrégat par bande (fragile) repose sur des grappes redondantes. Il suffit cependant que 2 disques d'une même grappe tombent en panne pour le mettre en défaut.

Capacité totale : C_t = N\times (G-1)\times C
Vitesse maximale : V_m = N\times (G-1)\times V (cette formule néglige les temps de calcul de parité)
Seuil de mise en défaut : 2 disques

RAID 51

RAID 51

Il permet d'obtenir un volume répliqué basé sur des grappes en RAID5. Chaque grappe contenant au minimum 3 disques, et un minimum de 2 grappes étant nécessaire, il faut au minimum 6 unités de stockage pour créer un volume RAID51. C'est un mode coûteux (faible capacité au regard du nombre de disques).

Capacité totale : C_t = (G-1)\times C
Vitesse maximale en écriture : V_Mw = (G-1)\times V (cette formule néglige les temps de calcul de parité)
Vitesse maximale en lecture  : V_Mr = N\times (G-1)\times V (cette formule théorique suppose une optimisation maximale qui n'est jamais atteinte)
Seuil de mise en défaut : 2\times (N-1) disques

Les niveaux de RAID spéciaux

RAID 5E

Le RAID 5E (E pour Enhanced, "amélioré") est une variante du RAID 5 dans laquelle des bandes de rechange sont réservées. Ces bandes sont réparties sur les disques de manière circulaire, comme pour la parité.

RAID 5EE

Le RAID 5EE (E pour Enhanced, "amélioré") est une variante du RAID 5E qui offre de meilleurs temps de reconstruction. Contrairement au RAID 5E, l'espace de rechange réservé au sein de la grappe est distribué à travers tous les disques physiques.

RAID 5DP

RAID DP (Dual Parity) ressemble au RAID 6 à ceci près qu'en RAID DP les disques de parité sont fixes. Ce type de RAID est adopté en général sur les baies de stockage NAS.

RAID TP

Le RAID TP pour Triple Parity RAID technology a la même organisation que le RAID 6 mais utilise 3 codes de redondance. Ceci permet de continuer de fonctionner après la panne simultanée de 3 disques.

Double parité

RAID 1.5

Le RAID 1.5 est une évolution du RAID 1. Les accès en lecture ne se font non plus depuis un seul disque, mais en parallèle depuis tous les disques à la manière d'un RAID 0 ce qui apporte un gain sensible en performances, sans rien changer à la fiabilité.

RAID 7, RAID ADG

L'évolution du RAID 3 permettant de fonctionner le tout de manière asynchrone. Il a été annoncé comme plus performant de 1,5x à 6x que n'importe quel autre RAID. Tout comme le RAID 3, un seul disque contient les parités de tous. Chaque disque a un contrôleur SCSI/SATA/Fibre_Channel/... et le système est régi par une carte calculant la parité, gérant le cache et contrôlant les disques.

Cette version, développée par Storage Computer Corporation, est propriétaire et s'avère très coûteuse à mettre en place.

RAID S

Le RAID S est un RAID 5 estampillé EMC² employé dans la gamme Symmetrix que l'on ne retrouve donc pas chez les autres constructeurs.

Matrix RAID

L'Intel Matrix Storage Technology est disponible sur les chipsets ICH6R et ICH6RW. Il s'agit d'une solution RAID basée sur 4 ports Serial-ATA qui va permettre de mettre des disques durs en RAID de façon moins contraignante que les solutions actuelles. En effet les contrôleurs RAID actuels ne permettent avec deux disques identiques que de faire soit du RAID 0, soit du RAID 1. Bref, c'est l'un ou l'autre. Avec le Matrix RAID, Intel permet de combiner sur deux disques à la fois du RAID 0 et du RAID 1. Par exemple avec deux disques durs 250 Go, il est possible de créer un RAID 0 (striping) de 100 Go (les 50 premiers Go de chaque disque) et un RAID1 (mirroring) de 200 Go avec les 400 Go restant. Avec les RAID traditionnels, un RAID 0 et un RAID 1 dans une même configuration nécessite l'usage de quatre disques. Même si c'est évident, ajoutons que l'ICH6R ne permet pas de faire du RAID 0+1 avec deux disques durs.

Aujourd'hui jusqu'à l'ICH8R/DO il est possible de faire un RAID-5 maximum avec 4 disques, depuis l'ICH9R/DO il est possible de faire un RAID-5 de 6 disques pour un maximum de capacité. En plus avec l'ICH 9/10 DO il est possible de rajouter un disque à une grappe existante.

IBM ServeRAID 1E

Le Raid 1E est un système de mirroring par bandes permettant d'utiliser un nombre de disques supérieur à 2 pair ou impair. Les données sont découpées par bandes qui sont mirrorrées (dupliquées) sur un des autres disques de la grappe. La capacité totale du volume logique est égal a la moitié de celle du volume physique.

Sun RAID-Z

Le système ZFS de Sun intègre un schéma de redondance similaire au RAID 5 qui se nomme le RAID-Z. Le RAID-Z évite le « trou d'écriture » (write hole) du RAID 5 par une règle de copie-sur-écriture : plutôt que d'écrire par dessus des anciennes données avec de nouvelles, il écrit les nouvelles données dans un nouvel emplacement puis réécrit le pointeur vers les nouvelles données. Cela évite les opérations de lire-modifier-écrire pour des petits enregistrements en ne faisant que des écritures full-strip. Des petits blocs sont écrits en miroir au lieu d'être protégés en parité, ce qui est possible car le système de fichiers est conscient de la sous-structure de stockage et peut allouer de l'espace supplémentaire si nécessaire. Il existe également un RAID-Z2 qui utilise deux types de parités pour parvenir à un résultat similaire au RAID 6 : la possibilité de perdre jusqu’à deux disques sans perdre de données.

Le système RAID-Z est plus performant que le RAID 5.

X-RAID (NetGear)

Le système X-RAID est une technologie développée par Netgear sur sa suite de produit ReadyNAS. Cette technologie permet suivant le nombre de disque de choisir entre les différents types de RAID et de passer de l'un à l'autre sans perte de données ou d'arret du service. X-RAID utilise principalement les RAID 1 et 5.

Page générée en 0.163 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise