Sommaire Carte Index Recherche Nouvelles Archives Liens A propos
[Barre Superieure]
[Barre Inferieure]
[Photo de l'Auteur]
par Antonio Castro

L´auteur:

Je serai toujours reconnaissant � l'�quipe de LinuxFocus dans son ensemble (traducteurs aussi), qui ont bien souvent particip� de mani�re �loign�e � am�liorer l'aspect de cet article.
A cette occasion, j'aimerais remercier une personne en particulier: cet article n'aurait jamais vu le jour sans l'aide de Luis Colorado qui, e-mail apr�s e-mail, a partag� avec moi ses connaissances du syst�me RAID. Merci Luis.

Sommaire:

Installation et Configuration d'un Syst�me RAID

[Illustration]

Résumé:

RAID (Redundant Array of Inexpensive Disks: Grappe de Disques Durs Standards) est un ensemble de sous-syst�mes destin�s � combiner plusieurs disques durs en une seule entit� virtuelle, qui se comportera comme un seul et unique disque; les diff�rents disques fonctionneront en parall�le. Cela permet d'am�liorer les performances d'acc�s et de prot�ger les informations stock�es des plantages-disque.



 

Introduction

Il existe un certain nombre de solutions mat�rielles dans le march�, tr�s ch�res et g�n�ralement bas�es sur l'utilisation de certaines cartes-contr�leur.

On peut trouver d'autres impl�mentations RAID bas�es sur des cartes qui autorisent un utilisateur � mettre plusieurs disques en RAID, gr�ce � un simple microprocesseur Z80 et des logiciels embarqu�s. Au regard de ces sp�cifications, il n'est pas possible de dire que cette solution donnera de meilleurs r�sultats qu'une solution bas�e sur Linux.

Les impl�mentations bas�es sur des cartes-contr�leur co�tent cher et obligent l'utilisateur � n'acheter que des disques durs identiques. D'autre part, Linux avec les pilotes de p�riph�riques ad�quats, peut g�rer certaines de ces cartes, mais cela n'est pas une solution interessante car Linux offre une solution aussi efficace, bas�e sur du logiciel libre, excluant ainsi les alternatives mat�rielles on�reuses.

Le syst�me RAID de Linux dont nous parlons, est impl�ment� au niveau du noyau et nous permet d'utiliser des disques durs de type diff�rent: il peut s'agir d'un m�lange de disques IDE et SCSI. Des disques durs de capacit� diff�rente peuvent �tre utilis�s, mais dans ce cas, il sera n�cessaire de cr�er des partitions de taille identique sur chacun des disques. La solution la plus commune est d'utiliser plusieurs disques de m�me capacit�, mais malgr� tout, il �tait bon de signaler que Linux offrait beaucoup plus de flexibilit�. Par exemple, une partie d'un disque peut �tre utilis�e pour un RAID et une autre comme partition ind�pendante. Ce n'est souvent pas une bonne id�e parce que l'utilisation d'une partition ind�pendante peut r�duire la vitesse d'acc�s du syst�me RAID. En d'autres termes, m�me si Linux permet d'utiliser n'importe quel type de disques durs, les r�sultats seront toujours meilleurs s'il est possible d'utiliser des disques de capacit� et de caract�ristiques identiques. Une autre chose importante � prendre en consid�ration est que la technologie SCSI permet l'acc�s simultan� � tous les p�riph�riques connect�s au bus, alors que des disques situ�s sur la m�me carte-contr�leur IDE ne pourront jamais �tre acc�d�s en m�me temps. Il est vraiment dommage que les disques SCSI soient encore si chers par rapport � leurs homologues IDE.

La solution logicielle d'un syst�me RAID sous Linux est aussi efficace (si ce n'est plus) que celles bas�es sur des cartes sp�cifiques et bien s�r moins co�teuse et beaucoup plus flexible en termes de disques durs autoris�s.

Sur une configuration SCSI, un p�riph�rique peut envoyer des donn�es au bus tandis qu'un autre est en train de les r�cup�rer, alors que sur une interface IDE, un seul disque est acc�d� puis le deuxi�me.

 

S�lection de disques pour un syst�me RAID

L'utilisation de disques durs tr�s rapides pour mettre en place un RAID, n'est souvent pas justifi�e. Ceux-ci sont plus chers. Les disques sont rapides parce que leurs t�tes sont plus efficaces et plus promptes � se positionner sur le secteur appropri�. Le d�placement de secteur en secteur est une op�ration qui n�cessite beaucoup de temps sur un disque dur, mais sous Linux -contrairement � MS-DOS, par exemple-, cette op�ration est optimis�e � un tel degr�, que les informations ne sont pas acc�d�es dans l'ordre o� elles ont �t� demand�es: l'acc�s aux donn�es se r�alise par un principe d'"hi�rarchie intelligente", qui m�morise les demandes et y r�pond dans l'ordre le plus efficace.

...Linux offre une solution aussi efficace, bas�e sur du logiciel libre, excluant ainsi les alternatives mat�rielles on�reuses.

Il existe d'autres m�thodes pour augmenter la performance, en diminuant le nombre d'acc�s-disque, comme le cache en m�moire. Les vitesses de rotation des disques ne sont souvent pas si diff�rentes mais il peut y avoir des diff�rences notables concernant la densit� et le nombre de t�tes, qui peuvent affecter le taux de transfert de mani�re significative. C'est un param�tre dont nous devons tenir compte. En bref, nous vous recommandons est d'utiliser des disques durs SCSI, si possible de caract�ristiques similaires et pas forc�ment co�teux. La vitesse du syst�me RAID proviendra de l'acc�s simultan� aux disques, et non de la rapidit� individuelle de ceux-ci.

Il faut �galement tenir compte du fait que le syst�me Linux doit d�marrer d'un disque non-RAID et de petite taille afin que la partition root soit relativement libre.

 

Caract�ristiques d'un syst�me SCSI

Au moment de se procurer les disques durs, plusieurs doutes peuvent surgir. Pour cette raison, c'est une bonne id�e d'�noncer de mani�re un peu plus exhaustive, les principales caract�ristiques auxquelles il faut pr�ter attention.



Nom NumBits NumDev MB/s Connecteur  Longueur Max Cable 
SCSI-1 8 7 5 50 broches Basse Densit� 6 mts 
SCSI-2
(alias) Fast scsi, o Narrow scsi
8 7 10 50 broches Haute Densit� 3 mts 
SCSI-3
(alias) Ultra, o Fast20
8 7 20 50 broches Haute Densit� 3 mts 
Ultra Wide
(alias) Fast scsi-3
16 15 40 68 broches Haute Densit� 1.5 mts 
Ultra2 16 15 80 68 broches Haute Densit� 12 mts 

Un RAID peut �tre compos� de plusieurs partitions disques mais le r�sultat final sera une unique partition logique avec un seul disque, sur lequel nous ne pourrons pas cr�er de partitions suppl�mentaires. Le nom de ce p�riph�rique logique est m�tadisque.

Sous Linux, les p�riph�riques IDE sont des fichiers appel�s /dev/hd..., aux p�riph�riques SCSI correspondent les /dev/sd..., et les m�tadisques se voient nomm�s /dev/md... apr�s avoir compil� le noyau avec les options ad�quates. Quatre p�riph�riques de ce type doivent �tre pr�sents:

brw-rw----   1 root     disk       9,   0 may 28  1997 md0
brw-rw----   1 root     disk       9,   1 may 28  1997 md1
brw-rw----   1 root     disk       9,   2 may 28  1997 md2
brw-rw----   1 root     disk       9,   3 may 28  1997 md3

Le premier but � atteindre sera d'essayer de rendre le temps d'acc�s au swap le plus petit possible; � cette fin, la meilleure solution est d'utiliser un petit m�tadisque sur le RAID, ou d'�taler le swap de mani�re traditionnelle sur tous les disques physiques. Si plusieurs partitions swap sont utilis�es, chacune sur un disque dur physique diff�rent, alors Linux s'occupera de g�rer celles-ci et le RAID ne sera pas n�cessaire dans ce cas.

 

Types de RAID

Soit N le nombre de disques.

RAID0 (mode "stripping": entrelacement)
Dans ce mode, tous les disques sont organis�s de mani�re alternative, afin que les blocs de donn�es soient pris en proportions �gales sur tous les disques durs, alternativement, dans le but d'atteindre un d�bit sup�rieur. Comme la probabilit� de trouver un bloc d'un fichier est identique sur tous les disques, il faut les faire travailler simultan�ment, augmentant ainsi la performance du m�tadisque d'� peu pr�s N fois celle d'un disque seul.

RAID1 (mode "mirroring": premier niveau de redondance)
Dans ce mode, le but est d'atteindre la plus grande s�curisation des donn�es. Les blocs de donn�es sont dupliqu�s sur tous les disques physiques (chaque bloc du disque "virtuel" a un doublon sur chacun des autres disques). Cette configuration permet d'accroitre N fois la performance en lecture d'un seul p�riph�rique, mais elle ralentit la performance en �criture. Les op�rations de lecture peuvent �tre organis�es de mani�re � lire N blocs simultan�ment, un sur chacun des p�riph�riques en un temps. Idem quand vous �crirez un bloc, il sera dupliqu� N fois, une fois sur chacun des p�riph�riques physiques. Il n'y a aucun avantage � tirer dans cette configuration au niveau de la capacit� de stockage.

RAID4 (Remarque: Les types RAID2 et RAID3 sont obsol�tes)
Dans ce mode, la finalit� est de combiner les avantages du RAID0 et du RAID1. Les donn�es sont organis�es en m�langeant les deux m�thodes. Les p�riph�riques de 1 � N-1 sont organis�s en mode entrelac� (RAID0), et le N-i�me enregistre la parit� des bits individuels correspondant aux blocs allant de 1 � N-1. Si l'un des disques a un probl�me, il est possible de r�cup�rer les donn�es en utilisant l'information de parit� du disque N. La performance en lecture est de N-1 et en �criture de 1/2 (parce que maintenant,l'�criture d'un bloc de donn�es implique aussi l'�criture sur le disque de parit�). Dans la perspective de restaurer un disque dur corrompu, on a seulement � relire l'information et � la r�-�crire dessus (cela lit du disque de parit� mais cela �crit sur le nouveau disque dur).

RAID5
Ce mode est similaire au RAID4, sauf que maintenant les informations du disque de parit� est �tal�e sur tous les disques durs: il n'existe pas de disque de parit� proprement dit. Cela permet de r�duire le temps de chargement du disque de parit�, qui doit �tre acc�d� � chaque op�ration en �criture dans le RAID4. Maintenant, le disque o� l'information de parit� d'une piste est stock�e, est diff�rent pour chaque piste.

Il existe d'autres types de RAID et de RAID mixtes bas�s sur RAID1. On peut trouver �galement des tentatives pour mettre en oeuvre la compression disque sur les disques durs physiques, non sans controverses, car les avantages de la compression ne sont pas particuli�rement apparents. D'autres propositions fleuriront certainement dans un futur proche. Pour le moment, nous nous concentrerons sur le RAID0 parce qu'il s'agit du mode le plus efficace, en d�pit de l'absence de redondance pour prot�ger l'utilisateur d'�ventuels accidents.

...nous nous concentrerons sur le RAID0 parce qu'il s'agit du mode le plus efficace, en d�pit de l'absence de redondance...

Quand la grappe se compose de peu de disques (3 ou 4), la redondance co�te cher: on perd le tiers ou le quart de la capacit� totale. La redondance sur un RAID prot�ge vos donn�es des corruptions de disque mais pas de l'effacement accidentel des informations, aussi avoir un RAID redondant ne vous �vitera pas de faire des sauvegardes. D'un autre c�t�, si vous utilisez plus de disques (5 et plus), alors la perte de capacit� sera plus petite, et la redondance aura un co�t plus bas. Certaines cartes SCSI 16 bits permettent de g�rer jusqu'� 15 p�riph�riques. Dans ce cas, RAID5 sera hautement recommand�.

Si vous ne pouvez utiliser des disque identiques, prenez en compte le fait que les syst�mes RAID travaillent toujours avec des blocs de donn�es identiques. Il est possible que les disques durs les plus lents soient forc�s de travailler plus vite, mais en aucun cas, la configuration RAID ne pourra atteindre une meilleure performance. L'accroissement de performance sur un syst�me RAID bien configur� est v�ritablement spectaculaire. Il est g�n�ralement vrai de dire aussi que la performance augmente de mani�re lin�aire avec le nombre de disques pr�sents dans la grappe.

 

Comment installer un syst�me RAID0

Dans les lignes qui suivent, nous d�crirons comment installer un RAID0. Si le lecteur d�sire construire un RAID diff�rent de celui-ci avec un noyau 2.0.xx, il lui faudra se procurer un patch sp�cifique.

RAID0 n'a pas de redondance mais consid�rez que pour b�n�ficier d'une telle chose, il est conseill� d'avoir un grand nombre de disque afin de ne pas gaspiller trop de capacit�. Consacrer un disque entier � la redondance quand on n'en a que trois, est un g�chis. De plus, cela ne couvre pas tous les cas possibles de perte d'informations, mais seulement celles d�es � une d�t�rioration physique des disques durs, un �v�nement peu commun. Si 10 disques sont disponibles, alors en utiliser un pour le contr�le de parit� n'est pas une si grosse perte. Sur un RAID0, avoir une erreur sur un seul des disques signifie la perte totale des informations stock�es sur tous les disques physiques: par cons�quent, nous vous recommendons une politique de sauvegarde appropri�e.

La premi�re �tape � accomplir est d'ajouter les pilotes ad�quats au noyau. Pour les noyaux 2.0.xx, les options RAID � s�lectionner sont:

   Multiple devices driver support (CONFIG_BLK_DEV_MD) [Y/n/?] Y
   Linear (append) mode (CONFIG_MD_LINEAR) [Y/m/n/?] Y
   RAID-0 (striping) mode (CONFIG_MD_STRIPED) [Y/m/n/?] Y

Apr�s avoir d�marr� le syst�me avec le nouveau noyau, le r�pertoire /proc aura une nouvelle entr�e appel�e mdstat, qui contient les status des quatre (valeur par d�faut) nouveaux p�riph�riques md0, md1, md2, et md3. Comme aucun d'entre eux n'a �t� initialis� jusqu'� maintenant, ils apparaitront tous comme inactifs et ne seront pas encore utilisables.

Ces quatre p�riph�riques seront g�rables par l'interm�diaire des "mdutils" suivants:

        -mdadd
        -mdrun
        -mdstop
        -mdop

Ces outils peuvent �tre t�l�charg�s sur ftp://ftp.kernel.org/pub/linux/daemons/raid/ , mais on les peut les trouver dans la plupart des distributions.

Pour les kernels 2.1.62 et sup�rieurs, il existe un paquetage diff�rent appel� "RAIDtools" qui permet d'utiliser RAID0, RAID4 et RAID5.

Dans l'exemple suivant, nous illustrons comment on d�finit un m�tadisque RAID0 utilisant deux disques durs SCSI, respectivement /dev/sdb1 et /dev/sdc1.
meta-disque Mode RAID Partition Disque 1 Partition Disque 1
/dev/md0 linear /dev/sdb1 /dev/sdc1 

Plusieurs partitions peuvent �tre ajout�es.

Une fois le m�tadisque format�, il ne devra �tre alt�r� en aucune circonstance, sinon toutes les informations contenues dans celui-ci seront perdues.

mdadd -a
mdrun -a

A ce moment, md0 devrait apparaitre comme initialis�. Pour le formater:

mke2fs /dev/md0

Et pour le monter:

mkdir /mount/md0
mount /dev/md0 /mount/md0

Si tout a fonctionn� jusqu'ici, vous pouvez maintenant int�grer ces commandes dans les scripts de d�marrage, afin que le m�tadisque RAID soit mont� automatiquement au prochain d�marrage du syst�me. Pour cela, il est n�cessaire dans un premier temps d'ajouter une nouvelle entr�e au fichier /etc/fstab, puis d'ajouter les commandes "mdadd -a" et "mdrun -a" dans un fichier-script ex�cut� avant le montage des p�riph�riques. Sur une distribution Debian, le fichier-script /etc/init.d/checkroot.sh est une bonne place pour ces commandes, juste avant le remontage en mode lecture/�criture du syst�me de fichiers racine: c'est juste avant la ligne contenant "mount -n -o remount,rw /".  

Par exemple

Il s'agit de la configuration que j'utilise actuellement. J'ai un disque dur IDE de 6,3 Go, un disque dur SCSI de 4,2 Go et un autre de 2 Go.


HD 6.3Gb IDE
/ /bigTemp + /incoming  swap 2Gb(RAID) hda4 

HD 4.2Gb SCSI
C: D:  swap 2Gb(RAID) sda4 

HD 2Gb SCSI
swap 2Gb(RAID) sdb2 

#######</etc/fstab>################################################
# <file system> <mount point>  <type>  <options>     <dump>  <pass>
/dev/hda1       /               ext2    defaults       0       1
/dev/hda2       /mnt/hda2       ext2    defaults       0       2
/dev/md0        /mnt/md0        ext2    defaults       0       2
proc            /proc           proc    defaults       0       2
/dev/hda3        none           swap    sw,pri=10 
/dev/sdb1        none           swap    sw,pri=10 
/dev/sda3        none           swap    sw,pri=10
#########</etc/mdtab>####################################### 
# <meta-device> <RAID-mode> <DskPart1> <DskPart1> <DskPart1> 
/dev/md0         RAID0,8k    /dev/hda4  /dev/sda4 /dev/sdb2

La partition racine se trouve sur le disque de 6 Go sous hda1, et ensuite il y a une grande partition utilis�e pour le t�l�chargement de fichiers sur Internet, le stockage d'images de CD, ... Cette partition ne compte pas beaucoup au niveau du chargement, car elle n'est pas utilis�e souvent. Le disque de 4 Go ne contient pas de partitions pouvant p�naliser l'efficacit� du syst�me RAID, parce qu'il s'agit de partitions MS-DOS rarement utilis�es sous Linux. Le disque de 2 Go est quasiment enti�rement d�di� au syst�me RAID. Il existe sur chaque disque, une petite partition d'�change.

Nous essaierons d'avoir approximativement des disques (partitions) de m�me taille, afin de ne pas ralentir les performances du syst�me RAID. Les petites diff�rences ne sont pas gravissimes. Nous utiliserons tout l'espace disponible de sorte que toutes les donn�es qui peuvent �tre emp�tr�es sur les disques et les donn�es restantes demeurent libres.

Monter plusieurs disques durs IDE sur un seul syst�me RAID n'est pas tr�s efficace, par contre, monter un disque IDE avec des disques SCSI fonctionne tr�s bien. Contrairement aux disques SCSI, les disques IDE n'autorisent pas l'acc�s simultan�.

 

Pour de plus amples informations


Site Web maintenu par l´équipe d´édition LinuxFocus
© Antonio Castro
LinuxFocus 1999
Translation information:
en -> -- Antonio Castro
en -> fr Diego D OLIVEIRA GRANJA

1999-11-22, generated by lfparser version 0.7