Articles

RAID (redundant array of independent disks)

Le RAID (redundant array of independent disks) est un moyen de stocker les mêmes données à des endroits différents sur plusieurs disques durs ou disques solides afin de protéger les données en cas de défaillance d’un disque. Il existe cependant différents niveaux de RAID, et tous n’ont pas pour objectif de fournir une redondance.

Comment fonctionne le RAID

Le RAID fonctionne en plaçant les données sur plusieurs disques et en permettant aux opérations d’entrée/sortie (E/S) de se chevaucher de manière équilibrée, ce qui améliore les performances. Comme l’utilisation de plusieurs disques augmente le temps moyen entre les pannes (MTBF), le stockage des données de manière redondante augmente également la tolérance aux pannes.

Les matrices RAID apparaissent au système d’exploitation (OS) comme un seul lecteur logique. RAID utilise les techniques de mise en miroir de disque ou de striping de disque. La mise en miroir copiera des données identiques sur plus d’un lecteur. Le striping permet de répartir les données sur plusieurs lecteurs de disque. L’espace de stockage de chaque disque est divisé en unités allant d’un secteur (512 octets) à plusieurs mégaoctets. Les bandes de tous les disques sont entrelacées et adressées dans l’ordre.

Disque dur RAID
Image d’un disque dur RAID à cinq baies

La mise en miroir et le stripage des disques peuvent également être combinés dans une matrice RAID.

Dans un système mono-utilisateur où de gros enregistrements sont stockés, les bandes sont généralement configurées pour être petites (peut-être 512 octets) afin qu’un seul enregistrement couvre tous les disques et puisse être accédé rapidement en lisant tous les disques en même temps.

Dans un système multi-utilisateurs, de meilleures performances nécessitent une bande suffisamment large pour contenir l’enregistrement de taille typique ou maximale, permettant des E/S de disque superposées entre les disques.

Contrôleur RAID

Un contrôleur RAID est un périphérique utilisé pour gérer les disques durs dans une matrice de stockage. Il peut être utilisé comme un niveau d’abstraction entre le système d’exploitation et les disques physiques, présentant des groupes de disques comme des unités logiques. L’utilisation d’un contrôleur RAID peut améliorer les performances et aider à protéger les données en cas de crash.

Un contrôleur RAID peut être matériel ou logiciel. Dans un produit RAID basé sur le matériel, un contrôleur physique gère la matrice. Le contrôleur peut également être conçu pour prendre en charge les formats de lecteur tels que SATA et SCSI. Un contrôleur RAID physique peut également être intégré à la carte mère d’un serveur.

Avec le RAID logiciel, le contrôleur utilise les ressources du système matériel, comme le processeur central et la mémoire. Bien qu’il exécute les mêmes fonctions qu’un contrôleur RAID basé sur le matériel, les contrôleurs RAID basés sur le logiciel peuvent ne pas permettre une augmentation aussi importante des performances et peuvent affecter les performances d’autres applications sur le serveur.

Si une implémentation RAID basée sur le logiciel n’est pas compatible avec le processus de démarrage d’un système, et que les contrôleurs RAID basés sur le matériel sont trop coûteux, le RAID basé sur le micrologiciel ou le pilote est une autre option potentielle.

Les puces de contrôleur RAID basées sur le micrologiciel sont situées sur la carte mère, et toutes les opérations sont effectuées par le CPU, comme pour le RAID basé sur le logiciel. Cependant, avec un micrologiciel, le système RAID n’est mis en œuvre qu’au début du processus de démarrage. Une fois le système d’exploitation chargé, le pilote du contrôleur prend en charge la fonctionnalité RAID. Un contrôleur RAID micrologiciel n’est pas aussi coûteux qu’une option matérielle, mais il sollicite davantage le processeur de l’ordinateur. Le RAID basé sur un micrologiciel est également appelé RAID logiciel assisté par le matériel, RAID modèle hybride et faux RAID.

Niveaux RAID

Les périphériques RAID feront usage de différentes versions, appelées niveaux. Le document original qui a inventé le terme et développé le concept de configuration RAID a défini six niveaux de RAID — de 0 à 5. Ce système numéroté permettait aux informaticiens de différencier les versions RAID. Le nombre de niveaux s’est depuis étendu et a été divisé en trois catégories : les niveaux RAID standard, imbriqués et non standard.

Niveaux RAID standard

RAID 0. Cette configuration présente un striping, mais pas de redondance des données. Elle offre les meilleures performances, mais ne fournit pas de tolérance aux pannes.

Diagramme RAID 0

RAID 1. Également connue sous le nom de mise en miroir de disques, cette configuration se compose d’au moins deux disques qui dupliquent le stockage des données. Il n’y a pas de striping. Les performances de lecture sont améliorées puisque l’un ou l’autre des disques peut être lu en même temps. Les performances en écriture sont les mêmes que pour un stockage sur un seul disque.

Diagramme RAID 1

RAID 2. Cette configuration utilise le striping sur les disques, certains disques stockant des informations de contrôle et de correction d’erreurs (ECC). RAID 2 utilise également une parité dédiée au code de Hamming ; une forme linéaire de code de correction d’erreur. Le RAID 2 ne présente aucun avantage par rapport au RAID 3 et n’est plus utilisé.

Diagramme du RAID 2

RAID 3. Cette technique utilise le striping et dédie un disque au stockage des informations de parité. Les informations ECC intégrées sont utilisées pour détecter les erreurs. La récupération des données s’effectue en calculant les informations exclusives enregistrées sur les autres lecteurs. Étant donné qu’une opération d’E/S s’adresse à tous les lecteurs en même temps, le RAID 3 ne peut pas chevaucher les E/S. Pour cette raison, le RAID 3 est le meilleur pour les systèmes mono-utilisateurs avec des applications à enregistrement long.

Diagramme du RAID 3

RAID 4. Ce niveau utilise de larges bandes, ce qui signifie qu’un utilisateur peut lire des enregistrements à partir de n’importe quel lecteur. Les E/S superposées peuvent alors être utilisées pour les opérations de lecture. Comme toutes les opérations d’écriture doivent mettre à jour le lecteur de parité, aucun chevauchement d’E/S n’est possible.

Diagramme RAID 4

RAID 5. Ce niveau est basé sur le striping au niveau du bloc de parité. Les informations de parité sont réparties en bandes sur chaque disque, ce qui permet à la matrice de fonctionner même si un disque venait à tomber en panne. L’architecture de la matrice permet aux opérations de lecture et d’écriture d’être effectuées sur plusieurs disques, ce qui permet d’obtenir des performances supérieures à celles d’un disque unique, mais pas aussi élevées que celles d’une matrice RAID 0. RAID 5 nécessite au moins trois disques, mais il est souvent recommandé d’utiliser au moins cinq disques pour des raisons de performances.

Les matrices RAID 5 sont généralement considérées comme un mauvais choix pour une utilisation sur des systèmes à forte intensité d’écriture en raison de l’impact sur les performances associé à l’écriture des données de parité. Lorsqu’un disque tombe en panne, la reconstruction d’une matrice RAID 5 peut prendre beaucoup de temps.

Diagramme RAID 5

RAID 6. Cette technique est similaire au RAID 5, mais elle inclut un deuxième schéma de parité réparti sur les disques de la matrice. L’utilisation d’une parité supplémentaire permet à la matrice de continuer à fonctionner même si deux disques tombent en panne simultanément. Toutefois, cette protection supplémentaire a un coût. Les matrices RAID 6 présentent souvent des performances d’écriture plus lentes que les matrices RAID 5.

Schéma RAID 6

Niveaux RAID imbriqués

Certains niveaux RAID sont appelés RAID imbriqués car ils sont basés sur une combinaison de niveaux RAID. Voici quelques exemples de niveaux RAID imbriqués.

RAID 10 (RAID 1+0) . Combinant le RAID 1 et le RAID 0, ce niveau est souvent appelé RAID 10, qui offre des performances supérieures à celles du RAID 1, mais à un coût beaucoup plus élevé. Dans le RAID 1+0, les données sont mises en miroir et les miroirs sont en bandes.

Diagramme du RAID 10

RAID 01 (RAID 0+1) . Le RAID 0+1 est similaire au RAID 1+0, sauf que la méthode d’organisation des données est légèrement différente. Plutôt que de créer un miroir puis de le mettre en bande, le RAID 0+1 crée un jeu de bandes puis met en miroir ce jeu de bandes.

RAID 03 (RAID 0+3, également connu sous le nom de RAID 53 ou RAID 5+3). Ce niveau utilise le striping (dans le style RAID 0) pour les blocs de disque virtuel du RAID 3. Cela offre des performances supérieures à celles du RAID 3, mais à un coût plus élevé.

RAID 50 (RAID 5+0). Cette configuration combine la parité distribuée du RAID 5 avec le striping du RAID 0 pour améliorer les performances du RAID 5 sans réduire la protection des données.

Nonstandard RAID levels

Les niveaux RAID non standard varient des niveaux RAID standard et sont généralement développés par des entreprises ou des organisations pour un usage principalement propriétaire. En voici quelques exemples.

RAID 7. Un niveau RAID non standard basé sur RAID 3 et RAID 4 qui ajoute la mise en cache. Il comprend un système d’exploitation embarqué en temps réel en tant que contrôleur, une mise en cache via un bus à haut débit et d’autres caractéristiques d’un ordinateur autonome.

RAID adaptatif. Ce niveau permet au contrôleur RAID de décider comment stocker la parité sur les disques. Il choisira entre RAID 3 et RAID 5, en fonction du type de jeu RAID qui sera plus performant avec le type de données écrites sur les disques.

Linux MD RAID 10. Ce niveau, fourni par le noyau Linux, prend en charge la création de matrices RAID imbriquées et non standard. Le RAID logiciel Linux peut également prendre en charge la création de configurations RAID 0, RAID 1, RAID 4, RAID 5 et RAID 6 standard.

Avantages du RAID

Les avantages du RAID sont notamment les suivants.

  • Une amélioration du rapport coût-efficacité car les disques les moins chers sont utilisés en grand nombre.
  • L’utilisation de plusieurs disques durs permet au RAID d’améliorer les performances d’un seul disque dur.
  • Une augmentation de la vitesse et de la fiabilité de l’ordinateur après un crash — selon la configuration.
  • Les lectures et les écritures peuvent être effectuées plus rapidement qu’avec un seul disque avec le RAID 0. Cela est dû au fait qu’un système de fichiers est divisé et distribué sur des lecteurs qui travaillent ensemble sur le même fichier.
  • Il y a une disponibilité et une résilience accrues avec le RAID 5. Avec la mise en miroir, les matrices RAID peuvent avoir deux lecteurs contenant les mêmes données, ce qui garantit que l’un d’eux continuera à fonctionner si l’autre tombe en panne.

Les inconvénients de l’utilisation du RAID

Le RAID a cependant ses inconvénients. En voici quelques-uns :

  • Les niveaux RAID imbriqués sont plus coûteux à mettre en œuvre que les niveaux RAID traditionnels car ils nécessitent un plus grand nombre de disques.
  • Le coût par gigaoctet des périphériques de stockage est plus élevé pour le RAID imbriqué car plusieurs des disques sont utilisés pour la redondance.
  • Lorsqu’un disque tombe en panne, la probabilité qu’un autre disque de la matrice tombe également bientôt en panne augmente, ce qui entraînerait probablement une perte de données. Cela est dû au fait que tous les lecteurs d’une matrice RAID sont installés en même temps, de sorte que tous les lecteurs sont soumis à la même quantité d’usure.
  • Certains niveaux RAID (tels que RAID 1 et 5) ne peuvent supporter qu’une seule défaillance de lecteur.
  • Les matrices RAID, et les données qu’elles contiennent, sont dans un état vulnérable jusqu’à ce qu’un lecteur défaillant soit remplacé et que le nouveau disque soit peuplé de données.
  • Parce que les lecteurs ont une capacité beaucoup plus grande maintenant que lorsque le RAID a été mis en œuvre pour la première fois, il faut beaucoup plus de temps pour reconstruire les lecteurs défaillants.
  • Si une panne de disque se produit, il y a une chance que les disques restants contiennent des secteurs défectueux ou des données illisibles — ce qui peut rendre impossible la reconstruction complète de la matrice.

Cependant, les niveaux RAID imbriqués traitent ces problèmes en fournissant un plus grand degré de redondance, ce qui diminue considérablement les chances d’une défaillance au niveau de la matrice due à des pannes de disque simultanées.

Histoire du RAID

Le terme RAID a été inventé en 1987 par David Patterson, Randy Katz et Garth A. Gibson. Dans leur rapport technique de 1988, « A Case for Redundant Arrays of Inexpensive Disks (RAID) », les trois hommes ont fait valoir qu’un réseau de disques bon marché pouvait battre les performances des meilleurs disques de l’époque. En utilisant la redondance, un réseau RAID pourrait être plus fiable que n’importe quel lecteur de disque.

Bien que ce rapport ait été le premier à mettre un nom sur le concept, l’utilisation de disques redondants était déjà discutée par d’autres. Gus German et Ted Grunau, de Geac Computer Corp, ont d’abord fait référence à cette idée sous le nom de MF-100. Norman Ken Ouchi, d’IBM, a déposé un brevet en 1977 pour cette technologie, qui a ensuite été baptisée RAID 4. En 1983, Digital Equipment Corp. a livré les disques qui allaient devenir le RAID 1, et en 1986, un autre brevet IBM a été déposé pour ce qui allait devenir le RAID 5. Patterson, Katz et Gibson ont également examiné ce que faisaient des entreprises telles que Tandem Computers, Thinking Machines et Maxstor pour définir leurs taxonomies RAID.

Bien que les niveaux de RAID énumérés dans le rapport de 1988 aient essentiellement mis des noms sur des technologies qui étaient déjà utilisées, la création d’une terminologie commune pour le concept a contribué à stimuler le marché du stockage de données pour qu’il développe davantage de produits de matrice RAID.

Selon Katz, le terme peu coûteux dans l’acronyme a rapidement été remplacé par indépendant par les fournisseurs de l’industrie en raison des implications de faibles coûts.

L’avenir du RAID

Le RAID n’est pas tout à fait mort, mais de nombreux analystes disent que la technologie est devenue obsolète ces dernières années. Des alternatives telles que l’erasure coding offrent une meilleure protection des données (mais à un prix plus élevé), et ont été développées dans l’intention de remédier aux faiblesses du RAID. À mesure que la capacité des disques augmente, le risque d’erreur avec une matrice RAID augmente également, et les capacités augmentent constamment.

L’essor des disques à l’état solide (SSD) est également considéré comme atténuant le besoin de RAID. Les SSD n’ont pas de pièces mobiles et ne tombent pas en panne aussi souvent que les disques durs. Les matrices SSD utilisent souvent des techniques telles que le wear leveling au lieu de s’appuyer sur le RAID pour la protection des données. L’informatique hyperscale supprime également le besoin de RAID en utilisant des serveurs redondants au lieu de disques redondants.

Pour autant, le RAID reste une partie ancrée du stockage de données pour l’instant et les principaux fournisseurs de technologie publient toujours des produits RAID. IBM a publié IBM Distributed RAID avec son Spectrum Virtualize V7.6, qui promet d’améliorer les performances du RAID. La dernière version de la technologie de stockage rapide d’Intel prend en charge le RAID 0, le RAID 1, le RAID 5 et le RAID 10, et le logiciel de gestion ONTAP de NetApp utilise le RAID pour se protéger contre jusqu’à trois pannes de disque simultanées. La plate-forme Dell EMC Unity prend également en charge les normes RAID 1/0, RAID 5 et RAID 6.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *