Raid 10 ou raid 0+1 ? – Linux Attitude

Lorsqu’on parle de redondance, de haute disponibilité et de disque, on parle de Raid. J’en ai déjà parlé

Voici un petit aperçu des différents types de RAID, le but est ici de trouver les qualités de chacun. Un tableau final récapitule les avantage et les inconvénients qu’il y a à choisir un type de raid donné.

Jbod

Just a bunch of disk, ce n’est pas un raid, le choix de ceux qui veulent pouvoir ajouter des disques bout à bout sans gain de performance.

Contrairement au raid 0 il a un avantage, la perte d’un disque n’empêche pas la récupération des données sur les disques restants par un outil de récupération tel que photorec. En effet, comme les disques sont simplement mis bouts à bout, la plupart des fichiers tiennent intégralement sur un seul des disques. Il est donc possible d’en récupérer le contenu après un crash.

Le jbod se fait avec du LVM sans striping ou avec le driver linear de md.

Raid 0

Le choix de ceux qui veulent des performances.

Chaque disque est découpé en bande (stripe) et les bandes sont entrelacées pour donner le disque final. Ce qui donne un gain de performance appréciable puisque les disque peuvent être lus simultanément, même pendant la lecture d’un gros fichier. Et ils peuvent être écrits simultanément pendant les écritures.

Le raid 0 peut être matériel, logiciel avec le driver md de linux ou logiciel avec LVM (avec striping)

Raid 1

Le choix de ceux qui ne veulent pas de pertes.

Tous les disques sont des copies intégrales. L’avantage le plus important est que lors de la perte d’un disque tout fonctionne comme si de rien n’était. On peut donc remplacer ce disque (ou pas :-).

Un autre avantage existe lors des lectures non séquentielles (lors de la lecture de 2 fichiers par exemple), dans ce cas il est possible d’utiliser un disque pour chaque lecture et donc d’accélérer ce type de lecture. Par contre la lecture d’un seul gros fichier n’est pas accélérée (sous linux).

Il n’y a en revanche aucun impact sur l’écriture, c’est le disque le plus lent qui détermine la vitesse d’écriture (la vitesse devrait être à peu près identique pour chacun).

Notez qu’on peut faire du raid 1 avec plus de 2 disques.

Le Raid 1 peut être matériel, logiciel avec le driver md ou logicielle avec LVM (support du miroring), enfin il est possible de faire du raid1 réseau avec drbd.

Raid 5

Le choix des économes.

En raid 5 chaque disque est découpé en bande, pour chaque groupe de bandes situées au même endroit des disques, une des bandes est choisie pour contenir des octets de redondance (la différence avec le 4 c’est le choix de la bande). Ainsi ce type de raid peut survivre au crash d’un des disques (la redondance permet de reconstruire la bande manquante), mais pas de plusieurs.

L’avantage du raid 5 est que lorsqu’on a de nombreux disques on économise des disques de redondance en n’en achetant qu’un pour la redondance et les autres pour les données.

Mais le raid 5 est assez limité en performances. La lecture se passe comme pour le raid 1. Par contre l’écriture nécessite la lecture de chacune des bandes d’un groupe pour écrire la bande de données, puis calculer et écrire la bande de redondance. C’est donc très lent, à éviter pour les bases de données actives.

D’autre part, lors du crash d’un disque, toutes bandes des disques doivent être lues pour reconstituer une bande manquante. Ce qui implique des baisses de performances énormes, auxquelles il faut ajouter la baisse de performances due à la reconstruction du disque qu’on va remettre. Comme les disque tournent à fond, il n’est pas rare de voir un autre disque exploser en vol à ce moment là -> fin des données.

Le raid 5 peut être matériel ou logiciel avec le driver md de linux.

Raid 6

Le choix des très gros disques.

Le raid 6 fonctionne de la même façon que le raid 5 mais ajoute un deuxième disque de redondance. Ce ne sont pas simplement les données de redondance qui sont dupliquée, mais le calcul qui est différent, toutefois le concept est identique.

Le raid 6 soufre des mêmes inconvénients que le raid 5, il utilise même un disque de plus donc est un peu plus cher, de plus cela provoque une écriture supplémentaire pour chaque groupe de bandes.

Mais le raid 6 résiste au crash de 2 disques, ce qui est intéressant lorsque les disques sont assez gros et que la reconstruction du raid comment à être assez longue (et donc le risque de perte plus gros).

Le raid 6 peut être matériel ou logiciel avec le driver md de linux.

Raid 10

Le choix des riches.

Le raid 10 consiste à accumuler plusieurs raid 1 avec du raid 0 pour en augmenter la taille et les performances.

Le raid 10 offre les avantages simultanés du raid 1 et du raid 0. La perte d’un disque n’empêche pas le raid de tourner et l’utilisation de plusieurs disques en striping permet d’augmenter les performances de lectures.

Le seul inconvénient, c’est qu’il coûte deux fois le prix du raid 0.

Il peut se faire en matériel ou logiciel, md ou lvm.

Raid 0+1

Le mauvais choix.

Le raid 0+1 consiste à mettre 2 raid 0 en parallèle pour les redonder avec du raid 1. On pourrait croire que c’est la même chose que du raid 10, mais non. Et même si certains veulent vous faire croire que les performances sont meilleures, il n’en est rien.

Mais surtout imaginez un instant la perte d’un disque. Dans ce cas un des raid 0 sous-jacent est perdu. Il faut donc le recréer avec un nouveau disque (ce qui est à peu près instantané puisqu’on le laisse vide), puis reconstruire le raid 1 situé au dessus. Et cette deuxième partie va être longue puisqu’elle doit être faite sur la taille totale du raid 0, contrairement au raid 10 qui ne l’aurait fait que sur la taille totale du disque perdu.

Petit récapitulatif

RAID jbod 0 1 4

Quand le choisir Pas d’argent, pertes partielles acceptables Besoin de performances mais pertes totales acceptées Pour éviter les pertes Jamais

Inconvénients

* Pas de redondance

* Pas de gain de performances

 

* Pas de redondance

 

* Peu de gains de performances

* La taille ne peut dépasser celle du plus petit disque

 

* Moins bon que raid 5 dans tous les domaines

Avantages

* Possibilité de récupérer une parties de données après crash

* Possibilité d’étendre un disque

 

* Performances en lecture accrues

 

* Résistance à la perte de N-1 disque

* Légère amélioration des performances en lecture.

 

* Ceux du raid 5

RAID 5 6 10 0+1

Quand le choisir Pour le prix Pour les gros raid Pour la sécurité et les performances Jamais

Inconvénients

* Performances faibles en écriture

* Performances en lecture faibles après un crash

 

* Performances faibles en écriture

* Performances en lecture faibles après un crash

 

* Cher

 

* Cher

* reconstruction très longue

Avantages

* Résistance à la perte d’un disque

* Coût moindre par rapport aux autres raid

 

* Résistance à la perte de 2 disques

* Coût moindre par rapport aux autres raid sauf le 5

 

* Résistance à la perte d’un certain nombre de disque

* Performances en lecture accrues

 

* Ceux du raid 10

viaRaid 10 ou raid 0+1 ? – Linux Attitude.