Pour commencer, un RAID sous Linux est la gestion de N disques ou partitions individuelles à fin de construire logiciellement un disque (ou une partition) plus gros, ou sécurisé ou les deux.
Les pseudos raids matériels sont pour la plus part des cas pas reconnus sous Linux. On verra presque toujours les disques individuellement avec ce genre de cartes ou de chip bon marché.
Cela perturbe les utilisateurs de win... les "hostraid" cachent simplement les disques à l'OS, mais le raid est toujours réalisé en soft par les drivers au niveau du kernel .
C'est qu'avec Linux on à rien à cacher et on vous montre tout !
Le nommage des disques sous linux se fait par /dev/sdX ou X est a, b c d e f ... successivement nommé lors de leur découverte par le noyau. (dans la plupart des distributions Linux, on à laissé tomber /dev/hda, hdb, etc..)
Le premier disque découvert deviendra donc /dev/sda. le deuxième /dev/sdb, etc...
Les périphériques USB, comme les clefs ou les disques durs sont nommés de la même manière.
Si vous n'aviez qu'un disque dur il sera nommé /dev/sda, et votre première clef usb branchée /dev/sdb.
Les partitions sont indiquées par leur chiffre d'apparition sur le disque : /dev/sda1 /dev/sda2 /dev/sdb3, etc... (c'est pour simplifier)..
Cette manière de nommer les disques présente de gros problèmes :
Ce nommage est destiné à disparaitre... car si vous aviez un disque dur qui étais nommé /dev/sde et que vous bootez avec une clef usb branchée sur le pc, celle-çi pouvais prendre la place de votre disque et devenir /dev/sde tandis que votre disque devenais /dev/sdf... (devenir sdf, humour tout à fait linuxien)
On utilisera maintenant et avec entrain un autre nommage qui spécifie nommément le disque d'après son numéro de série, ou un UUID, voir un "label".. C'est en général la distribution que vous utiliserez qui décidera pour vous de la méthode utilisée (à moins de spécifier une autre explicitement lors du partitionnement des disques).
/dev/disk/by-id/ata-ST3250310AS_6RY7R988 pour le disque par l'ID
/dev/disk/by-id/ata-ST3250310AS_6RY7R988-part1 pour la première partition du disque
/dev/disk/by-uuid/42f89eb0-6e64-4b97-a920-04b475c9f684 pour l'UUID
Note sur les label : si vous rajoutez un disque ayant le label ROOT et qu'il est vu par le noyau avant votre disque normal, celui-çi va tenter de le monter à la racine à la place du votre; cela peut-être gênant dans certains cas.
Pour ce qui est de la création d'un raid :
On peux faire du raid avec des disques, des partitions, des fichiers, sur le réseau, sur iSCSI ou FC, voir en USB...et même les lecteurs de disquettes; il n'y a pas de limites.
On peux aussi mélanger des raid dans tous les sens. Il faut juste respecter l'ordre d'apparition des disques et des raids eux-même

On peux mélanger des disques et des partitions, on peux utiliser des disques de tailles différentes (on fera quand même des partitions de même tailles sur les différents disques) On peux très bien créer un raid 5 de quatres "disques" avec un disque IDE entier , une partition d'un disque SATA, un fichier partagé avec SAMBA et une partition d'un disque ISCSI...
Les RAID soft sous Linux sont nommés mdX ou X est le numéro d'apparition du RAID dans le noyaux (/dev/md0, md1, 2 3 , etc..)
Par exemple, on peux faire 3 raid 0 de deux disques physiques (soit 6 DD en tout) entrant dans un RAID 5 par trois disques virtuels (/dev/md3=/dev/md0 + /dev/md1 + /dev/md2)
Vous pourrez aussi faire du RAID en iSCSI sans aucun pb. La qualité et les débits dépendrons alors uniquement de votre réseau.
Avant de parler des outils, il faut savoir que l'on peux rendre autodétectables un raid en attribuant un type de partition particulier à une partition créée avec fdisk par exemple. Il faut utiliser le type "FD". Pour une partition linux normale le type sera 83, pour du swap 82...
Les outils :
Sous linux, administrer son raid se fait en ligne de commande ! Pourquoi ? par ce que !
Un clikodrôme nécessite une interface graphique, un programme de gestion des boutons et menus, une souris, de bons yeux et une certaine prestance dans le maniement de l'index. Ce que l'administrateur système n'as plus après 22h passé à jouer à WOW.
Une ligne de commande à le mérite de pouvoir se mettre dans un scripte en Perl, en Bash, ou en n'importe lequel de vos languages de programmation préférés. Les scriptes sont à l'administrateur système ce que le slip kangourou est à l'homme moderne. Simple, beau, et efficace.
Une ligne de commande passe dans une ligne série en 9600/8/N/1... KDE4 beaucoup moins facilement.
L'outil magique de management du RAID sous Linux s'appel : (roulement de tambours) mdadm (trompettes)
Quelques exemples : (vous noterez que l'on utilise la syntaxe /dev/sdX alors que c'est mal.. mais c'est plus lisible que /dev/disk/by-id/ata-ST3250310AS_6RY7R988-part1)
création d'une pile raid :
mdadm --create /dev/mdX --level=[01456] --raid-devices={/dev/sdYZ, missing, ...}
crée un device /dev/mdX (X étant un chiffre) de niveau (--level) 0 (stripping), 1 (mirroring), 4 (comme le 5 mais la parité est toujours sur le même disque), 5 ou 6 (2 disques de parité) à partir des devices /dev/sdYZ (Y est une lettre indiquant un disque physique , Z un chiffre indicant un numéro de partition).
On peut également mettre missing dans la liste des devices. C'est très utile lorsque l'on passe son système sur un raid 1

Mise en échec d'un disque (pour test par ex.) :
mdadm --manage /dev/mdX --failed /dev/sdYZ
"Ejection" d'un disque d'une pile :
mdadm --manage /dev/mdX --remove /dev/sdYZ
Ajout d'un disque à une pile :
mdadm --manage /dev/mdX --add /dev/sdYZ
Liste des périphériques d'une pile :
mdadm --misc --detail /dev/mdX
Pour ceux qui aiment les chats, on peux aussi faire :
cat /proc/mdstat
Stabilité :
Je n'ai jamais vu un raid soft sous Linux se casser tout seul. Si la machine est stable et que les disques n'ont pas de secteurs deffectueux ou d'autres problèmes le raid marchera aussi longtemps qu'un disque normal.
Perso j'avais un raid 5 composé de 5 DD de 120Go qui à fonctionné 24/24-7/7 pendant 4 et demi ans sans aucun pb. Quand un disque à lâché, j'ai fait un backup du raid encore parfaitement lisible mais qui étais passé en mode "dégradé" et changé tous mes disques (quand un disque lâche dans un raid qui à longtemps tourné il est plus sage de tout changer; car en général les autres disques lâchent peu après à cause de la loi de Murphy).
Conseils :
Le premier conseille est : ATTENTION !!
Pour toutes ces manips, vous devez presque être tout le temps en root.. et là il est vraiment facile de tout casser !
Trompez vous une seule fois en mettant /dev/sda à la place de /dev/sde... rien que pour voir .. vous comprendrez vite à quel point il est facile de tout casser quand on est root.!
Vous pouvez faire vos tests sur des fichiers ou des clefs USB pour commencer...
Remplacez simplement le "device" par un fichier existant. Ex : /dev/sdX par /home/moi/raid-test/disque-1.img.
Pour créer un fichier quelque part avec la bonne taille : dd if=/dev/zero of=/home/moi/raid-test/disque-1.img count=10000 bs=65535.
Pour en savoir plus : man dd.
Apres on fait un : mdadm --create /dev/md0 --level=1 --raid-devices=/home/moi/raid-test/disque-1.img,/home/moi/raid-test/disque-2.img
Et voila un RAID 1 créé avec deux fichiers stockés sur le disque dur.
J'ai testé le Raid0 sur 2DD externes de 2,5" en USB, et j'arrive à 45Mo sec avec mon portable...
Avant de mettre un raid sur une machine en production VERIFIEZ les noms des disques et des partitions !!! Préférez les /dev/disk/by-id, vous ferez moins facilement des erreurs qu'en mettant seulement /dev/sde, surtout si vous ajoutez des disques par la suite...
Vous noterez que la commande est immédiate, et qu'on contraire de DOS, aucune confirmation ne vous sera demandée. C'est parce que vous êtres sensés savoir ce que vous faites.
Je continuerais plus tard... et si vous avez des trucs à rajouter.... que je piquerais sans aucune vergogne et m'en attribuerais le mérite évidemment.