Loading AI tools
techniques de virtualisation du stockage permettant de répartir des données sur plusieurs disques durs De Wikipédia, l'encyclopédie libre
Le RAID est un ensemble de techniques de virtualisation du stockage permettant de répartir des données sur plusieurs disques durs afin d'améliorer soit les performances, soit la sécurité ou la tolérance aux pannes de l'ensemble du ou des systèmes.
L'acronyme RAID a été défini en 1987 par l'Université de Berkeley (Californie), dans un article nommé A Case for Redundant Arrays of Inexpensive Disks (RAID)[1], soit « regroupement redondant de disques peu onéreux ». Aujourd'hui, le mot est devenu l'acronyme de Redundant Array of Independent Disks, ce qui signifie « regroupement redondant de disques indépendants ». Le coût au mégaoctet des disques durs ayant été divisé par 1 300 000 en 29 ans, depuis le RAID est choisi pour d'autres raisons que le coût de l'espace de stockage[2].
En 1978, un employé d'IBM, Norman Ken Ouchi, déposa un brevet[3] 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 mirroring (en) de disque (qui sera appelé plus tard RAID 1), ainsi que de la protection avec une parité dédiée (correspondant à ce qui sera appelé plus tard RAID 3 ou RAID 4).
La technologie RAID a été élaborée par un groupe de chercheurs de l'université de Californie à Berkeley en 1987. Ces derniers étudièrent la possibilité de faire reconnaître deux disques durs ou plus comme une seule entité 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 type 1 à 5, furent 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)[4] ». Cet article introduisit le terme « RAID », dont l'industrie du disque s'est immédiatement emparée, proposant cinq niveaux ou modes différents, chacun d'eux ayant ses avantages et ses inconvénients, en les comparant au modèle « SLED » (Single Large Expensive Disk : voir ci-dessous).
Le système RAID est :
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é.
En RAID logiciel, le contrôle du RAID est intégralement assuré par une couche logicielle du système d'exploitation. Cette couche s'intercale entre la couche d'abstraction matérielle (pilote) et la couche du système de fichiers.
La plupart des systèmes d'exploitation grand public permettent déjà de mettre en œuvre le RAID logiciel, qu'il s'agisse de Microsoft Windows, des diverses distributions Linux, ou de Mac OS X.
Les RAID logiciels de Microsoft Windows et de Linux sont incompatibles entre eux[6] [réf. nécessaire].
L'immense majorité des contrôleurs RAID bon marché intégrés à de nombreuses cartes-mères depuis 2004/2005 gèrent le RAID 0 et 1 sur des disques durs IDE ou SATA. Malgré le discours marketing à cette époque qui tendait 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.
Avec les matériels plus récents, la différence entre RAID pseudo-matériel et RAID matériel est purement théorique. La seule différence pratique est que dans le RAID pseudo-matériel, processeur et mémoire ne sont pas dédiés. Cependant, la puissance des processeurs récents et le coût réduit de la mémoire font que cette limitation n'est plus un élément critique. Le seul avantage restant pour les RAID spécialisés est la disposition d'outils de gestion des incidents plus performants.
Dans le cas du RAID matériel, une carte ou un composant est affecté à la gestion des opérations. Le contrôleur RAID peut être interne à l'unité centrale (carte d'extension) ou déporté dans une baie de stockage.
Un contrôleur raid est en général doté d'un processeur spécifique, de mémoire dédiée, é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 volume de stockage unique et n'a pas connaissance de ses constituants physiques.
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.).
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 disques durs en parallèle (avec ).
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é).
Ainsi, sur un RAID 0 de disques (avec ), chaque disque ne doit lire et écrire que 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 était parfait pour des applications requérant un traitement rapide d'une grande quantité de données avec des disques durs. 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 volume RAID est perdue.
Le RAID 0 était utilisé dans les ordinateurs, dans le cadre d'applications nécessitant de gros transferts de données (montage vidéo...), plutôt que dans des NAS.
Il peut être utilisé afin d'augmenter la bande passante d'un serveur nécessitant des supports de stockage capables de supporter de très grandes quantités d'écritures.
Nota[7] : en RAID matériel, la migration d'un RAID 0 avec plusieurs disques vers un RAID 1 est rarement possible, alors que l'inverse l'est. Il est donc plus souple de démarrer en 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 » (mirroring en anglais).
Les accès en lecture du système d'exploitation se font sur le disque le plus facilement accessible à ce moment-là[8]. Les écritures sur la grappe se font de manière simultanée sur tous les disques pour 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.
Nota[7] : 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 .
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 . 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 (1 To 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 (spare), 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.
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 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 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.
NRAID / Non-RAID : 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 des 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.[Information douteuse]
Le NRAID n'est pas à proprement parler un RAID, et il ne permet d'ailleurs aucune redondance de données. La panne d'un disque peut avoir des conséquences désastreuses sur le reste des données si des métadonnées critiques sont affectées.
Il est parfois confondu à tort avec le JBOD, qui désigne une baie de stockage regroupant des unités accessibles individuellement, sans configuration spéciale.
Le NRAID est aussi désigné comme « Volume Simple » sous Windows (à partir de Windows 2000)[9].
Le RAID 2 est aujourd'hui désuet. Il combine la méthode du RAID 0 (volume agrégé par bande) à l'écriture d'un code de contrôle d'erreur par code de Hamming (code ECC) sur un disque dur distinct. Or, l'écriture de ce code de contrôle est désormais directement intégrée dans les contrôleurs de disques durs. Cette technologie offre un bon niveau de sécurité, mais de mauvaises performances.
Le RAID 3 et le RAID 4 sont semblables à ceci près que le premier opère par octets et le second par blocs. Le RAID 4 ne nécessite pas autant de synchronisme entre les disques. Le RAID 3 tend donc à disparaître au profit du RAID 4 qui offre des performances nettement supérieures.
Ces niveaux de RAID nécessitent une matrice de disques (avec ). Les premiers disques contiennent les données tandis que le dernier disque stocke la parité (voir section parité).
Il est important que le disque de parité soit de bonne qualité, car il est à tout instant sollicité en écriture. Ce dernier point est une des limitations des RAID 3 et 4.
De même, si plus d'un disque vient à défaillir, il est impossible de remédier à la perte de données.
Le RAID 6 est une évolution du RAID 5 qui accroît la sécurité en utilisant informations redondantes au lieu d'une. Il peut donc résister à la défaillance de disques. Les fondements mathématiques utilisés pour les informations de redondance du RAID 6 sont beaucoup plus complexes que pour le RAID 5 ; de ce fait les implémentations de l'algorithme se limitent souvent à (soit la perte de 2 disques).
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 :
Le RAID 6 était peu utilisé du fait de son surcoût. Toutefois l'envolée des capacités des disques durs ces dernières années ainsi que la vulgarisation de solutions professionnelles à base de disques SATA a suscité un intérêt nouveau dans l'utilisation du RAID 6, que ce soit par le biais de contrôleurs RAID matériels ou via du RAID logiciel (le noyau Linux 2.6 intègre le RAID 6).
La capacité utile totale (), pour un système avec disques dont réservés pour la redondance est de ( = capacité du plus petit des disques dur).
Des explications intéressantes, mais un peu ardues sont disponibles dans la version anglaise de cet article[10] ainsi que dans Les mathématiques du RAID 6[11].
Est aussi connu sous le nom de Parity RAID. Cette méthode de remplacement propriétaire des solutions EMC Symmetrix permet de mettre en œuvre une batterie RAID à parité agrégée en bandes. Elle n'est plus utilisée sur des équipements actuels. Si le RAID S semble similaire au RAID 5, il présente certaines performances améliorées, notamment celles que procure la présence d'un cache de disque à haut débit sur la batterie[12].
Ce système résout également les problèmes de corruption silencieuse du RAID 5 grâce aux opérations de scrub qui analysent toutes les données de la grappe afin de détecter des incohérences.
Le système RAID-Z est moins performant que le RAID 5 : chaque accès en lecture ou en écriture accédant à tous les disques, il ne permet pas de profiter de la multiplication des têtes de lectures. Il permet en revanche l'utilisation de la mémoire RAM comme cache (ARC). Il est aussi possible de dédier des SSD au rôle de cache en lecture (L2ARC) ou cache en écriture (ZIL) pour améliorer les performances d'une grappe[13],[14].
Technologie propriétaire de Synology relative au système RAID, simulant le fonctionnement d'un RAID 5 en acceptant des disques de tailles différentes tout en minimisant les espaces inutilisés[15].
Technologie propriétaire de Synology relative au système RAID, simulant le fonctionnement d'un RAID 6 en acceptant des disques de tailles différentes tout en minimisant les espaces inutilisés[16].
Le système X-RAID est une technique développée par Netgear sur sa suite de produits ReadyNAS. Cette technologie permet suivant le nombre de disques de choisir entre les différents types de RAID et de passer de l'un à l'autre sans perte de données ou arrêt de service. X-RAID utilise principalement les RAID 1 et 5.
Le RAID ne dispense pas d'effectuer des sauvegardes régulières. En effet, des défaillances à plusieurs disques sont plus fréquentes que l'on ne le croit (voir section RAID 5 plus haut). De plus, des erreurs humaines (effacement / corruption de fichiers) finissent toujours par se produire. Un exemple classique de défaillance simultanée de plusieurs disques est le suivant : un premier disque est victime d'un atterrissage de tête, provoquant la dislocation d'une partie de la surface des plateaux ; mais le disque continuant de tourner se met à chauffer et atteint une température gênante pour ses voisins… On comprendra que l'un des disques se trouvant à côté peut à son tour connaître une défaillance du fait de la température locale excessive.
De plus, la taille des disques ne cessant de croître, un RAID dépassant les 12 To utiles (RAID 5 à quatre disques de 4 To par exemple) sera probablement impossible à reconstruire, car atteignant la limite de fiabilité des contrôleurs SATA (sauf pour des contrôleurs haut de gamme pour serveur) : il sera presque sûr statistiquement qu'une erreur de lecture / écriture se produira pendant la reconstruction[17]. Cela serait aussi valable pour les RAID-Z[18].
L'augmentation progressive de la capacité des supports de stockage est un facteur qui augmente exponentiellement la fragilité des systèmes RAID, comme l'a montré une étude sur les RAID 5 et 6 [19].
Une nouveauté dans la façon d'aborder la redondance des blocs disques est apparue au California Institute of Technology, consistant à répliquer les blocs non pas à l'intérieur d'un seul serveur, mais entre plusieurs serveurs à travers le réseau[20], ce qui s'apparente à un RAID réparti. Cette technique est appelée RAIN (en), pour « Redundant Array of Independent Nodes »[21] (ou « Reliable Array of Inexpensive Nodes »)[22], que l'on peut traduire par « réseau redondant de nœuds indépendants »[23]. Les principaux intérêts de cette architecture de stockage sont son niveau de performance et sa capacité d'évolution[24].
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.