Redundant Array of Inexpensive
Disks
Pourquoi le RAID ?
Les principes de base
Les modèles RAID
Comparaison des modèles
Conclusion
Pourquoi le RAID ?
Proposé en 1987 par l’université de
Berkeley
3 axes d’amélioration de l’existant...
Coût
Performances
Disponibilité des données
… difficiles à concilier en même
temps
© BBY – 19/10/02
2
Principes de base
Amélioration des
performances
Utilisation de plusieurs disques pour
paralléliser les accès (data striping)
Les informations sont réparties
automatiquement sur le groupe de
disques
Le système d’exploitation ou le SGBD
voient un seul disque logique
© BBY – 19/10/02
4
Performances : le data
stripping bloc : bloc de
bloc 1
données
Disque bloc 2 destiné à être
logique stocké sur un
bloc 3 disque physique
bloc 4
Stripe :
bloc 1 bloc 2 bloc 3 ensemble
Disques de blocs
physiques bloc 4 de même
niveau
2 possibilités selon le profil de l’application :
Optimisation du taux de transfert (unité E/S applicative = bloc) pour application
transactionnelle -> plusieurs d’E/S de petite taille
Optimisation du taux d’E/S (unité E/S = stripe) pour application multimédia
© BBY – 19/10/02
-> 1 E/S de grosse taille
5
Inconvénient du data
stripping
Le MTTF (Mean Time To Failure) décroît en fonction
du nombre de composants :
Avec M=MTTF d’un composant
MTTF 1 n = nombre de composants
1 1 1 ... 1
M1 M2 M3 Mn
L’équation ci-dessus ce simplifie en MTTFM si tous les composants ont le même MTTF, cas d’un disk array
n formé de disques identiques.
Exemple : un ensemble de 10 disques d’un MTTF de 200 000 heures (environ 23 ans) aura un MTTF global de
200 000 / 10 = 20 000 heures (soit un peu plus de 2 ans).
L’utilisation de multiples disques, si elle améliore les
performances, augmente donc le risque d’indisponibilité.
© BBY – 19/10/02
6
Disponibilité : redondance
des données par
duplication
bloc 1
Disque bloc 2
logique
bloc 3
bloc 4
bloc 1 bloc 1
Disque miroir
Disques
physiques bloc 2 bloc 2
bloc 3 bloc 3
bloc 4 bloc 4
Principe du miroir
Les données sont dupliquées intégralement sur un
2ème disque
© BBY – 19/10/02
Avec un décalage pour éviter une panne simultanée
7
Disponibilité : redondance
des données par contrôle
de parité
bloc 1
Disque
logique bloc 2
bloc 3
bloc 4
bloc 1 bloc 2 bloc 3 bloc P
bloc 4
Disques physiques
bloc_P = bloc_1 XOR bloc_2 XOR bloc_3
Les propriétés du ou exclusif font que cette relation est équivalente à :
Bloc_1 = bloc_P XOR bloc_2 XOR bloc_3 et ainsi de suite.
On est donc capable de reconstituer l’information de n’importe quel disque à partir
© BBY – 19/10/02
de celle des autres.
8
Contrôle de parité :
reconstitution
bloc_1 = 01011101
XOR bloc_2 = 11101011
XOR bloc_3 = 01010101
--------------------------------
= bloc_P = 11100011
Si le disque 2 tombe, on reconstruit l’information perdue
à l’aide des 2 autres disques et du disque de parité :
bloc_1 = 01011101
XOR bloc_3 = 01010101
XOR bloc_P = 11100011
--------------------------------
© BBY – 19/10/02
= bloc_2 = 11101011
9
Inconvénients du contrôle
de parité
On ne peut perdre qu’un seul disque
Dans le cas de la mise à jour il faut
modifier la parité :
Exemple : bloc_1 est modifié en bloc_1’. Il faut :
Lire l’ancienne valeur de bloc_1
Lire l’ancienne parité
Calculer la nouvelle parité = bloc_1 XOR bloc_1’ XOR bloc_P
Écrire la nouvelle parité
Écrire la nouvelle valeur de bloc 1
On doit faire 4 accès disques !
© BBY – 19/10/02
10
Modèles RAID
Les modèles de base sans
parité
bloc 1
Disque
logique
bloc 2
RAID 0 (data stripping)
bloc 3
bloc 4
bloc 1 bloc 2 bloc 3
Disques
physiques bloc 4
bloc 1
Disque bloc 2
logique
bloc 3
bloc 4
RAID 1 (miroir)
bloc 1 bloc 1
Disques
physiques bloc 2 bloc 2
bloc 3 bloc 3
bloc 4 bloc 4
© BBY – 19/10/02
12
Les modèles de base à
parité fixe
bloc 1
RAID 3 et 4 Disque
logique
bloc 2
bloc 3
bloc 4
bloc 1 bloc 2 bloc 3 bloc P
Disques bloc 4
physiques
Parité fixe
Un disque est dédié à la parité.
Unité d’entrée / sortie = 1 stripe (RAID 3) ou 1 bloc (RAID 4)
Dans le cas du RAID 4, il devient un véritable goulet d’étranglement en écriture.
Cet inconvénient n’existe pas en RAID 3 puisqu’on modifie de toute façon
© BBY – 19/10/02
l’ensemble des blocs. 13
Les modèles de base à
parité tournante
bloc D
RAID 5 Disque bloc D
logique
bloc D
bloc D
bloc P bloc D bloc D bloc D
Disques bloc D bloc P bloc D bloc D
physiques
bloc D bloc D bloc P bloc D
bloc D bloc D bloc D bloc P
Parité
tournante
Pour faire disparaître l’inconvénient majeur du RAID 4 en écriture,
la parité est écrite alternativement sur l’ensemble des disques.
Conçu au départ pour les applications transactionnelles en lecture, donne de bons
résultats aussi dans le cas de grosses E/S. Remplace donc souvent le
© BBY – 19/10/02
RAID 3.
14
Combinaison : RAID 0+1
Performances du RAID 0 alliées à
la sécurité du RAID 1
Disque
logique
RAID 0
Disques
physiques
RAID 1
Disques
miroirs
© BBY – 19/10/02
15
Évolution : RAID 6
Utilisation de codages Reed-Solomon ou
Hamming, nécessitant plusieurs disques
de contrôle
+ de sécurité, mais encore plus de
difficultés en mise àChunk
jour
D
Disque Chunk D
logique
Chunk D
Chunk D
Chunk P Chunk Q Chunk D Chunk D Chunk D
Disques Chunk D Chunk D Chunk P Chunk Q Chunk D
physiques Chunk Q Chunk D Chunk D Chunk D Chunk P
Chunk D Chunk P Chunk Q Chunk D Chunk D
© BBY – 19/10/02
16
Comparaison des modèles
Performances
Comparaison pour petites
E/S
Performances comparées au RAID 0. « group size » = nombre de disques dans le système de parité.
© BBY – 19/10/02
RAID : High-Performance, Reliable Secondary Storage
Peter M. Chen, Edward K. Lee, Garth A. Gibson, Randy H. Katz, David A. Patterson
article de ACM Computing Surveys, octobre 1993 18
Comparaison pour grandes
E/S
Performances comparées au RAID 0. « group size » = nombre de disques dans le système de parité.
© BBY – 19/10/02
RAID : High-Performance, Reliable Secondary Storage
Peter M. Chen, Edward K. Lee, Garth A. Gibson, Randy H. Katz, David A. Patterson
article de ACM Computing Surveys, octobre 1993 19
Amélioration des
modèles : le cache
Ajout de cache, utile surtout en écriture
Solution ayant ses limites
Temps de réponse (ms)
Sans cache
cache
50
Avec ou sans cache
100% écriture
100% lecture
25
0
© BBY – 19/10/02
100 200 300 Entrées/sorties par seconde
Solutions de stockage,
Jacques Péping,
Eyrolles, 1998 20
Autres améliorations
Parité flottante
En cas de mise à jour, la parité n’est pas réécrite
au même endroit, mais + loin sur la piste, pour
éviter le délai rotationnel du disque
Parity logging
Stockage en mémoire des mises à jour de parité.
Écriture séquentielle dès qu’un volume suffisant
est atteint
Disques « intelligents »
Fonctions de calcul de parité, réordonnancement
des requêtes pour optimisation
© BBY – 19/10/02
21
Comparaison des modèles
Disponibilité
Exemple : disponibilité du
RAID 5
On montre que :
Où N = nombre total de disques
MTTF(disk) 2 G = nombre de disques dans un groupe de parité
MTTF(raid5) MTTR = Mean Time To Repair (temps de réparation
N(G 1)MTTR(disk)
d’un disque)
Reprenons notre exemple du début, 10 disques avec MTTF
de 200 000 heures (23 ans) et MTTR de 2 heures.
Organisons les en 2 groupes de 5 :
(200 000)2/(10 x 9 x 2) = 25 368 ans, soit une probabilité
de 0,04 % sur 10 ans.
© BBY – 19/10/02
RAID : High-Performance, Reliable Secondary Storage
Peter M. Chen, Edward K. Lee, Garth A. Gibson, Randy H. Katz, David A. Patterson
article de ACM Computing Surveys, octobre 1993 23
Fonctionnement en mode
dégradé
RAID 0 : perte des données
Pas de mode dégradé !
RAID 1 : légère baisse de performances
en lecture car plus de choix du disque le
+ rapide
RAID à parité : dépend du disque perdu
Si disque de parité : idem en lecture, +
rapide en écriture !
Si disque de données : obligation de lire
tous les autres disques !
© BBY – 19/10/02
24
Reconstitution du disque
défectueux
HOT SWAP : remplacement à
chaud du disque défectueux
HOT SPARE : disque de secours en
ligne dans la baie de disques
Reconstruction : coûteuse dans
tous les cas
© BBY – 19/10/02
25
Les coûts liés à la
disponibilité
Mode Surcoût
RAID 0 0
RAID 1 100%
RAID 3 à 5 1 / Nb
disques
© BBY – 19/10/02
26
Conclusion
Domaines d ’application
MODE Utilisation recommandée
0 Hautes performances en lecture/écriture pour données
non critiques (fichiers temporaires…)
1 Bonne performance en lecture et écriture pour données
très sensibles. Journaux de bases de données, données
vitales
0+1 Haute performance en lecture et écriture pour données
très sensibles. Journaux de bases de données, données
vitales
3 Pour applications de transfert intensif (multimédia) en
environnement faiblement multi-tâches
5 Pour applications transactionnelles principalement en
lecture. Peut remplacer avantageusement un RAID 3.
6 Pour applications transactionnelles en lecture avec
données très sensibles
© BBY – 19/10/02
28
Le RAID aujourd’hui
Technique de base disponible dans
la plupart des systèmes de disques
et systèmes d’exploitation (Unix,
Windows 2000/NT)
RAID matériel ou logiciel
Le marché s’est orienté vers le
RAID 0, 1 et 5 (et combinaisons :
0+1)
© BBY – 19/10/02
29