thumb|Schéma de principe d'une grappe de disques en RAID 5 Le RAID est un ensemble de techniques de virtualisation du stockage permettant de répartir des données sur plusieurs supports de stockage de données afin d'améliorer ou d'augmenter, la fiabilité, la disponibilité, les performances et la capacité (ou une combinaison de ces paramètres) du système de stockage.

L'acronyme RAID peut être lu comme Redundant Array of Inexpensive Disks (Groupe - ou matrice - Redondante de Disques Économiques) postérieurement redéfini par les constructeurs de ces solutions en Redundant Array of Independent Disk (Groupe Redondant de Disques Indépendants).

De tels systèmes étaient déjà utilisés sur différents systèmes avant l'apparition de cet acronyme.

Le terme RAID est suivi d'un chiffre indiquant son type. Par exemple le RAID 1 correspond à utiliser des unités de stockage en miroir. Initialement définis pour des disques durs, le terme peut être utilisé pour des type de stockage totalement différents, du SSD à des disques virtuels.

Historique

Dans les années 1970, le système de disque en miroir, RAID 1, était une technique couramment utilisée, par exemple dans les système à tolérance de panne comme les ordinateurs de la gamme NonStop de Tandem. En 1983 une solution de mise en miroir de disques pour leur sous système HSC50 est commercialisé par DEC.

En 1978, Norman Ken Ouchi (IBM), dépose un brevet déposé par Norman Ken Ouchi pour un système similaire au RAID 4.

En 1986 Clark et al. (IBM) déposent un brevet de ce qui sera ensuite nommé RAID 5

Le Data Vault, système de stockage des superordinateurs Connection Machines (Thinking Machines) est basé sur un RAID 2, similaire à ce qu'IBM proposait sur l'IBM 353.

Le terme RAID provient de l'article A Case for Redundant Arrays of Inexpensive Disks (RAID) publié en 1987. Il soutient qu'il est possible d'obtenir de meilleures performances que celles des mainframes de l'époque en utilisant des disques durs peu chers développés pour le segment des ordinateurs personnels. Comme la solution inclut un nombre élevé de disques durs, elle est donc sujette à plus de pannes, et c'est le système RAID de gestion de la redondance qui permet d'offrir une disponibilité supérieure à celle d'un disque unique.

Les différents niveaux de RAID Les différents types d'architecture RAID sont numérotés à partir de 0 et peuvent parfois être combinés : RAID 0+1, 1+0, etc.

RAID 0 : fragmentation des données sur plusieurs supports thumb|upright|Structure RAID 0

Les blocs de données sont alternativement stockés sur les supports disponibles. Cela confère une plus grande rapidité au détriment de la fiabilité de l'ensemble. Les blocs de données peuvent être écrits ou lus en parallèle, à la vitesse maximum du périphérique le plus lent. La panne d'un seul des volumes entraine une perte de la totalité des données.

La capacité totale est un multiple du plus petit support utilisé : on utilise donc des supports de même capacité.

Le RAID 0 est parfois appelé « entrelacement de disques » ou de « volume agrégé par bandes » ( en anglais).

Il est utilisé dans les cas où la perte des données n'est pas un problème, par exemple :

données temporaires (résultats de calculs intermédiaires, etc.) données stockées ailleurs (sauvegarde, système distant) mise en cache pour accès rapide de données pourtant locales (fichiers vidéo à streamer, fichiers de jeux vidéo permettant leur chargement plus rapide, etc.).

RAID 1 : Disques en miroir thumb|upright|Structure RAID 1 Le RAID 1 consiste en l'utilisation de disques redondants (avec ), chaque disque de la grappe contenant à tout moment exactement les mêmes données, d'où l'utilisation du mot « miroir » ( 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 restant inutilisé. Il est donc conseillé d'utiliser des éléments de capacité identique. Fiabilité Cette solution offre un excellent niveau de protection des données. Elle fonctionne tant qu'il reste au moins un disque fonctionnel. Coût Les coûts de stockage sont élevés et directement proportionnels au nombre de miroirs utilisés, alors que la capacité utile reste inchangée. Plus le nombre de miroirs est élevé, et plus la sécurité augmente, mais plus son coût devient rédhibitoire.

La vitesse d'écriture est celle du disque le plus lent. La vitesse de lecture peut être légèrement augmentée si le contrôleur est capable de répartir la charge sur tous les disques.

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.

Nota. : la migration du RAID 1 vers RAID 0, RAID 5, RAID 6 est presque toujours envisageable, ce qui fait du RAID 1 une bonne solution de départ si on n'a pas un besoin important en performance .

RAID 5 : volume agrégé par bandes à parité répartie thumb|upright|Structure RAID 5 Le RAID 5 combine la méthode du volume agrégé par bandes () à une parité répartie. Il s'agit là d'un ensemble à redondance . 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 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 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 ( et plus), car le temps de reconstruction de la parité en cas de disque défaillant est allongé (ce qui augmente la probabilité de survenue d'une nouvelle défaillance car les autres disques durs sont sollicités de façon intensive durant la reconstruction). Ainsi, le temps de reconstruction est long, et plus les disques sont volumineux, plus la durée de reconstruction est longue. Pour limiter le risque, il est courant d'ajouter un disque de rechange (), dédié au remplacement immédiat d'un éventuel disque défaillant : en régime normal celui-ci 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é, consistant à recréer sur le nouveau disque le bloc manquant (données ou parité) pour chaque bande. Pendant le processus de recalcul de parité, le volume RAID reste disponible normalement, le système se trouve juste un peu ralenti.

Exemple pratique : Considérons quatre disques durs A, B, C et D, de taille identique. Le système va répartir les premiers blocs sur les disques A, B et C comme en mode RAID 0 () et, sur le disque D, le résultat de l'opération OU exclusif entre les autres disques (ici A xor B xor C). Il va répartir les blocs suivants 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 permutant circulairement les disques, à chaque bloc. La parité se trouve alors répartie sur l'ensemble des 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 () a la propriété suivante : si on considère blocs de taille identique et si alors , et de façon générale, . C'est-à-dire que n'importe quel bloc de données perdu à cause d'un disque défaillant sur un RAID 5 de disques peut être récupéré grâce au bloc 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 blocs de données de la bande. Augmenter le nombre de disques 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 disques 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, bien que cela ne soit pas optimal. La capacité de stockage utile réelle, pour un système de disques de capacité identiques est de . 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 en RAID 5 offrent utiles ; dix disques, 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 varientable » où chaque disque a son propre contrôle. 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 d'accès complète et définitive aux données de 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 dans cet exemple soit généralement 512 octets), cependant, l'immense majorité des contrôleurs RAID sont incapables de gérer les défaillances partielles et considèrent généralement comme « défaillant » un disque contenant un seul secteur illisible. Donc, si un disque dur tombe en panne, tandis qu'un secteur illisible est rencontré au moment de la reconstruction, deux disques sont considérés défaillants simultanément et le volume RAID 5 devient inutilisable. Il devient alors difficile et coûteux de récupérer les données non sauvegardées.

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

Avantages :