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.
Sommaire: |
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.
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.
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.
|
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.
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.
Soit N le nombre de disques.
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.
|
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.
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 /".
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.
/ | /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�.
Site Web maintenu par l´équipe d´édition LinuxFocus
© Antonio Castro LinuxFocus 1999 |
Translation information:
|
1999-11-22, generated by lfparser version 0.7