Notions sur le RAID
Notions sur le RAID
Notions sur le RAID
Ces solutions vous permettent d'avoir, chacune dans leur domaine, des taux de transferts optimums.
La technologie RAID
Comment accroître du même coup capacité de stockage et sécurité des données
Le principe
Les systèmes RAID permettent l'utilisation conjointe de plusieurs disques afin d'assurer une plus grande
zone de stockage, une meilleure sécurité des données, ou les deux simultanément. L'ordinateur hôte voit
un seul disque de grande capacité. Le système RAID se charge de répartir les données entre les disques,
et de calculer les sommes de contrôle afin de reconstruire les données d'un disque en panne (sauf en RAID
0).
Le contrôleur sur carte bus (type PCI) - Il se connecte sur le bus d'entrée/sortie du serveur, et
contient également des contrôleurs de bus SCSI ou FC-AL pour la gestion des disques.
Les avantages d'un contrôleur indépendant par rapport à un contrôleur bus sont multiples :
Indépendance par rapport au système hôte - Aucun pilote logiciel n'est nécessaire dans le cas d'un
contrôleur indépendant, car il est vu sur le bus comme un disque dur. D'autre part, un contrôleur
peut se brancher sur n'importe quelle plate-forme (Intel, SPARC, HP, etc.) sans aucune contrainte.
Configuration de contrôleurs redondants possible - Si l'un des contrôleurs tombe en panne, le
second prend le relais, assurant ainsi une continuité de service.
Possibilité de multi-attachement - Il est possible de partager un contrôleur RAID entre 2 ou
plusieurs serveurs, même si ceux-ci sont de types différents (NT, UNIX, etc.). Des économies
importantes peuvent ainsi être réalisées.
Il est à noter que malgré la sécurité apportée par de nombreux niveaux de RAID, ces systèmes ne
dispensent pas des sauvegardes.
mode linéaire
o Deux disques et plus sont combinés par concaténation. L'écriture sur le disque
RAID se fera donc d'abord sur le premier puis sur le second quand il sera plein
et ainsi de suite. Il n'est pas nécessaire que les disques soient de la même taille
et, pour tout dire, la taille n'est ici d'aucune importance.
o Il n'y a aucune redondance à ce niveau. Si un disque tombe en panne, vous
perdrez surement toutes vos données. Vous aurez peut être la chance d'en
récupérer une partie si, du point de vue du système de fichiers, il ne manque
qu'un gros bloc consécutif de données.
o Les performances en lecture/écriture ne vont pas s'améliorer automatiquement
mais si plusieurs utilisateurs se servent simultanément du périphérique, il se
peut qu'ils accèdent à des disques différents et que les performances en soient
augmentées.
RAID-0
o Ou "stripe". Semblable au mode linéaire à ceci près que les lectures et les
écritures ont lieu en parallèle sur les disques. Les disques doivent avoir
sensiblement la même taille. Les périphériques se remplissent progressivement
de la même façon. Si l'un des deux est plus grand que l'autre, l'espace
supplémentaire est toujours employé pour la matrice RAID mais vous
n'utiliserez qu'un des deux disques vers la fin. Les performances en patiront.
o Comme en linéaire, il n'y a pas de redondance des données mais en plus vous
ne serez pas capable de récupérer vos données si un disque tombe en panne.
Au lieu de ce qu'il vous manque un gros bloc de données, votre système de
fichiers comprendra de nombreux petits trous. e2fsck ne sera
vraisemblablement pas en mesure de reconstituer quoi que ce soit.
o Les performances en lecture/écriture augmenteront puisque les lectures et les
écritures auront lieu sur les deux disque en même temps. C'est souvent ce qui
motive l'emploi du RAID-0. Si les bus sont assez rapides, vous pourrez flirter
avec N*P Mo/s.
RAID-1
o Il s'agit du premier mode redondant. Le RAID-1 s'employe à partir de deux
disques auxquels viennent éventuellement se greffer des disques de secours. Ce
mode duplique les informations d'un disque sur l(es)'autre(s). Bien sûr, les
disques doivent être de même taille. Si un disque est plus grand que les autres,
la matrice sera de la taille du plus petit.
o Jusqu'à N-1 disques otés (ou défectueux), les données restent intactes et si le
contrôleur (SCSI, IDE, etc...) survit, la reconstruction sera immédiatement
entamée sur un des disques de secours après détection de l'anomalie.
o Les performances en écriture sont légèrement inférieures à celles d'un disque
unique vu que les données doivent être écrites sur chaque disque de la matrice.
Les performances en lecture sont en général bien plus mauvaises en raison de
la mise en oeuvre au sein du code d'une stratégie d'équilibrage simpliste.
Cependant, cette partie des sources a été revue pour le noyau 2.4.
RAID-4
o Ce niveau RAID n'est pas utilisé très souvent. Il s'employe à partir de trois
disques et plus. Au lieu d'effectuer une copie des informations, on conserve la
parité sur un disque et on écrit les données sur les autres comme on le ferait
avec une matrice RAID-0. Un disque étant dédié à la parité, la taille de la
matrice sera (N-1)*S ou S est la taille du plus petit disque. Comme en RAID-1,
les disques doivent avoir la même taille sans quoi le S précédent correspondra
à celui du plus petit disque.
o Si un disque lache, l'information de parité permet de reconstruire toutes les
données. Si deux disques lachent, toutes les données sont perdues.
o On n'utilise pas beaucoup ce niveau en raison du stockage de la parité sur un
disque unique. L'information doit être mise à jour à chaque fois qu'on écrit sur
un des disques, ce qui constitue un goulot d'étranglement si le disque de parité
n'est pas nettement plus rapide que les autres. Cependant, si vous avez
beaucoup de petits disques lents et un disque très rapide, le RAID-4 peut
s'avérer très utile.
RAID-5
o Il s'agit surement du mode le plus approprié quand on souhaite combiner un
grand nombre de disques tout en conservant de la redondance. Le RAID-5
s'employe à partir de trois disques avec éventuellement des disques de secours.
La matrice sera de taille (N-1)*S, comme en RAID-4. A la différence du
RAID-4, l'information de parité est répartie équitablement entre les différents
disques, évitant ainsi le goulot d'étranglement du RAID-4.
o Si un des disques tombe en panne les données restent intactes. La
reconstruction peut commencer immédiatement si des disques de secours sont
disponibles. Si deux disques rendent simultanément l'âme, toutes les données
sont perdues. Le RAID-5 ne survit pas à la défaillance de plus d'un disque.
o Les performances en lecture/écriture s'améliorent mais il est difficile de prévoir
de combien.
Disques de secours
Les disques de secours ne prenent pas part à la matrice RAID jusqu'à ce qu'un des disques de
celle-ci tombe en panne. Quand un disque lache, il est marqué défectueux et la reconstruction
est entamée sur le premier disque de secours disponible.
Les disques de secours renforcent donc la sécurité de systèmes RAID-5 qui peuvent être
difficilement accessibles. Le système peut fonctionner pendant un certain temps aec un disque
défectueux tant que le disque de secours assure la redondance.
Vous ne pouvez être sûr de la survie de votre système en cas de défaillance d'un disque. La
couche RAID peut faire son travail mais les gestionnaires SCSI peuvent receller des erreurs,
les composants IDE peuvent se bloquer et d'autres phénomènes peuvent se produire.
Raid a été développé pour permettre d'outrepasser les capacités limites des unités
de disques durs, pour améliorer les performances et pour augmenter la fiabilité en
apportant la tolérance de panne.
Augmenter la capacité.
RAID permet de mettre "bout à bout" des disques durs, ce qui permet d'accroître la
taille du volume.
Par exemple, avec deux disques d'un Go, on peut créer un seul volume de 2Go.
Exemple: Soit un fichier de 10Mo. S'il est écrit sur un disque ayant un débit de
5mo/s, il sera écrit en 2 secondes. Si l'écriture est partagée entre deux disques, le
temps total ne sera plus que d'une seconde. Si on utilise 5 disques, le temps est
réduit à 40/100èmes de secondes. Ce raisonnement est un peu théorique, les gains
observés n'étant pas aussi spectaculaires à cause de la gestion du système RAID,
de l'écriture d'informations de tolérance de panne, et surtout de goulets
d'étranglement ne permettant pas toujours l'arrivée suffisamment rapide des données
au disques.
Segments de Segments de
Adressage
données de données de
Indépendant
taille réduite grande taille
RAID 0
C'est le plus dangereux. Il consiste à mettre bout à bout des partitions. Les
utilisateurs de NT WorkStation le connaissent car c'est l'agrégat de partition sans
contrôle de parité proposé dans l'administrateur de disques.
Les données étant réparties sur les deux disques, le débit est amélioré.
RAID 1
RAID 2
C'est encore un miroir, sauf qu'un seul des disques est sollicité lors des opérations
de lecture. Ils écrivent tous les deux, mais lors de la lecture un des disque se "
repose " ce qui est censé améliorer sa fiabilité. Il nécessite en général une carte
spéciale.
RAID 3
Raid 3 fonctionne suivant le même principe que Raid 0, sauf que l'on utilise un
troisième disque servant à stocker des indications de parité (c'est l'agrégat à bande
avec parité de NT Serveur). Cependant, une solution matérielle aura le bénéfice de
moins ralentir le serveur. Il est impératif d'utiliser un disque très solide, pour assurer
le contrôle de parité, car c'est celui qui travaille le plus (+-2x plus que les autres). Si
l'un des deux autres disque tombe en panne, le contrôle de parité servira à
reconstruire les données.
Si le disque de contrôle de parité tombe en panne on se retrouve en Raid 0, ce qui
n'est pas totalement catastrophique.
Lors d'écritures de taille inférieure à la taille des segments, le contrôleur doit mettre à
jour les données de parité. Cette opération nécessite entre autre une lecture de
lancienne parité suivie de lécriture de la nouvelle. Ces deux opérations impliquent
lunique disque de parité, le transformant en goulot détranglement. Pour cette raison,
les matrices à parité distribuée sur l ensemble des disques (RAID 5) sont toujours
préférées aux systèmes RAID de niveau 4.
RAID 5
Le "disque de contrôle" est réparti entre tous les disques, donc tous les disques
travaillent autant (en théorie). Vous avez tous les avantages. Le système est n fois
plus rapide (n = le nombre de disque, enfin à peu près...), si un (et un seul) disque
tombe en panne, il suffit de l'enlever et de le remplacer par un tout beau, les données
seront régénérées à partir des autres disques... Attention, cette manoeuvre nécessite
bien sûr un équipement hotplug (branchement à chaud).
Notez toutefois que l'espace total de stockage sera diminué de l'équivalent d'un
disque (pour le contrôle), donc il vaut mieux utiliser 7 disques que 3. Avec trois
disque on perd un tiers de l'espace, avec 7, seulement un 7ème. CQFD.
Il est possible d'opter pour une solution logicielle, très pénalisante du point de vue
temps CPU (surtout en cas de panne). Une solution plus performante consiste à se
faire offrir une belle tour Raid (non il n'y a pas de faute) avec tout plein de jolis
disques à l'intérieur et richement dotée en mémoire. D'ailleurs, je recherche des
gentils mécènes pouvant m'offrir quelques petites tours Raid en échange de ma
gratitude ;-)
Le système ORTHOGONAL RAID 5 a été proposé par IBM. Dautres niveaux ont été
proposés par différents constructeurs de matériels informatiques. Le système
proposé par IBM est basé sur une technique logicielle qui utilise un contrôleur par
disque dur appartenant à une matrice. Le reste de la configuration est identique à
une matrice RAID5. Ainsi, la matrice peut continuer à fonctionner malgré la panne
dun disque (RAID5), mais aussi dun contrôleur de disque (un contrôleur par disque).
Larticle de CHEN [Chen94] propose que ces systèmes utilisent deux codes de
redondance (dun type différent de celui des RAID 2) qui leur permettent de continuer
à fonctionner après les pannes simultanées de deux des disques de la matrice. Ces
matrices sont organisées comme des matrices de niveau RAID 5. On nomme aussi
ces systèmes matrices à redondance P+Q. Ce principe a été mis en oeuvre par la
société StorageTek sur sa gamme de matrice de disques Iceberg destinées aux sites
centraux IBM.
IBM donne une toute autre définition dun système RAID 6 (ou HYBRID RAID 1)
[Dodson93]. Ce système est basé sur une configuration RAID 1. La copie des
informations contenues dans le segment numéro 1 est située sur le segment numéro
2, mais décalée dun disque vers la droite.
RAID 10
C'est une combinaison entre l'agrégat et le miroir. Il est donc le plus sûr et le plus
performant.
Il est rapide car les données sont réparties sur plusieurs disques, il est sûr car le
contrôle de parité est réparti sur tous les disques.
RAID S
RAID H
Ce niveau de RAID est à l'état de prototype, vous ne devriez donc pas le trouver à la
FNAC, ni même chez DARTY.
RAID 0 – lecteurs en agrégat par bande sans parité, en groupe non redondant
RAID 2 – Entrelacement des secteurs avec conservation des informations ECC (codage avec
correction des erreurs) sur un lecteur
Comme les informations d'ECC sont enregistrées sur chaque secteur de tous les lecteurs, cette
configuration n'offre aucun avantage sur RAID 3 et n'est pas utilisée.
RAID 3 – Entrelacement des secteurs avec conservation des informations de parité sur un
lecteur
Les informations de parité sont
enregistrées sur un seul lecteur, et le contrôle d'intégrité des données repose sur l'ECC des lecteurs
eux-mêmes, comme dans RAID 2. Comme les informations de parité sont enregistrées sur un disque
réservé à cet effet, un lecteur quelconque de la batterie peut tomber en panne sans que ses données
soient perdues. Elles peuvent être reconstruites sur un lecteur de remplacement, à l'aide des
informations restantes et des informations de parité. Pour conserver de bonnes performances lors du
transfert de petits fichiers, il peut être nécessaire d'utiliser des moteurs synchronisés sur tous les
lecteurs. Les opérations de lecture et d'écriture ne peuvent pas être effectuées en recouvrement, mais
les performances en lecture sont améliorées, puisque des lectures consécutives peuvent être
effectuées en même temps sur tous les lecteurs.
Il s'agit d'une version de RAID 3 plus rapide, dans la mesure où la lecture complète d'un fichier peut
être effectuée sur un seul disque. Les performances en écriture ne sont pas améliorées, puisque le
lecteur des informations de parité doit recevoir des mises à jour à chaque opération d'écriture. Comme
les avantages sur RAID 3 sont peu significatifs et que les performances en écriture sont inférieures à
celles de RAID 5, cette configuration n'est pas utilisée.
L'entrelacement
La méthode RAID de formation d'un lecteur logique unique à partir de plusieurs unités physiques fait
appel à un processus appelé l'entrelacement. Celui-ci consiste à organiser les informations de façon
logique, afin de répartir les fichiers individuels au sein d'un groupe de lecteurs. Un segment peut être
composé d'un seul octet ou s'étendre sur plusieurs secteurs. Cette méthode offre l'avantage
d'autoriser un accès plus rapide aux données, car les lectures peuvent s'effectuer en parallèle sur les
lecteurs individuels. Par contre, une fois le lecteur logique formaté, la capacité de l'ensemble est fixe.
L'extension est donc plus compliquée qu'un simple ajout de modules de lecture.