Raid (informatique)
En informatique, le terme de raid (Redundant Array of
Independent Disks, c'est-à-dire un goupe de disques redondants et indépendants) désigne une architecture matérielle
(et parfois logicielle) permettant d'accélérer, de sécuriser et de fiabiliser les accès aux données stockées sur disques durs. Cette architecture est basée sur la multiplication des disques durs, par
opposition à la méthode sled (Single Large Expensive Disk) où toutes les données sont rassemblées sur un seul disque de
prix élevé.
La première description de cette architecture apparut dans une publication de 1987
intitulée A Case of Redundant Arrays of Inexpensive Disks (RAID) (Patterson, Gibson & Katz - Université de Californie - Berkeley). Cet article
comparait le raid au sled et proposait cinq niveaux différents de raid, chacun d'eux ayant ses avantages et ses
inconvénients.
Description
Dans une architecture de type sled (utilisation d'un seul disque), la bonne conservation des données est dépendante de la
moindre défaillance du disque dur. Lorsqu'une panne survient, la seule façon de récupérer les données est le recours à la
dernière sauvegarde, sachant que la
restauration d'une sauvegarde à partir d'une bande peut prendre plusieurs heures — durée pendant laquelle l'ordinateur est
inutilisable. Pour un particulier, un tel downtime (temps d'inactivité de la machine) est acceptable mais, pour une
société travaillant 24 heures sur 24, une telle panne peut rapidement devenir critique pour la santé de l'entreprise. Dans ce
cas, l'utilisation de certains niveaux de raid permet de minimiser les risques de perte de données, car :
- la défaillance d'un des disques du raid ne gêne pas le fonctionnement des autres disques et la machine continue de
fonctionner normalement,
- les données du disque défaillant sont reconstruites à partir des autres disques pendant l'utilisation normale de
l'ordinateur.
Ainsi, même en cas de panne de l'un des disques, l'activité de l'entreprise continue de façon ininterrompue.
D'autre part, si une application nécessite un disque dur permettant des temps de lecture et d'écriture extrêmement rapides, le
raid permet d'atteindre d'excellents temps de réponse, même en utilisant des disques bon marché et de performance moyenne.
Dans de telles situations, les architectures raid se révèlent donc idéales, tant du point de vue de leurs performances que de
leur fiabilité. D'autre part, si le raid semble compliquer l'architecture de l'ordinateur, il reste complètement invisible à
l'utilisateur de l'ordinateur ; en effet, quel que soit le nombre de disques physiques utilisés pour construire le
raid, l'utilisateur de la machine ne verra jamais qu'un seul grand disque logique, auquel il accédera de façon tout à
fait habituelle...
Les différents types de raid
Les différents types d'architectures raid sont numérotés à partir de 0 et peuvent se combiner entre eux (on parlera alors de
raid 0+1, 1+0...).
Raid 0 (stripping)
- Dans cette configuration, chaque octet est divisé en autant de morceaux qu'il y a de
disques. Exemple : avec un raid 0 composé de quatre disques, si l'on veut écrire l'octet 00111001, le stockage des
différents bits composant cet octet se fera de la façon suivante :
- disque 1 : 00
- disque 2 : 11
- disque 3 : 10
- disque 4 : 01
- Ainsi, sur un raid 0 de n disques, chaque disque ne doit lire et écrire que 1/n des données, ce qui a pour
effet de décupler les taux de transfert des données entre le CPU et les disques, et donc
d'accélérer les traitements.
- Ce type de raid est parfait pour des applications requérant un traitement rapide d'un 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, ce qui fait du raid 0 une solution moins fiable que l'utilisation d'un seul disque de stockage,
puisque la probabilité de défaillance d'un des disques du raid est largement supérieure à la probabilité de défaillance d'un
disque unique.
Raid 1 (mirroring)
- Le raid 1 consiste en l'utilisation de disques redondants, c'est-à-dire n disques (en général deux) sur lesquels
sont copiées exactement les mêmes données. Si cette solution n'apporte aucun gain de performance, elle permet en revanche de
sécuriser les données en cas de défaillance d'un des disques.
- Chaque écriture de données s'effectue simultanément sur tous les disques participant au raid. Tous les disques du raid sont
donc à tout moment interchangeables. Lors de la défaillance de l'un des disques, le contrôleur raid (matériel ou logiciel)
désactive instantanément le disque incriminé, sans que le fonctionnement général de l'ordinateur n'en soit affecté : les
traitements continuent à s'effectuer sur les disques restants. Une fois le disque défectueux remplacé, le contrôleur raid entame,
soit automatiquement, soit suite à une intervention de l'administrateur de la machine, une tâche de synchronisation du nouveau
disque avec les disques actifs. En général, cette tâche s'effectue pendant le fonctionnemet normal de la machine, sans perturber
les autres traitements. Ce n'est que lorsque cette synchronisation est terminée (c'est-à-dire quand le contenu du nouveau disque
est à nouveau identique à celui des autres) que ce nouveau disque est intégré dans le raid en tant que disque
actif.
Raid 2
- Le raid 2 fonctionne de manière similaire au raid 0. La différence principale est qu'on enregistre un bit et non plus un bloc
par disque. Cela implique que, pour une machine travaillant avec des mots de n bits, les n + bits de parité disques soient synchrones, au niveau rotationnel et du
positionnement des têtes.
- Dans le cas d'une panne de disque, le mot à lire est facilement récupérable grâce au code de hamming, d'autant plus qu'on sait quel disque est en panne.
- Le système permet le changement d'un disque à chaud.
Raid 3
- Le RAID 3 nécessite une matrice de trois disques au minimum.
- n-1 disques contiennent les données (type RAID 0) et le dernier disque stocke la parité.
- En effet si un des disques de données tombe en panne, il est possible de reconstruire l'information avec le disque de parité
et dans le cas où celui-ci tombe en panne, le système devient alors un RAID 0.
- Il est important que le disque de parité soit de bonne qualité car il est à tout instant sollicité à l'écriture. Ce dernier
point est la limitation du RAID 3.
Raid 4
- Le RAID 4 est sensiblement semblable au RAID 3 sauf sur le point où il travaille par blocs et non par octets ce qui ne
nécessite plus de synchronisation entre les disques.
Raid 5
- Le raid 5 associe le stripping et un système à parité répartie, il permet une bonne disponibilité (même en
cas de défaillance d'un des périphériques de stockage).
- Exemple pratique : sur la base de trois disques dur de taille identique A, B et C, le système va enregistrer sur les
disques A et B les données comme en mode raid 0 (stripping) et, sur le disque C, le résultat de l'opération
ou-exclusif entre A et B (A xor B).
- ainsi, en cas de défaillance du disque A, les données qui y étaient accessibles le sont toujours avec les disques B et C, par
l'opération B xor C, en effet B xor C = A. Il en va de même pour le disque B. Et si le disque C tombe en panne, les informations
sont toutes sur A et B.
- Important : les diques doivent être de même taille. Et vous ne pourrez stocker que sur les deux tiers de la place totale
des disques (le dernier tiers étant le disque C).
L'orthogonal Raid 5 (Raid 5+)
- L’orthogonal raid 5 est une technique logicielle créée par IBM. Ce mode est identique au
raid 5 dans toutes ses fonctionnalités. La seule différence notable est l’utilisation d’un contrôleur par disque. Ce qui permet
d’augmenter la sécurité des données. En effet, même si l’un des contrôleurs tombe en panne, les données sont sauves.
Raid 6
- Une évolution du Raid 5 qui accroit la sécurité en utilisant deux parités au lieu d'une.
- Si la sécurité est plus grande, le coût est plus élevé (deux disques au lieu d'un) et la vitesse est moindre deux écriture au
lieu d'une.
- Le RAID 6 est peu utilisé du fait de son surcoût et la maigre probabilité d'une panne simultanée de deux disques.
Raid 7
- 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 et le système est régi par une carte calculant la
parité, gérant le cache et contrôlant les disques.
- Cette version a été développée par Storage
Computer Corporation , est propriétaire et s'avère très coûteuse à mettre en
place.
Raid 01
- La cascade d'un RAID 0 et d'un RAID 1. Deux groupes de n disques en RAID 0, ces deux groupes sont eux en RAID
1.
- Une panne dans un des groupes et le groupe est mort. Si deux disques dans l'un ou l'autre des groupes meurt le tout est
perdu.
Raid 10
- Cascade d'un RAID 1 et d'un RAID 0. n groupes de deux disques en RAID 1, tous ceux-ci en RAID 0. Ici, il faut que
deux disques d'un même groupe rendent l'âme pour que le tout soit perdu. Ce qui réduit la probabilité.
- Le RAID 10 est plus fiable et plus rapide à se reconstruire en cas de panne que le 01. Il est donc plus courant.
Raid 50
- Exactement comme le RAID 10, avec au lieu d'un RAID 1, un RAID 5.
- Il a comme avantages un bon débit et une bonne fiabilité.
Nombre d'interfaces vers les disques
Un paramètre à ne pas oublier dans la conception d'un raid est le nombre de cartes d'interface vers les disques (cartes
IDE ou SCSI). En effet, si le raid que l'on veut mettre
en place se compose d'un nombre important de disques, la carte d'interface à laquelle sont connectés les disques deviendra vite
un goulet d'étranglement lors du transfert des données du CPU vers le raid. Si la fiabilité du raid n'en sera pas affectée, les
performances, elles, se révéleront médiocres voire mauvaises.
Il ne faut donc pas hésiter à multiplier le nombre de cartes d'interface. D'ailleurs, idéalement, chaque disque participant à
un raid devrait être connecté à sa propre carte IDE ou SCSI de façon à ce qu'il puisse utiliser le taux de transfert maximal
permis par l'interface à laquelle il est connecté.
Raid matériel, raid logiciel
Utilisation de disques Hot Swappables
Lien externe

