1. Aperçu du RAID
En 1988, l’Université de Californie à Berkeley a proposé le concept de RAID (RedundantArrayofIncheapDisks), et à mesure que le coût des disques continuait de diminuer, le RAID est devenu (RedundantArrayofIndependentDisks), mais la substance n’a pas changé. SNIA, Berkeley et d’autres organisations ont fixé les sept niveaux de RAID0~RAID6 comme niveaux RAID standards, et le RAID standard peut être combiné dans d’autres niveaux RAID, les niveaux les plus utilisés étant RAID0, RAID1, RAID3, RAID5, RAID6 et RAID10. Chaque niveau RAID représente une méthode et une technologie d’implémentation, et il n’y a pas de distinction entre les niveaux. Dans les applications pratiques, le niveau RAID approprié et les méthodes d’implémentation spécifiques doivent être sélectionnés en fonction des caractéristiques de l’application de données de l’utilisateur, en tenant compte de la disponibilité, des performances et du coût.
Du point de vue de la mise en œuvre, le RAID est principalement divisé en trois types : RAID souple, RAID dur et RAID hybride. Toutes les fonctions du soft RAID sont assurées par le système d’exploitation et le processeur, qui est naturellement le moins efficace. Le RAID dur est équipé de puces spécialisées de contrôle/traitement RAID, de puces de traitement d’E/S et de tampons de tableau, qui ne consomment pas les ressources du CPU mais sont coûteux. Le RAID hybride dispose de puces de contrôle/traitement RAID, mais ne dispose pas de puces de traitement d’E/S, qui nécessitent un processeur et des pilotes pour être terminées, et les performances et le coût sont entre le RAID doux et le RAID.
2. Principes fondamentaux
Le RAID est un sous-système de disque composé de plusieurs disques indépendants et haute performance, offrant ainsi des performances de stockage et une technologie de redondance des données supérieures à un seul disque. Le RAID est une catégorie de technologies de gestion multi-disques qui offre un stockage haute performance avec une grande fiabilité des données à un coût abordable pour l’environnement hôte. Les deux objectifs clés du RAID sont d’améliorer la fiabilité des données et les performances d’E/S. Dans un réseau de disques, les données sont réparties sur plusieurs disques, mais pour un système informatique, c’est comme un seul disque. La redondance est obtenue en écrivant les mêmes données sur plusieurs disques simultanément (généralement comme le miroir) ou en écrivant des données de contrôle calculées sur un tableau, garantissant ainsi que la perte de données ne soit pas causée lorsqu’un seul disque tombe en panne.
Il existe trois concepts et techniques principaux dans le RAID : le miroir, le DataRiping et la parité de données :
Le miroir, qui réplique les données sur plusieurs disques, améliore la fiabilité d’une part et la performance de lecture en lisant simultanément les données de deux répliques ou plus. Évidemment, la performance d’écriture de l’image est légèrement inférieure, et il faut plus de temps pour s’assurer que les données sont correctement écrites sur plusieurs disques. Le striping de données, qui contient des fragments de données sur plusieurs disques différents, et plusieurs fragments de données ensemble forment une copie complète des données, ce qui diffère des copies multiples du miroir, et est souvent utilisé pour des raisons de performance. Les bandes de données ont une granularité de concurrence plus élevée, et lorsque des données sont consultées, elles peuvent lire et écrire des données sur différents disques en même temps, ce qui entraîne une amélioration très significative des performances d’E/S. La vérification des données, utilisant des données redondantes pour la détection et la réparation des erreurs des données, est généralement calculée par code de Hemingway, opération XOR et autres algorithmes. La fonction de vérification peut grandement améliorer la fiabilité, le vol et la tolérance aux pannes des réseaux de disques. Cependant, la validation des données nécessite que les données soient lues à partir de plusieurs sources, calculées et comparées, ce qui peut affecter la performance du système. Différents niveaux de RAID utilisent une ou plusieurs des trois technologies pour atteindre une fiabilité, une disponibilité et des performances d’E/S différentes des données. Quant au RAID à concevoir (ou même à une nouvelle qualité ou type) ou au mode de RAID à utiliser, il est nécessaire de faire un choix raisonnable basé sur une compréhension approfondie des besoins du système, et d’évaluer de manière exhaustive la fiabilité, la performance et le coût pour faire un compromis.
De manière générale, les principaux avantages du RAID sont : grande capacité, haute performance, fiabilité et facilité de gestion.
3. Évaluation RAID
JBOD (JustaBunchOfDisks) n’est pas un niveau RAID standard, il est souvent utilisé pour représenter un ensemble de disques qui ne disposent pas de logiciel de contrôle pour assurer un contrôle coordonné. JBOD connecte plusieurs disques physiques en série pour fournir un disque logique énorme. La performance de stockage est exactement la même que celle d’un seul disque, et il n’offre pas de sécurité des données. La capacité de stockage disponible est égale à la somme de l’espace de stockage de tous les disques membres.
RAID0, appelé striping, est une technologie simple et non contrôlée de data striping. Les performances sont les plus élevées de tous les niveaux RAID. Aucune politique de licenciement de quelque nature que ce soit n’est prévue. Utilisation à 100 % de l’espace de stockage.
RAID1 s’appelle le miroir, et il écrit les données sur le disque de travail et sur le disque miroir de manière totalement cohérente, avec une utilisation de l’espace disque de 50 %. La performance est affectée lorsque les données sont écrites, mais que les données ne sont pas lues. Il offre la meilleure protection des données ; une fois que le disque fonctionnel tombe en panne, le système lit automatiquement les données du disque en miroir, ce qui n’affectera pas le travail de l’utilisateur.
RAID2 s’appelle Heming Code Disk Array, et son idée de conception est d’utiliser le code Heming pour obtenir une redondance de vérification des données. Plus la largeur des données est grande, plus l’espace de stockage est utilisé, mais plus vous avez besoin de disques. Il a la capacité de corriger les erreurs, mais la surcharge de redondance des données de Hemingcode est trop importante et la reconstruction des données prend beaucoup de temps, si bien que RAID2 est rarement utilisé en pratique.
RAID3 est appelé une bande de parité dédiée, qui utilise un disque dédié comme disque de vérification, et le reste des disques comme disque de données, et les données sont stockées en croisement dans chaque disque de données en bits et octets. RAID3 nécessite au moins trois disques.
RAID4 et RAID3 fonctionnent sur un principe très similaire. Offre de très bonnes performances de lecture, mais de mauvaises performances d’écriture. Et à mesure que le nombre de disques membres augmente, le goulot d’étranglement du système du disque de somme de contrôle deviendra plus marqué. C’est rare dans les applications réelles, et les produits de stockage grand public utilisent rarement la protection RAID4.
RAID5 est appelé la bande de somme de contrôle de parité distribuée, qui devrait être le niveau RAID le plus courant actuellement, et le principe est similaire à celui de RAID4, mais il n’y a pas de goulot d’étranglement dans la performance du disque de contrôle lors des opérations d’écriture simultanées en RAID4.
RAID6, appelé la bande de double parité, introduit le concept de double vérification pour résoudre le problème d’intégrité des données lorsque deux disques tombent en panne simultanément et que les autres classes RAID ne peuvent pas résoudre. Cependant, il coûte beaucoup plus cher que RAID5, a de faibles performances d’écriture et est très complexe à concevoir et à mettre en œuvre. Par conséquent, RAID6 est rarement utilisé en pratique et constitue généralement une alternative économique aux solutions RAID10.
Les niveaux RAID standards ont leurs forces et leurs faiblesses. Combinez plusieurs niveaux RAID pour obtenir des avantages complémentaires et compenser les lacunes de chacun, afin d’obtenir un système RAID avec des performances, une sécurité des données et d’autres indicateurs supérieurs. Bien sûr, le coût d’implémentation du niveau de combinaison est généralement très élevé et n’est utilisé que dans quelques cas spécifiques. En fait, seuls RAID01 et RAID10 sont largement utilisés.
RAID01 est d’abord rayé puis miroir, ce qui consiste essentiellement à imager le disque physique ; RAID10 consiste à imager d’abord puis à bander, c’est-à-dire à imager le disque virtuel. Dans la même configuration, RAID01 a généralement une meilleure tolérance aux pannes que RAID10. RAID01 combine les avantages de RAID0 et RAID1, avec une utilisation globale du disque de seulement 50 %.
4. Comparaison des niveaux RAID grand public
Configuration RAID
Niveau/Description : | Tolérance aux pannes | mérite | défaut | RAID 0
Cartographiez les données entre les disques pour créer de grands disques virtuels. Comme chaque disque physique ne traite qu’une partie de la requête, il peut offrir des performances supérieures. Cependant, si un disque tombe en panne, le disque virtuel (VD) deviendra inaccessible et les données seront perdues de façon permanente. | non | Meilleures performances Stockage supplémentaire | Il ne doit pas être utilisé pour des données critiques | RAID 1
Mettre en miroir les données, stocker la redondance des données sur deux disques. Si un disque tombe en panne, l’autre disque prendra le relais comme lecteur principal. | Erreur de disque Défaillance d’un seul disque | Performance à haute lecture Se rétablir rapidement après une panne de disque dur Redondance des données | La surcharge du disque est importante Capacité limitée | RAID 5
Cartographiez les données entre les disques et stockez les bits de parité de chaque bande de données sur différents disques dans VD. Le bit de parité contient des informations qui peuvent être utilisées pour reconstituer des données d’un disque défaillant d’un autre disque en cas de défaillance d’un seul disque. | Erreur de disque Défaillance d’un seul disque | Utilisation efficace de la capacité de transmission Performance à haute lecture Performances d’écriture moyennes à élevées | Impact modéré sur la défaillance du disque En raison du recalcul de la parité, le temps de reconstruction est plus long | RAID 6
Cartographiez les données entre les disques et stockez les bits de parité de chaque bande de données sur différents disques dans VD. Contrairement à RAID 5, RAID 6 effectue deux calculs de parité (P et Q), ce qui lui permet de résister aux pannes de double disque. | Redondance des données Performance à haute lecture | Erreur de disque Défaillance de double disque | La performance d’écriture est réduite grâce à deux calculs de parité Puisque cela équivaut à utiliser 2 disques pour la parité, il y a un coût supplémentaire | RAID 10
Des bandes sur le jeu de miroirs. La surcharge du disque est élevée, mais c’est une excellente solution pour les performances, la redondance et la récupération rapide en cas de panne du disque. | Erreur de disque Une panne de disque par ensemble d’images | Performance à haute lecture Des groupes RAID avec jusqu’à 192 disques peuvent être pris en charge | Le coût le plus élevé | RAID 50
RAID 5 strip sur le plateau. En réduisant les lectures disque par calcul de parité, les performances peuvent être améliorées avec RAID 5, selon la configuration. | Erreur de disque Une panne de disque par portée | Performance à haute lecture Performances d’écriture moyennes à élevées Des groupes RAID avec jusqu’à 192 disques peuvent être pris en charge | Impact modéré sur la défaillance du disque En raison du recalcul de la parité, le temps de reconstruction est plus long | RAID 60
RAID 6 sur le plateau. Avec moins de lectures de disque par calcul de parité, les performances peuvent être améliorées avec RAID 6, selon la configuration. | Erreur de disque Deux disques éclatent par portée | Performance à haute lecture Des groupes RAID avec jusqu’à 192 disques peuvent être pris en charge | La performance d’écriture est réduite grâce à deux calculs de parité Puisque cela équivaut à utiliser 2 disques pour la parité, il y a un coût supplémentaire |
5. Différences logicielles et matérielles RAID
RAID doux
Le soft RAID ne possède pas de puce de contrôle dédiée ni de puce d’E/S, et le système d’exploitation ainsi que le processeur implémentent toutes les fonctions RAID. Les systèmes d’exploitation modernes offrent essentiellement un support RAID logiciel, offrant une abstraction entre les lecteurs physiques et logiques en ajoutant une couche logicielle par-dessus les pilotes de périphériques de disque. Actuellement, les classifications RAID les plus courantes prises en charge par le système d’exploitation sont RAID0, RAID1, RAID10, RAID01 et RAID5. Par exemple, Windows Server prend en chargement RAID0, RAID1 et RAID5, Linux prend en charge RAID0, RAID1, RAID4, RAID5, RAID6, etc., et Mac OS X Server, FreeBSD, NetBSD, OpenBSD, Solaris et d’autres systèmes d’exploitation prennent également en charge les niveaux RAID correspondants.
La gestion de configuration et la récupération des données du soft RAID sont relativement simples, mais toutes les tâches RAID sont entièrement réalisées par le processeur, comme le calcul des valeurs de contrôle, ce qui rend l’efficacité d’exécution relativement faible.
Le soft RAID est implémenté par le système d’exploitation, de sorte que la partition où se trouve le système ne peut pas être utilisée comme disque logique membre du RAID, et le soft RAID ne peut pas protéger le disque système D. Pour certains systèmes d’exploitation, les informations de configuration RAID sont stockées dans les informations système plutôt que sous forme de fichier séparé sur disque. Ainsi, lorsque le système plante de façon inattendue et doit être réinstallé, les informations RAID sont perdues. De plus, la technologie de tolérance aux pannes du disque ne supporte pas entièrement le remplacement en ligne, le remplacement à chaud ou le remplacement à chaud, et la capacité à supporter le remplacement à chaud du mauvais disque dépend de l’implémentation du système d’exploitation.
Hard RAID
Le RAID dur dispose de ses propres puces de traitement de contrôle RAID et d’E/S, et même d’un tampon sur tableaux, qui est le meilleur des trois types d’implémentations en termes d’utilisation du processeur et de performance globale, mais qui présente aussi le coût d’implémentation le plus élevé. Le RAID dur prend généralement en charge la technologie de commutation à chaud, qui remplace les disques défectueux pendant que le système fonctionne.
Le RAID dur se compose d’une carte RAID et d’une puce RAID intégrées sur la carte mère, et les plateformes serveur utilisent souvent des cartes RAID. Une carte RAID se compose de 4 parties : la puce de traitement du noyau RAID (le processeur sur la carte RAID), le port, le cache et la batterie. Parmi eux, les ports défèrent les types d’interfaces disque prises en charge par les cartes RAID, telles que IDE/ATA, SCSI, SATA, SAS, FC et d’autres interfaces.
RAID mixte dur et doux
Le RAID logiciel n’est pas très performant et ne protège pas les partitions système, ce qui le rend difficile à appliquer aux systèmes de bureau. Le RAID dur est très coûteux, et différents RADs sont indépendants les uns des autres et non interopérables. Ainsi, les gens adoptent une combinaison de logiciels et de matériel pour implémenter le RAID, afin d’obtenir un compromis entre performance et coût, c’est-à-dire une performance à haut coût.
Bien que ce RAID utilise une puce de contrôle de traitement, afin d’économiser des coûts, la puce est souvent moins chère et a une puissance de traitement moindre, et la plupart du traitement des tâches RAID est encore effectué par le CPU via des pilotes de firmware.
6. Sélection des applications RAID
Il y a trois facteurs principaux dans le choix d’un niveau RAID : la disponibilité des données, la performance des entrées/sorties et le coût. Si la disponibilité n’est pas requise, choisissez RAID0 pour les hautes performances. Si la disponibilité et les performances sont importantes et que le coût n’est pas un facteur majeur, choisissez RAID1 en fonction du nombre de disques. Si la disponibilité, le coût et la performance sont également importants, choisissez RAID3 ou RAID5 en fonction du transfert général de données et du nombre de disques. Dans les applications pratiques, le niveau RAID approprié doit être sélectionné en fonction des caractéristiques et conditions spécifiques de l’application de données de l’utilisateur, en tenant compte de la disponibilité, des performances et du coût.
|