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.
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.
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.
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é.
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.
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.
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.