Les niveaux de RAID 

 


Technologie RAID

     Apparus il y a quelques années, les disk-arrays étaient fondés sur les prémisses que la performance en I/O/s pouvait être accrue de manière significative en replaçant un petit nombre de gros disques par un grand nombre de petits disques.
La performance totale du système peut être améliorée pour une capacité identique. Le principal problème avec cette approche est la disponibilité du système. Même avec une meilleure fiabilité pour les petits disques que pour les gros, un système avec beaucoup de petits disques est moins fiable qu'un système avec peu de gros disques.

Aujourd'hui, pour réduire les coûts, le marché des mémoires de stockage utilise de grandes configurations de petits disques. Ces disques sont de plus en plus fiables, mais le nombre de disques croît plus vite que la fiabilité. La fiabilité du système reste faible.
Le coût des pertes fréquentes de données, lié à un coût de main-d'oeuvre plus élevé, devient plus onéreux que le surcoût de la protection. Avec les gros disques coûteux le replacement des pièces en panne était justifié, pour la partie électronique comme pour le HDA (ensemble mécanique).
Avec un MTBF du HDA autour de 1 000 000 heures le taux de données perdues était acceptable. Les défaillances électroniques plus fréquentes que les défaillances mécaniques permettaient le replacement des plaques sans perte des données. Avec les petits disques aucune réparation ne peut être faite et chaque défaillance (électronique ou mécanique) provoque une perte de données.

Les RAID (ou Redundant Array of Inexpensive Disks) ont été présentés comme une méthode pour pallier cette déficience. Les RAID ont été décrits par D Patterson, G Gibson, et R H. Katz de l'Université de Californie à Berkeley. Cette publication est protégée par l'ACM (référence 1988 ACM 0-89791-268- 3/88/006/109). Parmi les solutions décrites l'industrie a retenu les suivantes:

Le RAID 0

    Les disk-arrays RAID 0 réalisent l'accès parallèle aux données (les données sont divisées en blocs élémentaires). Les blocs sont écrits sur différents disques physiques. Les RAID 0 permettent plusieurs lectures et écritures en même temps.
A l'inverse des autres RAID, le RAID 0 n'a pas de redondance et la fiabilité est celle d'un grand nombre de petits disques. Avec un fichier réparti sur plusieurs disques, la perte d'un disque rend la totalité du fichier inaccessible. En conséquence, le RAID 0 peut seulement être utilisé pour les informations non critiques.

Le RAID 1

    Les disk-arrays RAID 1 utilisent une fonction duplication câblée pour protéger les données. Dans un RAID 1, deux disques sont couplés, un disque et son miroir. Il permet les mêmes vitesses d'écriture qu'un disque standard, c'est le meilleur choix pour les applications qui font beaucoup d'écritures. En lecture les accès sont répartis entre les disques (à partir de Flare 8).

L'intérêt du RAID 1 par rapport au miroir logiciel traditionnel est dans la décentralisation des I/O de duplication. La surcharge des UC disparaît ainsi que le double trafic des écritures sur les interfaces SCSI qui exigent des duplications de matériel. L'utilisation du RAID 1 permet de bénéficier des caches internes sécurisés en écriture ainsi que de la redondance de l'environnement dans le sous-système.

L'inconvénient majeur du RAID 1 est le surcoût de 100% pour les disques. Le surcoût n'est justifié que pour les données sensibles.

Le RAID 1/0

    Ce type de RAID nouvellement introduit combine deux groupes de type RAID 0 associés en miroir de type RAID 1. Il permet de bénéficier du "striping" sans pénaliser les écritures tout en conservant la haute disponibilité. C'est le plus performant des modes sécurisés pour les accès aléatoires. Son principal inconvénient est le surcoût de 100% sur les disques.

Avec la baisse des prix des disques l'utilisation du RAID 1 ou du RAID 1/0 devient de plus en plus justifiable.

Le RAID 3

    Le RAID 3, ou Disk-array Parallèle, apparaît vu du calculateur hôte comme un grand disque virtuel.
Le concept du mode 3 est que les disques opèrent en parallèle sur de grands fichiers répartis sur plusieurs axes. Durant les opérations d'écriture les données sont divisées en segments. Les segments sont écrits à travers les différents disques de données en une seule opération parallèle.

A la lecture des données, la procédure est renversée. Chaque disque accède à sa part de données et transfère en parallèle au contrôleur. De cette manière, le temps de transfert des données pour une lecture ou une écriture est divisé fortement. Pour cette raison les arrays RAID 3 sont choisis pour les applications demandant des transferts de grands fichiers, puisque les données peuvent être accédé à haut débit.

L'information de parité est rangée sur un disque séparé. Ces parités permettent la reconstruction d'un disque de données en cas de défaillance. La parité est un élément majeur pour la haute disponibilité des données. Pour une configuration de cinq disques, 20% de la capacité est utilisée pour la redondance.

Le RAID 3 est efficace pour accélérer une opération de lecture ou d'écriture, mais il faut remarquer qu'il ne peut réaliser qu'une seule opération à la fois par groupe de disques. Tous les disques d'un groupe sont impliqués à chaque transaction. Les disques sont liés ensemble à chaque requête d'E/S. En environnement commercial où de nombreux utilisateurs accèdent en simultanéité à des enregistrements distincts, les requêtes peuvent s'accumuler et la performance tomber. Le RAID 3 traite efficacement les applications telles que l'image ou le graphique, c'est là son plus clair avantage. A contrario il se révèle lent pour les applications manipulant de petits enregistrements répartis aléatoirement sur le disque. Dans ces situations, notamment pour le traitement de transactions, d'autres modes de fonctionnement sont recommandés.

Le RAID 5

Le RAID 5 utilise aussi une répartition des données sur tous les disques du groupe, mais il les traite comme des blocs indépendants. Ainsi, en RAID 5, chaque disque peut agir indépendamment. Chaque disque est capable de traiter une lecture à lui seul, le nombre d'I/O simultanées est multiplié. Un groupe de cinq disques en RAID 5 peut lire jusqu'à cinq enregistrements pendant le temps que prend un RAID 3 pour en lire un. Une autre différence entre le RAID 5 et le RAID 3 est la répartition des parités, il n'y a pas de disque de parité dédié. Les informations de parité sont distribuées sur tous les disques du groupe de la même manière que les données. Ceci réduit le goulet d'étranglement qui se produit quand plusieurs écritures accèdent aux données de parité.

Un inconvénient inhérent au RAID 5 est une pénalité à l'écriture des données. Cette pénalité est due à la mise à jour de la parité en fonction de la nouvelle donnée, cette opération demande deux relectures auxquelles s'ajoutent les deux écritures. Les applications demandant de forts taux d'écriture subissent toujours une dégradation en performance. La pénalité écriture en RAID 5 est masquée par l'utilisation d'un cache écriture, les extra accès en lecture et écriture sont fait pendant les temps de faible activité et optimisés.

Le RAID 5 est adapté aux applications transactionnelles utilisant le mode "raw", néanmoins il est toujours avantageusement combiné au mode RAID 1.