Redundant Array of Inexpensive Disks
Redundant Array of Inexpensive Disks
Pourquoi le RAID ?Les principes de baseLes modèles RAIDComparaison des modèlesConclusion
2© B
BY
– 1
9/10
/02
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
Principes de base
4© B
BY
– 1
9/10
/02
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
5© B
BY
– 1
9/10
/02
Performances : le data stripping
Disquesphysiques
bloc 1
bloc 2
bloc 3
bloc 4
bloc 1 bloc 2 bloc 3
bloc 4
Disquelogique
Stripe : ensemble de blocs de mêmeniveau
bloc : bloc de données destiné à être stocké sur un disque physique
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 tailleOptimisation du taux d’E/S (unité E/S = stripe) pour application multimédia
-> 1 E/S de grosse taille
6© B
BY
– 1
9/10
/02
Inconvénient du data stripping
MnMMM
MTTF1...
31
21
11
1
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é.
Le MTTF (Mean Time To Failure) décroît en fonctiondu nombre de composants :
Avec M=MTTF d’un composantn = nombre de composants
nMMTTFL’équation ci-dessus ce simplifie en si tous les composants ont le même MTTF, cas d’un disk array
formé de disques identiques.
7© B
BY
– 1
9/10
/02
Disponibilité : redondance des données par duplication
Principe du miroir Les données sont dupliquées intégralement sur un
2ème disque Avec un décalage pour éviter une panne simultanée
Disquesphysiques
Disquelogique
bloc 1
bloc 2
bloc 3
bloc 4
bloc 1
bloc 2
bloc 3
bloc 4
bloc 1
bloc 2
bloc 3
bloc 4
Disque miroir
8© B
BY
– 1
9/10
/02
Disponibilité : redondance des données par contrôle de parité
Disques physiques
bloc 1
bloc 2
bloc 3
bloc 4
bloc 1 bloc 2 bloc 3
bloc 4
Disquelogique
bloc P
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 de celle des autres.
9© B
BY
– 1
9/10
/02
Contrôle de parité : reconstitution
bloc_1 = 01011101XOR bloc_2 = 11101011XOR 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 = 01011101XOR bloc_3 = 01010101XOR bloc_P = 11100011 --------------------------------= bloc_2 = 11101011
10© B
BY
– 1
9/10
/02
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_1Lire 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 !
Modèles RAID
12© B
BY
– 1
9/10
/02
Les modèles de base sans parité
Disquesphysiques
bloc 1
bloc 2
bloc 3
bloc 4
bloc 1 bloc 2 bloc 3
bloc 4
Disquelogique
RAID 0 (data stripping)
Disquesphysiques
Disquelogique
bloc 1
bloc 2
bloc 3
bloc 4
bloc 1
bloc 2
bloc 3
bloc 4
bloc 1
bloc 2
bloc 3
bloc 4
RAID 1 (miroir)
13© B
BY
– 1
9/10
/02
Les modèles de base à 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 l’ensemble des blocs.
RAID 3 et 4
Disquesphysiques
bloc 1
bloc 2
bloc 3
bloc 4
bloc 1 bloc 2 bloc 3
bloc 4
Disquelogique
bloc P
Parité fixe
14© B
BY
– 1
9/10
/02
Les modèles de base à parité tournante
Disquesphysiques
bloc D
bloc D
bloc D
bloc D
bloc D
bloc D bloc D
bloc D
Disquelogique
bloc P bloc D
bloc D
bloc D bloc D bloc D
bloc P
bloc P
bloc Pbloc Dbloc Dbloc D
Parité tournante
RAID 5
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
RAID 3.
15© B
BY
– 1
9/10
/02
Combinaison : RAID 0+1 Performances du RAID 0 alliées à
la sécurité du RAID 1
Disquesphysiques
Disquelogique
Disquesmiroirs
RAID 0
RAID 1
16© B
BY
– 1
9/10
/02
É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 à jour
Disquesphysiques
Chunk D
Chunk D
Chunk D
Chunk D
Chunk P
Chunk Q Chunk D
Chunk D
Disquelogique
Chunk P Chunk D
Chunk Q
Chunk Q Chunk D Chunk D
Chunk D
Chunk D
Chunk DChunk QChunk PChunk D
Chunk D
Chunk D
Chunk P
Chunk D
Comparaison des modèles
Performances
18© B
BY
– 1
9/10
/02
Comparaison pour petites E/S
Performances comparées au RAID 0. « group size » = nombre de disques dans le système de parité.
RAID : High-Performance, Reliable Secondary StoragePeter M. Chen, Edward K. Lee, Garth A. Gibson, Randy H. Katz, David A. Pattersonarticle de ACM Computing Surveys, octobre 1993
19© B
BY
– 1
9/10
/02
Comparaison pour grandes E/S
Performances comparées au RAID 0. « group size » = nombre de disques dans le système de parité.
RAID : High-Performance, Reliable Secondary StoragePeter M. Chen, Edward K. Lee, Garth A. Gibson, Randy H. Katz, David A. Pattersonarticle de ACM Computing Surveys, octobre 1993
20© B
BY
– 1
9/10
/02
Amélioration des modèles : le cache Ajout de cache, utile surtout en écriture Solution ayant ses limites
0
25
50
Temps de réponse (ms)
Entrées/sorties par seconde100 200 300
Sans cachecache
Avec ou sans cache
100% lecture100% écriture
Solutions de stockage,Jacques Péping,Eyrolles, 1998
21© B
BY
– 1
9/10
/02
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
Comparaison des modèles
Disponibilité
23© B
BY
– 1
9/10
/02
Exemple : disponibilité du RAID 5
Reprenons notre exemple du début, 10 disques avec MTTFde 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.
)()1(
2)()5(
diskMTTRGNdiskMTTF
raidMTTF
Où N = nombre total de disques G = nombre de disques dans un groupe de parité MTTR = Mean Time To Repair (temps de réparation
d’un disque)
On montre que :
RAID : High-Performance, Reliable Secondary StoragePeter M. Chen, Edward K. Lee, Garth A. Gibson, Randy H. Katz, David A. Pattersonarticle de ACM Computing Surveys, octobre 1993
24© B
BY
– 1
9/10
/02
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 !
25© B
BY
– 1
9/10
/02
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
26© B
BY
– 1
9/10
/02
Les coûts liés à la disponibilité
Mode Surcoût
RAID 0 0
RAID 1 100%
RAID 3 à 5 1 / Nb disques
Conclusion
28© B
BY
– 1
9/10
/02
Domaines d ’applicationMODE Utilisation recommandée
0 Hautes performances en lecture/écriture pour donnéesnon critiques (fichiers temporaires…)
1 Bonne performance en lecture et écriture pour donnéestrès sensibles. Journaux de bases de données, donnéesvitales
0+1 Haute performance en lecture et écriture pour donnéestrès sensibles. Journaux de bases de données, donnéesvitales
3 Pour applications de transfert intensif (multimédia) enenvironnement faiblement multi-tâches
5 Pour applications transactionnelles principalement enlecture. Peut remplacer avantageusement un RAID 3.
6 Pour applications transactionnelles en lecture avecdonnées très sensibles
29© B
BY
– 1
9/10
/02
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)