Chapitre 17. Réseau redondant de disques indépendants (RAID, de l'anglais « Redundant Array of Independent Disks »)

L'idée principale de RAID consiste à combiner plusieurs lecteurs de disques de petite taille et peu chers dans une matrice dans le but de fournir des performances ou une redondance qui ne seraient pas réalisables avec un seul disque à coût élevé. Cette matrice de disques apparaîtra à l'ordinateur comme étant une seule unité de stockage logique ou un seul disque.
RAID permet d'étaler des informations sur plusieurs disques. RAID utilise des techniques telles que l'Entrelacement de disques (RAID niveau 0), la Mise en miroir de disques (RAID niveau 1), et l'Entrelacement de disques avec parité (RAID niveau 5) permettant une meilleure redondance, une latence plus basse, une augmentation de la bande passante, et la maximisation des capacités de récupération après des échecs de disque dur.
RAID distribue des données sur chaque disque de la matrice en les divisant de manière consistante (habituellement avec une taille de 256K ou 512k, même si d'autres valeurs sont également acceptables). Chaque « morceau » est ensuite écrit sur le disque dur de la matrice RAID selon le niveau RAID employé. Lorsque les données sont lues, le processus est inversé, donnant l'illusion que les multiples disques de la matrice forment un seul et unique disque.
Les administrateurs systèmes et autres personnes gérant de grandes quantités de données bénéficieront de l'utilisation de la technologie RAID. Les raisons principales pour déployer RAID incluent :
  • Amélioration de la vitesse
  • Augmentation des capacités de stockage à l'aide d'un seul disque virtuel
  • Perte de données due aux échecs de disque minimisée

17.1. Types RAID

Trois approches RAID sont possibles : RAID microprogramme, RAID matériel, et RAID logiciel.

RAID microprogramme

RAID microprogramme (aussi appelé ATARAID) est un type de RAID logiciel dans lequel les ensembles RAID peuvent être configurés à l'aide d'un menu basé sur microprogramme. Le microprogramme utilisé par ce type RAID s'intègre également au BIOS, vous permettant ainsi de démarrer à partir de ses ensembles RAID. Différents fournisseurs utilisent différents formats de métadonnées sur disque pour marquer les membres définis RAID. La matrice Intel Matrix RAID est un bon exemple de système RAID microprogramme.

Matériel RAID

La matrice basée matériel gère le sous-système RAID indépendamment de l'hôte. Celle-ci ne présente qu'un seul disque par matrice RAID à l'hôte.
Un périphérique RAID matériel peut être interne ou externe au système. Les périphériques internes consistent habituellement en une carte contrôleur spécialisée qui peut gérer les tâches RAID de manière transparente par rapport au système d'exploitation. Les périphériques externes se connectent habituellement au système via SCSI, Fibre Channel, iSCSI, InfiniBand, ou à l'aide d'autres interconnexions réseau à grande vitesse et présentent des volumes logiques au système.
Pour le système d'exploitation, les cartes contrôleur RAID fonctionnent comme un contrôleur SCSI et gèrent toutes les communications du disque. L'utilisateur branche le disque sur le contrôleur RAID (comme un contrôleur RAID normal) et les ajoute à la configuration des contrôleurs RAID. Le système d'exploitation ne verra aucune différence.

RAID logiciel

RAID logiciel implémente les divers niveaux RAID dans le code du disque du noyau (périphérique bloc). Celui-ci offre la solution la moins chère possible, car des cartes contrôleur ou chassis enfichables à chaud [2] ne sont pas requis. RAID logiciel fonctionne également avec des disques IDE moins chers ainsi qu'avec des disques SCSI. Avec les CPU plus rapides modernes, RAID logiciel offre de meilleures performances qu'avec RAID matériel.
Le noyau Linux contient un pilote MD (« multi-disk ») permettant à la solution RAID d'être complètement indépendante du matériel. Les performances d'une matrice basée logiciel dépendent des performances et de la charge du CPU du serveur.
Ci-dessous figurent quelques fonctionnalités-clé de la pile RAID logiciel Linux :
  • Conception multi-threads
  • Portabilité des matrices entre ordinateurs Linux sans reconstruction
  • Reconstruction de matrices en arrière-plan à l'aide des ressources système inactives
  • Prise en charge des disques enfichables à chaud
  • Détection de CPU automatique pour tirer profit de certaines fonctionnalités, comme la prise en charge du streaming SIMD
  • Correction automatique des mauvais secteurs sur les disques d'une matrice
  • Vérifications régulières de la consistance des données RAID afin de s'assurer de la bonne santé de la matrice
  • Surveillance pro-active des matrices avec des alertes par courrier électronique envoyées sur une adresse désignée lors d'événements importants
  • Les « write-intent bitmap », qui augmentent dramatiquement la vitesse des événements de resynchronisation en permettant au noyau de savoir précisément quelles portions d'un disque doivent être resynchronisées au lieu de devoir resynchroniser la matrice toute entière
  • Resynchronisez les points de contrôle. Ainsi, si vous redémarrez votre ordinateur pendant une resynchronisation, pendant le démarrage, la resynchronisation reprendra à l'emplacement où elle s'était arrêtée et ne devra pas recommencer depuis le début.
  • La capacité à changer les paramètres de la matrice après l'installation. Par exemple, vous pouvez agrandir une matrice RAID5 à 4 disques en matrice RAID5 à 5 disques lorsque vous avez un nouveau disque à ajouter. Cette opération d'agrandissement se fait à chaud et ne requiert pas de réinstallation sur la nouvelle matrice.


[2] Un chassis enfichable à chaud vous permet de supprimer un disque dur sans avoir à éteindre votre système.