Le RAID logiciel

Demander un devis
Je souhaite télécharger le programme ou imprimer le programme
  • Imprimer

 

À quoi ça sert ?

 

Le RAID est une manière de stocker des données lorsqu'on dispose de plusieurs disques durs. Le RAID (qu'il soit logiciel ou matériel) permet de répondre à deux problématiques :

  1. les perfomances (pour lire et écrire des données sur ces disques),
  2. la sauvegarde (pour être en mesure récupérer les données lorsqu'un disque lâche).

 

Pré-requis matériel

 

Pour qu'un RAID présente un intérêt, la machine doit disposer de plusieurs disques durs. Si vous voulez mettre en place un système de réplication de donnée sur un seul disque, LVM est sans doute une solution plus adaptée.

 

RAID matériel, RAID logiciel

 

On parle de RAID matériel lorsque celui-ci est géré par une carte RAID. Si l'on ne dispose pas d'une telle carte, on ne peut faire que du RAID logiciel. Cela signifie en outre qu'a priori n'importe quel ordinateur peut mettre en oeuvre un RAID logiciel. Dans ce cas-là, le RAID est pris en charge par le noyau du système d'exploitation.

 

Principe

 

A priori une donnée n'est stockée qu'à un seul endroit et sur un seul disque dur. Supposons que ma machine dispose de deux disques dur .

  1. Si je souhaite lire des données situées sur le même disque dur, alors je suis limité par les performance de ce disque dur (alors que l'autre ne fait rien pendant ce temps). Si par contre ces données étaient écrites "à cheval" sur les deux disques durs, alors je pourrais paralléliser les lectures ces deux disques et donc les lire plus rapidement. Il en va de même quand il s'agit d'écrire des données.
  2. Si je souhaite stocker des données très précieuses et qu'elle ne sont stockées que sur un seul disque, la perte de ce disque engendre la perte de ces données. A contrario, si je réplique ces données sur mes deux disques dur, la perte d'un disque n'est pas fatal, car ces données sont encore accessibles sur l'autre disque.

La mise en place d'un RAID consiste à rassembler un ensemble de partitions de disques durs. A priori ces partitions proviennent de disques deux à deux distincts afin de ne pas dégrader les performances. De plus ces partitions doivent être de même taille.

 

Mettre en place un RAID sert à améliorer les performances pour lire ou écrire les données sur les partitions concernées. Il permet en outre de mettre en place un mécanisme de réplication entre ces différentes partitions.

 

Les différents RAID logiciels supportés sous Linux

 

Un noyau Linux supporte trois types de RAID :

  • Le RAID 0 : les données sont sauvegardées à cheval sur plusieurs disques durs. Cette approche d'engendre aucune perte en terme d'espace disque. Elle permet un accès très performant en lecture et en écriture, car on peut paralléliser le travail sur les différents disques. Toutefois, la perte d'un disque engendre la perte de toutes les données. Dans le schéma suivant, chaque colonne décrit un disque et chaque case une partie d'une donnée A (formée de 8 blocs A0 ... A7). Le RAID représenté rassemble donc deux disques.

 

raid0

  • Le RAID 1 : les données sont sauvegardées simultanément sur les différentes partitions formant l'ensemble RAID. Comme les données sont dupliquées, ceci engendre un surcoût en terme de place occupée. Si le RAID1 rassemble par exemple 3 disques de 80Go, alors tout se passe comme si seulement 80Go étaient disponibles, et les données sont simultanément lu et écrite sur tous les disques. Dans le schéma nous avons représenté deux disques en RAID1 sur lesquels est répliquée une donnée A (A0 ... A3)

raid1

  • Le RAID 5 : ce RAID nécessite au moins 3 disques durs. Cette solution tente de combiner les avantages du RAID0 et du RAID5 pour l'aspect performance et réplication. Comme dans du RAID0, les données sont écrites à cheval sur plusieurs disques, ce qui permet de paralléliser les traitements. À l'aide d'un système de bit de parité, la connaissance du contenu de (n-1) disques permet de déduire le contenu du nième disque. Ainsi, comme dans du RAID1, la perte d'un disque n'est pas fatale. Sur le schéma suivant, nous avons représentés 4 disques en RAID5. L'un des disques stocke un bit de parité (P) calculé à partir des données présentes sur les autres disques.

raid5

 

Quel(s) RAID(s) choisir ?

 

Chaque RAID présente des avantages et des inconvénients. Tout dépend donc de ce que l'on veut faire :

  • RAID 0 : pas de perte d'espace disque, performances maximales en lecture et en écriture. Plus de disques sont mis dans le RAID, plus il est performant. L'élément limitant est le disque le plus lent. La perte d'un disque du RAID est fatale.
  • RAID 1 : les performances en lecture sont améliorées mais pas celles en écriture par rapport à une solution sans RAID. À tout instant une donnée est écrite simultanément sur tous les disques. Ce RAID est particulièrement robuste et supporte la perte de n-1 disques s'il comporte n disques. Cette solution est particulièrement coûteuse en terme d'espace disque : (n-1)/n % de l'espace est occupé pour répliquer des données.
  • RAID5 : il requiert au moins 3 disques. Les performances en lecture sont comparables à du RAID0, mais les performances en écriture sont dégradées. Le surcoût en espace disque est minimal (1/n % d'espace occupé), mais la perte d'un disque engendre un recalcul des bits de parités et donc une "reconstruction" longue du RAID.

 

De plus, il ne faut pas perdre de vue que l'on peut utiliser plusieurs RAID logiciel. Supposons que j'utilise trois disques dur de 80Go et que je scinde chacun d'eux en une partition de 20Go et une partition de 60Go. Alors je peux tout à fait mettre les trois partitions de 20Go en RAID1 et les trois partitions de 60Go en RAID5.

 

Pour plus de détails, vous pouvez vous référer à la page suivante :

http://fr.wikipedia.org/wiki/RAID_%28informatique%29#Les_niveaux_standard

 

Comment se traduit un RAID logiciel sous Linux ?

 

Si vous avez lu l'article portant sur le partitionnement sous Linux, vous savez déjà que chaque disque et chaque partition d'un disque est associé à un device. Le nom de ce device est de la forme /dev/hd... pour un disque IDE et /dev/sd... pour un disque SCSI/USB/SATA. Ce préfixe est suivi d'une lettre (associé au disque). Si le device est associé à une partition, le tout est suivi d'un chiffre (le numéro de la partition).

 

Dans le cadre d'un RAID logiciel, Linux crée également un device. Comme celui-ci est a priori à cheval sur plusieurs disques, la lettre n'aurait pas vraiment de sens. C'est la raison pour laquelle les RAID logiciels sont directement numérotés par ordre de création (/dev/md0, /dev/md1...). Les devices sous-jacents et pilotés par le RAID sont toujours présents dans /dev mais ne seront a priori jamais directement manipulés par l'utilisateur.

 

La configuration du RAID logiciel est essentiellement via la commande mdadm et s'appuye sur le fichier /etc/mdadm/mdadm.conf.

 

Si vous étiez en train d'installer Debian, vous pouvez reprendre la lecture du tutoriel ici.

.
X
 
 
 
 
 

You havecharacters left.