Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet

cr  02.01.2008      r+  01.06.2024      r-  01.06.2024      Pierre Pinard.         (Alertes et avis de sécurité au jour le jour)

RAID fut une idée née de la baisse massive des coûts des disques durs.

RAID (Redundant Arrays of Inexpensive Disks), traduit par diverses expressions, avait initialement le sens général de : « Matrice redondante de disques économiques ». Aujourd'hui, le sens général est plutôt compris comme « Redondance par Matrice de disques indépendants ».

L'acronyme RAID a été créé en 1987, dans le titre d'un article de Jakob Østergaard et Emilio Bueso, publié par l'Université de Berkeley, et intitulé « A Case for Redundant Arrays of Inexpensive Disks (RAID) », mais les concepts de l'un des usages de la technologie RAID furent brevetés dès 1978 (par un employé d'IBM).

L'utilisation d'une matrice de disques peut se faire de différentes manières pour différents usages, et ces usages ont tous été appelés RAID suivi d'un numéro (qui ne correspond en rien à la chronologie de mise au point).

C'est le contrôleur disque, spécial, sur la carte mère, qui est capable de l'une ou l'autre (ou plusieurs) de ces technologies RAID.

D'une manière générale, la matrice de disques montés en RAID est constituée de 2 à plusieurs disques (préférentiellement de même marque, même capacité et même modèle). Dans la plupart des technologies RAID, si les disques de la matrice ont des performances différentes, la matrice entière aura les performances du disque le plus faible d'entre eux.

Les 4 critères d'une technologie RAID sont :

  1. Permanence :
    La permanence des données permet à l'utilisateur de toujours disposer des données sans avoir besoin de couper son activité pour restaurer ses données à partir d'une sauvegarde tout en ayant perdu les nouvelles données depuis la précédente sauvegarde. Il suffit d'imaginer un médecin devant son patient, dans son cabinet médical ou un site Web devant tous ses visiteurs simultanés (entre en ligne de compte : la duplication en temps réel du service, la climatisation, la fourniture d'énergie, la maintenance du matériel, etc. chez soi ou chez les hébergeurs Web, dans les clouds, avec un DCaaS - DataCenter as a Service, etc.).

    2 sur 3
    La permanence du fonctionnement de l'informatique matérielle (ordinateurs, incluant les sondes distantes et leurs câbles) ainsi que la pertinence de leurs calculs et propositions (avions, hélicoptères, fusées, missiles, satellites géostationnaires, stations spatiales, trains, centrales nucléaires, tours de contrôles des aéroports, etc.) ont conduit à la redondance de tout cet aspect matériels et logiciels qui prend en charge l'humain, voire le remplace. Tout est triplé et une partie du temps de calcul consiste à vérifier que tous les 3 donnent les mêmes résultats. Si une divergence est constatée, la décision provenant de la majorité des calculateurs (2 sur 3) est privilégiée. En mise à disposition de données numériques, une technologie RAID devant assurer la permanence de son service doit donc préférentiellement être constituée de 3 grappes de disques, chaque grappe étant constituée de plusieurs disques (de préférence de même marque et modèle).

  2. Vitesse :
    La vitesse d’accès aux données est un critère de performances réglé par le choix du matériel (interfaces) et de ses micrologiciels, la plateforme matériel/logiciel et la bande passante, ainsi que l'organisation serveurzone militarisée/zone démilitarisée »).

  3. Intégralité :
    La disponibilité de l'intégralité des données est assurée, pour le particulier, par des mécanismes de sauvegarde, mais la disponibilité en temps réel de l’intégralité des données, indépendamment des pannes matérielles (tolérance de pannes), est un critère réglé par les diverses technologies RAID.

  4. Intégrité :
    L’intégrité des données peut être réglée, pour un particulier sur un appareil de particulier, ou un poste de travail, par des codes ECC, mais l’intégrité de très larges volumes de données sur un serveur est vérifiée et corrigée par des découpages des données en morceaux (tronçons appelés « bandes ») répartis plusieurs fois sur des ensembles de disques, tous en ligne, selon les diverses technologies RAID.




Pour mémoire, lors des gigantesques salons informatiques « SICOB » (ils n'existent plus - ils se tenaient au CNIT à La Défense - Paris), des démonstrations de systèmes « Non Stop » spectaculaires faisaient reposer les câbles d'un système en fonctionnement sur un billot. On donnait une hache aux visiteurs en leur demandant de couper un câble au hasard. On pouvait voir le système s'écrouler quelques secondes et reprendre sa vitesse de croisière (la marque Tandem, en particulier, avait des systèmes entièrement à tolérance de panne, où tout était redondant, y compris les alimentations, les processeurs et les programmes. Le MTBF (Temps moyen entre deux pannes) se comptait en années là ou n'importe quel système courant observait plusieurs arrêts par an pour des pannes considérées comme normales. Tandem se poursuit encore aujourd'hui : la société a été rachetée en 1997 par Compaq, qui désirait une ligne de serveurs haut de gamme. Compaq a été racheté en mai 2002 par Hewlett-Packard et la gamme NonStop a été rebaptisée Integrity NonStop.).




RAID 0 - Technologie de Recherche de vitesse (appelée « Striping » ou « Entrelacement »)

Dans cette configuration RAID, les données écrites/lues sont découpées en fragments (dont la taille [la « granularité »] est paramétrable par l'utilisateur) qui sont écrites/lues sur/depuis plusieurs disques simultanément. La matrice de disques est vue comme un unique volume de grande taille. En théorie, on obtient des débits dont la vitesse serait la somme des débits de chacun des disques, jusqu'à atteindre le débit maximum du canal/bus disques :

  • SATA I ou SATA 150 : Débit théorique Gbit/s : 1,5, Débit théorique Mo/s : 187,5, Débit pratique Mo/s : 150

  • SATA II ou SATA 300 : Débit théorique Gbit/s : 3,0, Débit théorique Mo/s : 375,0, Débit pratique Mo/s : 280

  • SATA III ou SATA 600 : Débit théorique Gbit/s : 6,0, Débit théorique Mo/s : 750,0, Débit pratique Mo/s : 600

  • SCSI-3 Ultra-160 SCSI (ou Ultra3 Wide SCSI) : Vitesse Bus (Mo/s) 160

  • SCSI-3 Ultra-320 SCSI : Vitesse Bus (Mo/s) 320

  • SCSI-3 Ultra-640 SCSI : Vitesse Bus (Mo/s) 640

  • PCIe 1x 250 MO/s

  • PCIe 2x 500 MO/s

  • PCIe 4x 985 MO/s

  • PCIe 8x 1969 MO/s

  • Etc.

Le Striping (RAID 0), emporte une multiplication du risque car, les données (un fichier) étant découpées en « bandes » sur plusieurs disques, la défaillance d'un seul d'entre eux entraîne la perte de toutes les données. La défaillance d'un cluster entraîne la perte totale du fichier, y compris les « bandes » sur les autres disques de la matrice. RAID 0 ne devrait d'ailleurs pas faire partie des technologies RAID puisqu'il n'y a pas de Redondance des données.

RAID 0 peut être exploité, simultanément, avec une autre technologie effectuant un mirroring en temps réel, appelée RAID 1 (on parle alors de RAID 0+1 ou RAID 1+0 où performances et permanence du service sont assurées simultanément).

La taille des fragments doit être calculée en fonction de la nature des données manipulées. Définir de grandes « bandes » alors que l'on manipule de tout petit fichiers, entraîne une perte considérable de volume de stockage. Dans les autres implémentations RAID, la taille des blocs n'est pas paramétrable.

RAID 0 est extrêmement populaire. Minimum 2 disques.




RAID 1 - Permanence du service « Non Stop » ou « À tolérance de pannes » (appelé « Mirroring »).

Dans cette configuration, les disques vont par paires et l'un est le miroir de l'autre. En cas de défaillance de l'un des disques, tout bascule sur le miroir sans interruption du service. Le disque défaillant peut être retiré à chaud et un autre peut être inséré à chaud - la reconstruction est transparente.

Lorsque tout va bien, la lecture peut se faire simultanément sur les originaux et les miroirs, augmentant la vitesse de lecture de ce type de matrice.

L'écriture en RAID 1 provoque de net ralentissements lorsque la technologie RAID est uniquement logiciel (c'est moins le cas lorsque la technologie est prise en charge par la carte RAID elle-même et son microcode).

L'écriture en RAID 1 provoque quelques faibles ralentissements lorsque l'écriture sur la matrice est prise en charge par un contrôleur RAID lui-même et son microcode. Le choix de la marque/modèle du contrôleur est déterminant dans l'impact sur le ralentissement du système.

L'écriture en RAID 1 ne provoque aucun ralentissement lorsque l'implémentation se fait avec un contrôleur RAID par disque. On parle alors de « duplexing ». Solution très onéreuse.

RAID 1 est très populaire.
Minimum deux disques.




RAID 0+1 (RAID 01) - Technologie alliant performance et permanence (RAID 0 + RAID 1)

Si vous avez une matrice de 3 disques en RAID 0, il vous faut une seconde matrice de 3 disques pour ajouter RAID 1 à RAID 0.

Dito RAID 1+0 mais au niveau du block.
Pas de contrôle de parité.
Minimum 4 disques vus comme un unique volume.

RAID 0+1 est très populaire mais moins populaire que RAID 1+0 (moins bonne tolérances de pannes et moins bonnes performances).

Minimum 4 disques.




RAID 2 est un RAID théorique, pas utilisé. Les données ne sont pas splittées (striping) en grands tronçons (bandes) comme dans RAID 0 mais au niveau du bit. Code de parité de Hamming. Les codes de Hamming (aussi appelés par le nom de la famille de ce type de codes : ECC - Error Checking and Correcting - Détection et correction d'erreur) permettent de détecter jusqu'à deux erreurs de parité dans un mot (octet) et de corriger une erreur de parité. Ils ne prennent pas trop de place (redondance faible).

Les codes de Hamming sont calculés et écrits, de manière logicielle (pilote du contrôleur RAID) lors de l'écriture des données, et recalculés à la lecture puis comparés à ceux calculés lors de l'écriture.

Les codes de Hamming sont stockés sur un volume dédié.

La sollicitation intensive du disque dédié aux contrôles de parité constitue un goulot d'étranglement, et ralentit globalement la matrice en cas d'entrées/sorties disques nombreuses.

RAID 2 n'est plus implémenté car les codes de contrôle ECC - Error Checking and Correcting et les codes de Hamming sont désormais pris en charge par le contrôleur RAID.

Minimum 3 disques vus comme un unique volume.




Les données ne sont pas splittées (striping) en grands tronçons (bandes) comme dans RAID 0 mais au niveau du byte (octet) et écrites pas blocs de 512 octets (voire 1024 octets). Contrôle de parité.

L'un des volumes, dédié, est utilisé pour contenir les contrôles de parité.

Technologie implémentée mais peu utilisée.

La sollicitation intensive du disque dédié aux contrôles de parité constitue un goulot d'étranglement et ralentit, globalement, la matrice, en cas d'entrées / sorties disques nombreuses.

Peu utilisé
Minimum 3 disques vus comme un unique volume.




C'est du RAID 3 amélioré.

Les données ne sont pas splittées (striping) par grands tronçons (bandes) comme dans RAID 0 mais au niveau du block. Contrôle de parité.

Le découpage et la manipulation en blocks améliore les performances. L'un des volumes, dédié, est utilisé pour contenir les contrôles de parité.

Technologie implémentée mais pratiquement pas utilisée.

La sollicitation intensive du disque dédié aux contrôles de parité constitue un goulot d'étranglement et ralentit, globalement, la matrice, en cas d'entrées / sorties disques nombreuses.

Peu utilisé
Minimum 3 disques vus comme un unique volume.




RAID 5 - Intégrité des données et tolérance de panne : Block level striping avec ECC - Error Checking and Correcting distribué.

C'est du RAID 4 amélioré par la diffusion des codes ECC - Error Checking and Correcting sur tous les volumes. Les données ne sont pas splittées (striping) en grands tronçons (bandes) comme dans RAID 0 mais au niveau du block. Contrôle de parité.

Les codes de contrôle de parité sont distribués sur tous les volumes de la matrice ce qui élimine le goulot d'étranglement de RAID 2, RAID 3, et RAID 4.

La tolérance de panne est améliorée par la distribution des codes ECC - Error Checking and Correcting, chaque fois, sur un autre volume que celui de la donnée contrôlée.

En cas de panne de l'un des disques de la matrice, les codes ECC - Error Checking and Correcting perdus peuvent être reconstitués à partir des données préservées sur les autres disques et, corolaire, en cas de données perdues, elles peuvent être reconstituées à partir des codes ECC - Error Checking and Correcting sur les autres disques.

Le disque défaillant peut être retiré à chaud et un autre peut être inséré à chaud - la reconstruction est transparente.

En cas de panne de plus d'un disque de la matrice, tout est perdu.

Technologie RAID très populaire.
Minimum 3 disques vus comme un unique volume.




Amélioration de RAID 5 avec deux codes de contrôle de parité correcteur d'erreur, distribués.

Les codes de contrôle de parité sont distribués sur tous les volumes de la matrice.

Le calcul des codes de parité peut ralentir un peu les phases d'écriture. Pas d'incidence en lecture.

Tolérance de panne de deux disques dans la matrice. Performances légèrement inférieure à RAID 5, mais tolérance de panne accrue.

Utilisé lorsque l'intégrité des données est critique.
Minimum 3 disques vus comme un unique volume.




RAID 7 - Technologie de recherche de l'intégrité des données (tolérance de panne)

Seul standard industriel parmi les implémentations RAID.

Implémentation de RAID 3 ou RAID 4 mais avec contrôleur doté de processeurs rapides et d'une mémoire cache amortissant le goulot d'étranglement des écritures des ECC sur le volume dédié.

Contrôleur extrêmement cher proposé uniquement par SCC (Storage Computer Corporation).

Peu utilisé
Minimum 3 disques vus comme un unique volume.




Dito RAID 0 mais au niveau du block + RAID 1.

Pas de contrôle de parité.

Très populaire - Meilleures tolérances de pannes et meilleures performances que RAID 0+1.

Minimum 4 disques vus comme un unique volume.




RAID 15 – Intégrité des données, tolérance de pannes et vitesse.

Organisation en miroirs de grappes de disques (3 grappes minimum), chaque grappe étant constituée d’un minimum de 2 disques.

RAID 15

- Données splittées (striping) en tronçons (bandes), comme en RAID 5 avec granularité modifiable par l'utilisateur.

Très fiable. Pour que RAID 15 défaille il faut que tous les disques de deux des 3 grappes cessent de fonctionner.

Coûteux.

Minimum 6 disques.




RAID 50 – Intégrité des données, tolérance de pannes et vitesse.

RAID 50 - Données splittées (striping) en tronçons (bandes), comme en RAID 5 avec granularité modifiable par l'utilisateur.

RAID 50 est organisé en grappes de disques, chaque grappe étant constituée d’un minimum de trois disques, et, au minimum, deux grappes sont nécessaires.

RAID 50 est un des meilleurs compromis rapidité/fiabilité avec une fiabilité peu dégradée par la recherche de vitesse. Toutefois, le Striping (RAID 0), emporte une multiplication du risque car, les données (un fichier) étant découpées en « bandes » sur plusieurs disques, la défaillance d'un seul d'entre eux entraîne la perte de toutes les données. Voir RAID 0.

Couteux

Seuil de défaillance de RAID 50 : 2 disques en panne.

Minimum six disques.




RAID 51 – Intégrité des données, tolérance de pannes et vitesse.

RAID 51 splitte (striping) les données en tronçons (bandes), comme en RAID 5 avec granularité modifiable par l'utilisateur.

RAID 51 est organisé en grappes de disques, chaque grappe étant constituée d’un minimum de trois disques, et, au minimum, deux grappes sont nécessaires.

RAID 51 est un des meilleurs compromis rapidité/fiabilité avec une fiabilité peu dégradée par la recherche de vitesse.

Couteux.

Seuil de défaillance de RAID 51 : 4 disques en panne.

Minimum six disques (de même taille/marque/modèle).