RAID (informatique)

Infos
En informatique, le mot RAID désigne une technologie permettant de stocker des données sur de multiples disques durs, en général de manière redondante, afin d'améliorer certaines caractéristiques essentielles de l'ensemble en fonction du type de RAID choisi, qu'il s'agisse de la tolérance aux pannes, de l'intégrité des données, ou des performances de l'ensemble. RAID était à l'origine l'acronyme de Redundant Array of Inexpensive Disks, ce qu
RAID (informatique)

En informatique, le mot RAID désigne une technologie permettant de stocker des données sur de multiples disques durs, en général de manière redondante, afin d'améliorer certaines caractéristiques essentielles de l'ensemble en fonction du type de RAID choisi, qu'il s'agisse de la tolérance aux pannes, de l'intégrité des données, ou des performances de l'ensemble. RAID était à l'origine l'acronyme de Redundant Array of Inexpensive Disks, ce qui signifie « matrice redondante de disques bons marchés ». Aujourd'hui, le mot est devenu l'acronyme de Redundant Array of Independent Disks, ce qui signifie « matrice redondante de disques indépendants », car les disques durs sont de bien meilleure qualité qu'à l'époque.

Historique

En 1978, un employé d'IBM, Norman Ken Ouchi, déposa un brevet déposé par Norman Ken Ouchi concernant un « Système de récupération de données stockées dans une unité de stockage défectueuse », et dont la description était ce que deviendrait plus tard le RAID 5. Ce brevet fait également mention du miroitage de disque (qui sera appelé plus tard RAID 1), ainsi que de la protection avec une parité dédiée (qui sera appelé plus tard RAID 4). La technologie RAID a été élaborée par un groupe de chercheurs de l'Université de Berkeley (Californie) en 1987. Ces derniers étudièrent la possibilité de faire reconnaître deux disques durs ou plus comme une seule unité par le système. Ils obtinrent pour résultat un système de stockage aux performances bien meilleures que celles des systèmes à disque dur unique, mais doté d'une très mauvaise fiabilité. Les chercheurs s'orientèrent alors vers des architectures redondantes, afin d'améliorer la tolérance aux pannes du système de stockage. En 1988, les différents RAID, de 1 à 5, étaient formellement définis par David Patterson, Garth Gibson et Randy Katz dans la publication intitulée « A Case for Redundant Arrays of Inexpensive Disks (RAID)» . Cet article introduisait le terme « RAID », dont l'industrie du disque s'est immédiatement emparé, dont elle proposait cinq niveaux différents, en les comparant au « SLED », chacun d'eux ayant ses avantages et ses inconvénients.

Description et concepts

Comparaison RAID/SLED

Depuis sa création, la particularité principale de l'architecture RAID est sa capacité à combiner de nombreux périphériques de stockage bons marchés et d'une technologie courante dans une matrice unique, de sorte que ce groupement offre une capacité, une fiabilité et/ou des performances accrues, et ce pour un coût largement inférieur à un périphérique de stockage unique équivalent exploitant des technologies de pointe. L'architecture RAID s'oppose donc à l'architecture SLED (Single Large Expensive Disk), qui est fondée sur l'utilisation d'un seul et même disque dur de grande capacité, et donc d'un prix élevé, car il doit non seulement pouvoir stocker beaucoup d'informations, mais il doit de plus être d'excellente qualité pour en garantir au mieux l'intégrité. En effet, dans une architecture de type SLED, la bonne conservation des données est dépendante de la moindre défaillance du disque dur. Lorsqu'une panne survient, non seulement le système est inexploitable le temps du remplacement du matériel défectueux, mais la seule manière de récupérer les données est de procéder à une restauration de la dernière sauvegarde, ce qui peut prendre plusieurs heures durant lesquelles le système est toujours inutilisable. Si un tel temps d'inactivité est acceptable pour l'ordinateur d'un particulier, il est en revanche rédhibitoire pour le système informatique d'une entreprise, pour qui une telle panne peut avoir des conséquences non négligeables sur sa santé financière. L'utilisation d'une architecture RAID, du moins dans la plupart de ses niveaux fonctionnels, permet justement d'apporter une réponse à ces besoins car non seulement la défaillance d'un des disques de la grappe ne gêne pas le fonctionnement des autres disques, ce qui permet au système de continuer de fonctionner, mais de surcroît, une fois le disque en panne échangé, son contenu est reconstruit à partir des autres disques pendant le fonctionnement normal du système. Ainsi, l'activité de l'entreprise continue de façon ininterrompue et transparente pendant toute la durée de l'incident. Le RAID, suivant ses niveaux fonctionnels, s'il donne des temps de réponse identiques à ceux des disques s'ils étaient utilisés individuellement, offre des débits particulièrement soutenus, même en utilisant des disques durs bons marchés et de performances moyennes, tout en garantissant une bien meilleur fiabilité (sauf pour le RAID 0 qui lui la RÉDUIT par 2). 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é. Dans tous les cas, le RAID reste complètement transparent à l'utilisateur qui, quel que soit le nombre de disques physiques utilisés pour construire le RAID, ne verra jamais qu'un seul grand disque logique, auquel il accédera de façon tout à fait habituelle.

Amélioration de capacité et/ou de performances

Concaténation (spanning)

La concaténation consiste (dans le contexte du RAID) à mettre bout à bout un nombre quelconque de volumes de stockage de données de façon à ce qu'ils n'en forment plus qu'un seul unique dont la capacité est la somme de celles des constituants. La taille des constituants peut être quelconque et différer d'un constituant à l'autre. La concaténation n'offre pas de réel avantage en matière de performance. Pour ce qui est de la fiabilité, le volume obtenu deviendra défaillant si un seul de ses constituants tombe en panne. La probabilité de défaillance croît donc avec le nombre de constituants. Pour ces deux raisons, la concaténation est très peu utilisée.

Agrégation par bandes (striping)

L'Agrégation par bandes est une méthode similaire à la concaténation mais en découpant préalablement en bandes de taille fixe un nombre quelconque de volumes de données de taille identique. On alterne alors une bande de chaque volume pour créer le "volume agrégé par bandes". Un exemple sera certainement nettement plus explicite : :Considérons 3 unités de stockage de taille T nommés A, B et C :Chaque volume est découpé en n bandes de taille t telle que t et n vérifient T=n
-t :On note les bandes A1, A2, A3, …, An ; B1, B2 B3, …, Bn ; C1, C2, C3, …, Cn. :Le volume agrégé par bandes sera la concaténation de A1, B1, C1, A2, B2, C2, A3, B3, C3, …, An, Bn, Cn. :Image:Img schema Stripping 1.PNG

Amélioration de la fiabilité

Miroitage (mirroring)

Le miroitage (mirroring en anglais) consiste à utiliser plusieurs unités de stockage de données et à stocker des données identiques sur chacune. Ainsi, chaque unité contient à tout moment exactement les mêmes données que les autres, on parle alors de disques miroirs, d'où l'utilisation du mot « miroitage ». Les modifications des données se font de manière simultanée sur toutes les unités de stockage, ainsi, en cas de panne d'une unité de stockage, les données sont toujours accessibles sur les unités restantes. Cette configuration n'offre pas d'augmentation de performances en écriture puisque tous les disques écrivent simultanément les mêmes données, mais la lecture est quant à elle bien améliorée puisque les disques peuvent lire chacun des parties complémentaires des données qui seront ensuite assemblées par leur contrôleur, tout en ayant surtout l'inconvénient d'être particulièrement onéreuse car la capacité totale utilisable est égale à la taille du plus petit disque. En contrepartie la fiabilité de l'ensemble augmente plus vite que si elle était directement proportionnelle au nombre d'unités de stockage.

Parité et redondance

Le miroitage s'avère être une solution onéreuse, puisqu'il est nécessaire d'acquérir les périphériques de stockage en plusieurs exemplaires. Aussi, partant du principe que plusieurs unités de stockage ont une faible probabilité de tomber en panne simultanément, d'autres systèmes ont été imaginés, dont ceux permettant de régénérer les données manquantes à partir des données restant accessibles et d'une ou plusieurs données supplémentaires, dites de redondance. Le système de redondance le plus simple et le plus largement utilisé est le calcul de parité. Ce système repose sur l'opération logique XOR (OU exclusif) et consiste à déterminer si sur n bits de données considérés, le nombre de bits à l'état 1 est pair ou impair. Si le nombre de 1 est pair, alors le bit de parité vaut 0. Si le nombre de 1 est impair, alors le bit de parité vaut 1. Lorsque l'un des n+1 bits de données ainsi formés devient indisponible, il est alors possible de régénérer le bit manquant en appliquant à nouveau la même méthode sur les n éléments restants. Cette technique est utilisée dans les systèmes RAID 5. Il existe des systèmes de redondance plus complexes et capables de générer plusieurs éléments de redondance afin de supporter l'absence de plusieurs éléments. Le RAID 6 utilise par exemple une technique de calcul de parité fondée sur des polynômes.

Les différents types de systèmes RAID

Le système RAID est :
- soit un système de redondance qui donne au stockage des données une certaine tolérance aux pannes matérielles (ex : RAID1),
- soit un système de répartition qui améliore ses performances (ex : RAID0),
- soit les deux à la fois (ex : RAID5). Le système RAID est donc capable de gérer d'une manière ou d'une autre la répartition et la cohérence de ces données. Ce système de contrôle peut-être purement logiciel, ou utiliser un matériel dédié.

Le RAID logiciel

En RAID logiciel, le contrôle du RAID est intégralement assuré par une couche logicielle du système d'exploitation via le contrôleur standard des disques durs (IDE, Serial ATA, voire SCSI). Cette couche s'intercale entre la couche d'abstraction matérielle (pilote) et la couche du système de fichiers.

Avantages

- C'est la méthode la moins onéreuse puisque elle ne demande aucun matériel complémentaire.
- Cette méthode possède une grande souplesse d'administration (logicielle).
- Cette méthode présente l'avantage de la compatibilité entre toutes les machines équipées du même logiciel de RAID (c’est-à-dire l'OS).

Inconvénients

- L'inconvénient majeur est que cette méthode repose sur la couche d'abstraction matérielle des périphériques qui composent le volume RAID. Pour diverses raisons, cette couche peut être imparfaite et manquer de certaines fonctions importantes comme par exemple la détection et le diagnostic des défauts matériels et/ou la prise en charge du remplacement à chaud des unités de stockage.
- La gestion du RAID monopolise des ressources systèmes (légèrement le CPU et surtout le bus système) qui pourraient être employés à d'autres fins. La baisse de performances due à la gestion logicielle du raid est particulièrement sensible dans des configurations où le système doit transférer plusieurs fois les mêmes données comme par exemple le RAID1 mais assez faible dans des configurations sans redondance comme par exemple le RAID0.
- Dans le cas de Windows, on ne peut pas utiliser le volume RAID pour héberger les données du système d'exploitation (Dans le cas de Linux, la plupart des distributions permettent désormais d'installer directement le système sur un volume RAID). La plupart des systèmes d'exploitation grands publics permettent déjà de mettre en œuvre le RAID logiciel, qu'il s'agisse de Microsoft Windows, d'une distribution Linux quelconque, ou de Mac OS X.
- Microsoft Windows XP gère logiciellement le RAID 0, 1 et peut gérer le RAID 5 moyennant une petite adaptation (Explications sur le site de Tom's Hardware )
- Microsoft Windows 2003 Server gère logiciellement le RAID 0, 1, et 5.
- Mac OS X gère logiciellement le RAID 0, 1 et la concaténation.
- Le noyau Linux (>=2.6) gère logiciellement le RAID 0, 1, 4, 5, 6, et 10. Le RAID logiciel de Linux n'est pas compatible avec celui de Microsoft Windows

Le RAID pseudo-matériel

L'extrême majorité des contrôleurs RAID bon marché intégré à de nombreuses cartes mères récentes en 2004/2005, gèrent souvent le RAID 0 et 1 sur des disques IDE ou SATA. Malgré le discours marketing qui tend systématiquement à induire en erreur sur ce point, il ne s'agit pas de RAID matériel à proprement parler mais plutôt d'un contrôleur de disque doté de quelques fonctions avancées. D'un point de vue strictement matériel, cette solution hybride n'est pas différente d'un RAID logiciel. Elle diffère cependant sur l'emplacement des routines logicielles de gestion du RAID.

Avantages

L'intérêt principal de ce type de RAID est d'apporter une solution au troisième problème du RAID logiciel, à savoir qu'il ne peut pas toujours servir à héberger les fichiers du système d'exploitation puisque c'est justement ce dernier qui permet d'y accéder. Dans ce type de RAID, la présence d'un BIOS intégrant les routines logicielles basiques de gestion du RAID permet de charger en mémoire les fichiers essentiels du système d'exploitation (Le noyau et les pilotes essentiels). Puis, le pilote du contrôleur intègre les mêmes routines logicielles de gestion du RAID et fournit alors aux couches supérieures de l'OS non pas un accès aux périphériques mais un accès au volume RAID qu'il émule.

Inconvénients

En dehors de cet avantage important, ce type de RAID cumule les défauts des deux autres approches :
- Les limitations de performances sont les mêmes que pour le raid logiciel car il s'agit effectivement d'un RAID logiciel camouflé.
- Un problème important posé par ces contrôleurs hybrides est leur piètre gestion des défauts matériels et leurs fonctionnalités BIOS généralement limitées.
- L'interopérabilité est très mauvaise surtout si l'on considère qu'il s'agit généralement de matériel intégré aux cartes mères des ordinateurs. Pire, le changement de carte-mêre (voir simplement de version de bios), si la nouvelle utilise des jeux de puces différents impose de reconstruire le RAID entiêrement.
- La fiabilité annoncée de ces dispositifs est assez controversée. (citation manquante)

Le RAID matériel

Dans le cas du RAID matériel, une carte ou un composant est dédié à la gestion des opérations. Il s'agit généralement d'une carte d'extension PCI plus ou moins perfectionnée, disposant de connecteurs classiques, parfois au format IDE ou Serial ATA, mais plus souvent au format SCSI. Il peut s'agir également d'une baie disque externe totalement indépendante et reliée au système par une connexion SCSI, Fibre Channel, ou iSCSI (cette liste n'est pas exhaustive) Note : Les NAS représentent un cas particulier : Il s'agit en effet plus de serveurs spécialisés qu'une simple unité de stockage. Bien que ces serveurs utilisent souvent des technologies RAID de façon interne, la répartition et la réplication des données entre plusieurs NAS concerne plus le clustering que le RAID. Un contrôleur raid est en général doté d'un processeur spécifique, de mémoire, éventuellement d'une batterie de secours, et est capable de gérer tous les aspects du système de stockage RAID grâce au microcode embarqué (firmware). Du point de vue du système d'exploitation, le contrôleur RAID matériel offre une virtualisation complète du système de stockage. Le système d'exploitation considère chaque volume RAID comme un disque et n'a pas connaissance de ses constituants physiques.

Avantages

- Les contrôleurs RAID matériels permettent la détection des défauts, le remplacement à chaud des unités défectueuses et offrent la possibilité de reconstruire de manière transparente les disques défaillants. Mais les systèmes d'exploitation évolués permettent également cela si le matériel le permet.
- La charge système (principalement l'occupation du bus) est allégée. (surtout dans des configurations avec beaucoup de disques et une forte redondance)
- Les vérifications de cohérence, les diagnostics et les maintenances sont effectués en arrière plan par le contrôleur sans solliciter de ressources système.

Inconvénients

- Les contrôleurs RAID matériels utilisent chacun leur propre système pour gérer les unités de stockage. En conséquence, au contraire d'un RAID logiciel, des disques transférés d'un système à un autre ne pourront pas être récupérés si le contrôleur RAID n'est pas exactement le même (firmware compris). Il est donc conseillé de posséder une deuxième carte en cas de panne de la première.
- Les cartes bas de gamme possèdent des processeurs de puissance bien inférieures à ceux des ordinateurs actuels. On peut donc avoir de bien moins bonnes performances qu'un RAID logiciel.
- Le contrôleurs RAID est lui-même un composant matériel complexe, qui peut tomber en panne, et son logiciel (firmware) peut contenir des bugs, ce qui constitue un risque de panne supplémentaire (un nouveau single-points-of-failure).
- Les différents fabricants de contrôleurs RAID fournissent des outils de gestion logicielle très différents les uns des autres (et de qualité parfois inégale). À l'opposé, les outils de gestion du RAID logiciel fournis avec un système d'exploitation sont, par définition, bien intégrés dans ce système.
- La durée du support d'un contrôleurs RAID par son constructeur (correction de bugs dans le firmware, par exemple), parfois liée à l'arrivée de nouveaux produits rendant les anciens obsolètes, peut-être moins longue ou plus volatile que le support du RAID logiciel par le fournisseur du système d'exploitation. Le constructeur peut même disparaitre (ce qui est assez rare parmi les fabricants de systèmes d'exploitation).
- Une moindre souplesse par rapport au RAID logiciel, qui dispose d'une couche d'abstraction permettant de gérer du RAID au-dessus de tout types de périphériques blocs supportés le système d'exploitation, locaux ou distants (ATA, SCSI, ATA over Ethernet, iSCSI, ... et toutes les combinaisons possibles entre eux). Les contrôleurs RAID sont spécialisés pour un seul type de périphérique bloc.

Les différents niveaux de RAID

Les niveaux standards

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). 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 ko et composé de deux disques (disque Disk 0 et disque Disk 1), si l'on veut écrire un fichier A de 500 ko, le fichier sera découpé en 8 bandes (car 500 / 64 > 7 mais
Sujets connexes
ATA   ATA over Ethernet   Acronymie   Agrégation (programmation)   Bande passante   Brevet   Californie   Clustering   Concaténation   Disque dur   Distribution Linux   Donnée   Débit binaire   Fiabilité   Fibre Channel   Franglais   ISCSI   Informatique   Integrated Drive Electronics   International Business Machines Corporation   Interopérabilité   Intégrité (cryptographie)   Linux   Logiciel propriétaire   Logique mathématique   Loi de Murphy   Loi exponentielle   Mac OS X   Microsoft Windows   Miroir   Network attached storage   Noyau Linux   OU exclusif   Peripheral Component Interconnect   Polynôme   Probabilité   Processeur   Redondance   Redondance N+1   Restauration de données   Répartition de charge   Sauvegarde   Serial ATA   Small Computer System Interface   Stockage d'information   Système d'exploitation   Technologie   Tolérance aux pannes   Université de Californie (Berkeley)   XOR  
#
Accident de Beaune   Amélie Mauresmo   Anisocytose   C3H6O   CA Paris   Carole Richert   Catherinettes   Chaleur massique   Championnat de Tunisie de football D2   Classement mondial des entreprises leader par secteur   Col du Bonhomme (Vosges)   De viris illustribus (Lhomond)   Dolcett   EGP  
^