RAID 0+1, RAID 10 ?

Résolu/Fermé
Samy1 Messages postés 3 Date d'inscription mercredi 7 mars 2001 Statut Membre Dernière intervention 21 août 2004 - 21 août 2004 à 15:47
 Vince - 23 oct. 2017 à 15:42
Salut,

Après avoir pris connaissance de l'article sur les différents types de RAID disponibles, j'ai une question.

J'ai lu dans le descriptif de la carte mère que j'ai l'intention d'acheter (ASUS P4C800-E Deluxe), qu'elle supporte le RAID 0+1, alors, je souhaiterais savoir ce que cela signifie.

J'ai aussi lu quelque part qu'il existe un RAID 10.

Pourriez-vous aussi me dire comment utiliser ces types de RAID, ainsi que leurs avantages et inconvénients ?

Merci de votre aide.

11 réponses

RAID 0
Le RAID 0 est non redondant. Au minimum 2 disques vont être mis en commun pour présenter une virtualisation du stockage et bluffer l'OS qui croira ne voir qu'un seul disque.
Dans les baies de disques des fabriquants, on appelera LUN l'objet virtuel résultant d'un tel agencement. Le RAID 0 est rarement utilisé par les fabriquants parce que non redondant.
Quand on écrit sur un disque simple, les données remplissent les blocs l'un après l'autre. Les I/O (entrées/sorties) de 8k par exemple, vont consommer l'espace par paquets de 8k contigus.
Chaque I/O ne peut être envoyée vers le disque que lorsque la précédente est validée.
L'intérêt du RAID 0 à 2 colonnes (ou 2 disques), ou STRIPES, est d'accélérer les taux en écriture à condition de pouvoir envoyer 2 I/O au même moment.
Pour que cela soit réellement efficace, et que le gain en performance approche la théorie, il faut que ces I/O soient le plus souvent possibles contenues dans la largeur de chaque colonne.

Prenez 2 colonnes de 8k. (On peut définir la largeur de la colonne selon ses besoins, ce qui n'a aucune incidence sur la volumétrie totale du disque.) En théorie, je peux envoyer 2 x 8k en simultané, puisqu'il y a 2 colonnes. Mais est-ce que ça marche vraiment bien ?
En fait non : si j'ai une appli qui envoie des I/O de 4k. Quand elle a fini d'écrire, je peux me trouver avec une colonne à moitié entamée. Une prochaine I/O qui écrit dans le même disque va alors continuer le remplissage à cet endroit. Les 4k de la première colonne ne suffisant pas à ma premiere I/O, je vais aussi consommer les 4 premiers k de la deuxième colonne. Et ainsi de suite !!!! Donc mes 2 colonnes ne sont jamais utilisées en simultané.

Pour que le RAID 0 soit vraiment efficace, il faut :
- que la largeur des colonnes (ou Stripe Unit Size) soit nettement supérieure à la taille des I/O
- que mes applications soient capables d'envoyer plusieurs I/O en même temps, ce que l'on appelle des écritures en RANDOM et non pas en Sequentiel.

Et avec du cache ?
Si je dispose de cache avant que les données de soient envoyées physiquement sur le disque, il peut servir de tampon pour accueillir les I/O.
Une baie intelligente, avec un contrôleur, peut renvoyer à l'OS et donc aux applications, un acquiescement, ou commit, dès que les I/O sont dans le cache, ce qui permet à l'application de continuer à travailler, et au contrôleur d'essayer d'optimiser la répartition de ses I/O. Mais si les colonnes sont trop petites, ça ne changera rien : on n'a pas de gain de performance.

RAID 1
Le RAID 1 ou miroir propose une redondance. Avec 2 disques minimum, les données sont écrites en parallèle et à l'identique sur les 2 disques. Si l'un des disques casse, dans l'absolu, mon application ne devrait pas en souffrir ... ou alors une I/O est peut-être perdue dans les limbes mais je n'ai pas besoin de faire une restauration.

RAID 0+1
Le RAID 0+1, c'est du STRIPE auquel on a rajouté du MIROIR.
Chaque miroir est donc constitué de 2 ou plusieurs colonnes, ce qui n'améliorera les performances que dans les conditions énoncées plus haut. L'architecture de chaque miroir est identique : tous les miroirs ont le même nombre de colonnes. Il faut au moins 4 disques, 2 par miroir.

RAID 1 + 0
Le RAID 1+0, ou RAID 10, c'est un truc plus futé. Pour le même nombre de disques que les RAID 0+1, à savoir 4 disques au minimum et la même capacité utile (4 x la taille d'un disque, divisé par deux à cause du miroir, soit au total 2 x la taille d'un disque), on divise par deux le risque en cas de destruction simultané de 2 disques durs. Mais voyons d'abord l'agencement du RAID 10.
Tout d'abord le RAID 10 doit être créé dès lé debut, alors que le RAID 0+1 peut recevoir un miroir après coup, que l'on rajoute sur un RAID 0.
L'agencement consiste à faire un RAID 0 à partir de disques qui sont en miroir !

Soit les disques A B C D.
Le RAID 0 c'est un disque global qui écrit sur A-B en 2 colonnes.
Le RAID 1 c'est un disque global qui écrit sur A=B les mêmes données.
Le RAID 0+1 c'est (A-B)=(C-D), chaque miroir composé de 2 colonnes.
Le RAID 1+0 c'est (A=B)-(C=D), 2 colonnes, chacune étant redondante.

Si RAID 0+1 et RAID 1+0 sont protégés de la même manière lorsqu'un seul disque dur casse. En revanche, lorsque 2 disques sont détruits, voyons ce qu'il peut se passer :

RAID 0+1 : Cassons 2 disques en même temps
A & B -> Le disque global survit grace au miroir (C-D). On est UP
A & C -> Destruction des 2 miroirs, on est DOWN
A & D -> Destruction des 2 miroirs, on est DOWN
B & C -> Destruction des 2 miroirs, on est DOWN
B & D -> Destruction des 2 miroirs, on est DOWN
C & D -> Le disque global survit grace au miroir (A-B). On est UP

Donc on survit 2 fois sur 6, soit 33% de survie !

RAID 1+0, même scénario :
A & B -> On perd l'une des colonnes, donc tout le disque est DOWN
A & C -> B est le miroir de A et D est le miroir de C, on est UP
A & D -> B est le miroir de A et C est le miroir de D, on est UP
B & C -> A est le miroir de B et D est le miroir de C, on est UP
B & D -> A est le miroir de B et C est le miroir de D, on est UP
C & D -> On perd l'une des colonnes, donc tout le disque est DOWN

Où l'on voit que l'on survit ici 4 fois sur 6, donc 66% de survie !

On démontre ainsi que 4 disques durs de même capacité fournissent une redondance maximale avec des gains de performance optimisés (pour peu que l'on sache comment ses applications travaillent) en consommant la même capacité, à condition d'avoir dès le début créé le RAID 10 ... parce qu'on ne peut pas ajouter une colonne à un miroir !

Ah ! Une dernière chose : le RAID 0 n'est pas seulement moins redondant que le miroir RAID 1. Il est aussi moins sécurisé qu'un simple disque dur.
En effet, prenons le temps moyen avant la panne du disque dur, par exemple de 10 000 heures,
Un RAID 0 à 2 disques de 10 000h, cela signifie que statistiquement, au bout de 10 000h, les 2 disques vont tomber en panne ... donc que la panne arrive en moyenne toutes les 5 000 heures ! Donc deux fois plus de chance de perdre toutes vos données.

Avec le RAID 1, les disque durs ne durent pas plus longtemps, mais quand l'un casse, vous avez le temps de réagir et de le remplacer, sans perdre un seul DATUM.

Cheers !
154
Vieux post mais explications très claires et toujours valides
merci kerkael
0
voici l'explication que j'attendais depuis bien longtemps
0