RAID (Redundant Array of Independent Disks), à l'origine connu sous le nom de Redundant Array of Inexpensive Disks, a été proposé pour la première fois par le professeur D. A. Patterson de l'Université de Californie à Berkeley dans l'article « A Case of Redundant Array of Inexpensive Disks » en 1988. À cette époque, les disques de grande capacité étaient coûteux, l'idée de base du RAID était donc de combiner organiquement plusieurs disques de petite capacité et relativement peu coûteux pour obtenir une capacité, des performances et une fiabilité équivalentes à celles de disques coûteux de grande capacité à moindre coût. Alors que le coût et le prix des disques continuaient de baisser, le terme « peu coûteux » est devenu dénué de sens, et le RAID Advisory Board (RAB) a décidé de remplacer « peu coûteux » par « indépendant ».
Cette idée de conception du RAID a été rapidement adoptée par l'industrie. La technologie RAID, en tant que technologie de stockage haute performance et hautement fiable, a été largement appliquée. Le RAID utilise principalement le partitionnement des données (data striping), la mise en miroir (mirroring) et les technologies de parité de données pour atteindre des performances élevées, une fiabilité, une tolérance aux pannes et une évolutivité. Selon les stratégies et architectures d'utilisation ou de combinaison de ces trois technologies, le RAID peut être divisé en différents niveaux pour répondre aux besoins des différentes applications de données. Les niveaux RAID d'origine RAID1-RAID5 ont été définis dans l'article de D. A. Patterson et al., et RAID0 et RAID6 ont été étendus depuis 1988. Ces dernières années, les fournisseurs de stockage ont continuellement introduit des niveaux RAID tels que RAID7, RAID10/01, RAID50, RAID53 et RAID100, mais il n'existe pas de norme unifiée. Actuellement, les normes reconnues par l'industrie sont RAID0-RAID5, et les quatre niveaux, à l'exception de RAID2, ont été définis comme normes industrielles. Les niveaux RAID les plus couramment utilisés dans le domaine des applications réelles sont RAID0, RAID1, RAID3, RAID5, RAID6 et RAID10.
Du point de vue de la mise en œuvre, le RAID est principalement divisé en trois types : RAID logiciel, RAID matériel et RAID hybride. Pour le RAID logiciel, toutes les fonctions sont réalisées par le système d'exploitation et le CPU, et il n'y a pas de puce de contrôle/traitement RAID indépendante ni de puce de traitement d'E/S, donc l'efficacité est la plus faible. Le RAID matériel est équipé d'une puce de contrôle/traitement RAID spéciale et d'une puce de traitement d'E/S ainsi que d'un tampon de tableau, et n'occupe pas les ressources du CPU, mais le coût est très élevé. Le RAID hybride dispose d'une puce de contrôle/traitement RAID mais manque d'une puce de traitement d'E/S, et nécessite le CPU et les programmes de pilotes pour être complété, et ses performances et son coût se situent entre le RAID logiciel et le RAID matériel.
Chaque niveau RAID représente une méthode et une technologie de mise en œuvre, et il n'y a pas de distinction entre niveaux hauts et bas. Dans les applications pratiques, le niveau RAID approprié et la méthode de mise en œuvre spécifique doivent être sélectionnés en fonction des caractéristiques des applications de données de l'utilisateur, et la disponibilité, les performances et le coût doivent être considérés de manière globale.
RAID, c'est-à-dire Redundant Array of Independent Disks, est généralement abrégé en réseau de disques. En bref, le RAID est un sous-système de disques composé de plusieurs disques indépendants haute performance, qui offre des performances de stockage et une technologie de redondance de données supérieures à celles d'un disque unique. Le RAID est une technologie de gestion multi-disques qui offre un stockage rentable, une fiabilité de données élevée et des performances élevées à l'environnement hôte. La définition du RAID par la SNIA est : un réseau de disques dans lequel une partie de l'espace de stockage physique est utilisée pour enregistrer les informations redondantes des données utilisateur stockées dans l'espace restant. Lorsqu'un disque ou un chemin d'accès échoue, les informations redondantes peuvent être utilisées pour reconstruire les données utilisateur. Bien que le partitionnement des données ne soit pas conforme à la définition du RAID, il est généralement également appelé RAID (c'est-à-dire RAID0).
L'intention initiale du RAID était de fournir des fonctions de stockage haut de gamme et une sécurité des données redondante pour les grands serveurs. Dans l'ensemble du système, le RAID est considéré comme un espace de stockage composé de deux disques ou plus, et les performances d'E/S du système de stockage sont améliorées en lisant et écrivant des données sur plusieurs disques simultanément. La plupart des niveaux RAID disposent de mesures complètes de vérification et de correction des données, et même de méthodes de mise en miroir, ce qui améliore considérablement la fiabilité du système, et c'est de là que vient le terme « Redundant ».
Il faut ici mentionner JBOD (Just a Bunch of Disks). Initialement, JBOD était utilisé pour représenter une collection de disques sans logiciel de contrôle pour fournir un contrôle coordonné, ce qui est le principal facteur distinguant le RAID du JBOD. Actuellement, JBOD fait souvent référence à un boîtier de disques, qu'il fournisse ou non des fonctionnalités RAID.
Les deux objectifs clés du RAID sont d'améliorer la fiabilité des données et les performances d'E/S. Dans le réseau de disques, les données sont réparties sur plusieurs disques, mais pour le système informatique, cela ressemble à un seul disque. La redondance est obtenue en écrivant les mêmes données sur plusieurs disques (généralement par mise en miroir) ou en écrivant les données de parité calculées dans le réseau, de sorte qu'aucune perte de données ne soit causée lorsqu'un seul disque échoue. Certains niveaux RAID permettent à plusieurs disques d'échouer simultanément, comme RAID6, où deux disques peuvent être endommagés en même temps. Sous un tel mécanisme de redondance, le disque défaillant peut être remplacé par un nouveau disque, et le RAID reconstruira automatiquement les données perdues en fonction des données et des données de parité dans les disques restants pour assurer la cohérence et l'intégrité des données. Les données sont réparties et stockées sur plusieurs disques différents en RAID, et la lecture et l'écriture simultanées des données sont bien meilleures que celles d'un disque unique, de sorte qu'une bande passante d'E/S agrégée plus élevée peut être obtenue. Bien sûr, le réseau de disques réduira l'espace de stockage total disponible de tous les disques, sacrifiant de l'espace en échange d'une fiabilité et de performances accrues. Par exemple, l'utilisation de l'espace de stockage de RAID1 n'est que de 50 %, et RAID5 perdra la capacité de stockage d'un disque, et l'utilisation de l'espace est de (n-1)/n.
Le réseau de disques peut assurer le fonctionnement continu du système sans interruption lorsque certains disques (un ou plusieurs, selon la mise en œuvre) sont endommagés. Pendant le processus de reconstruction des données du disque défaillant vers le nouveau disque, le système peut continuer à fonctionner normalement, mais les performances seront réduites dans une certaine mesure. Certains réseaux de disques doivent être arrêtés lors de l'ajout ou de la suppression de disques, tandis que d'autres prennent en charge le remplacement à chaud, permettant le remplacement des disques sans arrêt. Ces réseaux de disques haut de gamme sont principalement utilisés dans les systèmes d'application avec des exigences élevées en matière de fiabilité, et le système ne peut pas être arrêté ou le temps d'arrêt doit être aussi court que possible. Généralement, le RAID ne peut pas remplacer la sauvegarde des données. Il est impuissant face à la perte de données causée par des pannes non liées aux disques, telles que les virus, la destruction humaine, la suppression accidentelle, etc. Dans ce cas, la perte de données est relative au système d'exploitation, au système de fichiers, au gestionnaire de volumes ou au système d'application. Pour le système RAID lui-même, les données sont intactes et aucune perte n'est survenue. Par conséquent, la sauvegarde des données, la reprise après sinistre et d'autres mesures de protection des données sont très nécessaires, qui complètent le RAID et protègent la sécurité des données à différents niveaux pour éviter la perte de données.
Il existe trois concepts et technologies clés dans le RAID : la mise en miroir, le partitionnement des données et la parité des données. La mise en miroir copie les données sur plusieurs disques. D'une part, elle peut améliorer la fiabilité, et d'autre part, elle peut lire les données à partir de deux copies ou plus simultanément pour améliorer les performances de lecture. Évidemment, les performances d'écriture de la mise en miroir sont légèrement inférieures, et il faut plus de temps pour s'assurer que les données sont correctement écrites sur plusieurs disques. Le partitionnement des données stocke des tranches de données sur différents disques, et plusieurs tranches de données forment ensemble une copie de données complète, ce qui est différent des copies multiples de la mise en miroir et est généralement utilisé pour des considérations de performance. Le partitionnement des données a une granularité de concurrence plus élevée. Lors de l'accès aux données, il est possible de lire et d'écrire des données sur différents disques en même temps, obtenant ainsi une amélioration très significative des performances d'E/S. La parité des données utilise des données redondantes pour la détection et la réparation des erreurs de données. Les données redondantes sont généralement calculées par des algorithmes tels que le code de Hamming et l'opération XOR. L'utilisation de la fonction de parité peut grandement améliorer la fiabilité, la robustesse et la tolérance aux pannes du réseau de disques. Cependant, la parité des données nécessite de lire des données de plusieurs endroits et d'effectuer des calculs et des comparaisons, ce qui affectera les performances du système. Différents niveaux de RAID adoptent une ou plusieurs des trois technologies ci-dessus pour obtenir une fiabilité, une disponibilité et des performances d'E/S de données différentes. Quant au type de RAID (même de nouveaux niveaux ou types) à concevoir ou au mode de RAID à adopter, il est nécessaire de faire un choix raisonnable sous la prémisse d'une compréhension approfondie des exigences du système et d'une évaluation complète de la fiabilité, des performances et du coût pour faire un choix de compromis.
-
Grande capacité: C'est un avantage évident du RAID. Il augmente la capacité du disque, et le système RAID composé de plusieurs disques dispose d'un espace de stockage énorme. Désormais, la capacité d'un seul disque peut atteindre plus de 1 To, donc la capacité de stockage du RAID peut atteindre le niveau PB, et la plupart des exigences de stockage peuvent être satisfaites. Généralement, la capacité disponible du RAID est inférieure à la capacité totale de tous les disques membres. Différents niveaux d'algorithmes RAID nécessitent une certaine surcharge de redondance, et la surcharge de capacité spécifique est liée à l'algorithme adopté. Si l'algorithme RAID et la capacité sont connus, la capacité disponible du RAID peut être calculée. Habituellement, l'utilisation de la capacité du RAID est comprise entre 50 % et 90 %.
-
Haute performance: La haute performance du RAID bénéficie de la technologie de partitionnement des données. Les performances d'E/S d'un disque unique sont limitées par les technologies informatiques telles que l'interface et la bande passante, et constituent souvent le goulot d'étranglement des performances du système. Grâce au partitionnement des données, le RAID distribue les E/S de données à chaque disque membre, obtenant ainsi des performances d'E/S agrégées plusieurs fois supérieures à celles d'un disque unique.
-
Fiabilité: La disponibilité et la fiabilité sont d'autres caractéristiques importantes du RAID. Théoriquement, la fiabilité d'un système RAID composé de plusieurs disques devrait être inférieure à celle d'un disque unique. Il y a une hypothèse implicite ici : la défaillance d'un seul disque rendra l'ensemble du RAID indisponible. Le RAID utilise des technologies de redondance de données telles que la mise en miroir et la parité de données pour briser cette hypothèse. La mise en miroir est la technologie de redondance la plus primitive, qui copie entièrement les données d'un certain groupe de disques sur un autre groupe de disques pour garantir qu'une copie de données est toujours disponible. Comparée à la surcharge de redondance de 50 % de la mise en miroir, la parité des données est beaucoup plus faible, et elle utilise les informations redondantes de parité pour vérifier et corriger les données. La technologie de redondance du RAID améliore considérablement la disponibilité et la fiabilité des données, et garantit que lorsque plusieurs disques échouent, les données ne seront pas perdues et le fonctionnement continu du système ne sera pas affecté.
-
Gérabilité: En fait, le RAID est une technologie de virtualisation qui virtualise plusieurs disques physiques en un lecteur logique de grande capacité. Pour le système hôte externe, le RAID est un lecteur de disque unique, rapide et fiable de grande capacité. De cette façon, les utilisateurs peuvent organiser et stocker les données du système d'application sur ce lecteur virtuel. Du point de vue de l'application utilisateur, cela peut rendre le système de stockage simple, facile à utiliser et à gérer. Étant donné que le RAID a effectué une grande partie du travail de gestion du stockage en interne, l'administrateur n'a qu'à gérer un seul lecteur virtuel, ce qui permet d'économiser beaucoup de travail de gestion. Le RAID peut ajouter ou supprimer dynamiquement des disques et effectuer automatiquement la vérification des données et la reconstruction des données, ce qui peut simplifier considérablement le travail de gestion.