{{tag>sysadmin raid linux madm}}
====== RAID logiciel sous GNU/Linux ======
Le paquet **mdadm** et la commande éponyme permettent de mettre en place un RAID logiciel sur un système GNU/Linux.
Le RAID logiciel apporte une meilleur tolérance aux pannes matérielles (redondance) mais ne se substitue pas à votre stratégie de sauvegarde.
===== Terminologie =====
Présentation succincte des concepts et terminologie de base.
* Les disques physiques sont assemblés pour former des volumes RAIDs.
* Un volume RAID se compose de disques principaux et optionnellement de disques de secours (spare). En cas de défaillance sur un disque principal, un disque de secours pourra être automatiquement utilisé. Un disque de secours peut être commun à plusieurs volumes RAID.
===== Installation =====
Installer le paquet via votre gestionnaire de paquets préféré. Pour une distribution Debian-like:
$ sudo apt-get install mdadm
===== Création des disques =====
Pour tester les différentes commandes, on crée ici des disques virtuels mais pour que le RAID puisse avoir un intérêt, il faut disposer de disques physiques indépendants.
for i in $(seq 0 4);
do
dd if=/dev/zero of=/tmp/vdisk$i bs=1M count=10;
losetup -f /tmp/vdisk$i;
done
Après exécution de la commande ci-dessus, 5 fichiers disques ont été créés, et attachés. Pour le vérifier:
# losetup -a
===== Création d'un volume RAID =====
Pour créer un volume RAID, on a besoin d'un ou plusieurs disques (périphériques en mode blocs). Avant de créer le volume on peut s'assurer que les périphériques n'ont pas déjà été utilisés par un précédent volume RAID. Pour chaque périphérique on peut saisir la commande:
mdadm --examine /dev/loop0
mdadm enregistre des informations directement sur les disques dans une structure de données appelée le superblock afin de gérer les volumes RAID. Si elle est inexistante, le disque peut être utilisé sans problème pour la création d'un nouveau volume.
Si le disque a été utilisé dans un volume RAID, il sera nécessaire de supprimer le superblock préexistant avatn de pouvoir le réutiliser pour former un nouveau volume RAID. Pour détruire un superblock sur le disque hypothétique /dev/disk:
mdadm --zero-superblock /dev/disk
Pour créer un volume RAID 1 comportant 2 disques en miroir et un disque de secours:
mdadm --create /dev/md0 --level=1 --raid-devices=2 --spare-devices=1 /dev/loop0 /dev/loop1 /dev/loop2
Ici l'option **%%--raid-devices%%** permet de spécifier le nombre de disques principaux et l'option **%%--spare-devices%%** le nombre de disques de secours. Le volume est créé et activé dans la foulée.
Biensur le disque de secours est une option et il pourra si on le souhaite l'ajouter plus tard. Pour créer un RAID 1 sans disque de secours, la commande devient:
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/loop0 /dev/loop1
===== Consulter l’état d'un volume =====
# Lister l'état des volumes raids:
cat /proc/mdstat
# Afficher les détails d'un volume:
mdadm --detail /dev/md0
===== Assemblage des groupes RAID =====
L'opération d'assemblage d'un volume RAID ne fonctionnera qu'avec les disques comportant des superblocks. Dans la section précédente un volume RAID a été créé, assemblé et activé automatiquement lors de l'opération de création. Cependant après redémarrage de la machine, le daemon mdadm n'assemblera et n'activera automatiquement que les groupes de volumes RAID correctement déclarés dans le fichier de configuration **/etc/mdadm/mdadm.conf**.
Pour ajouter en fin de fichier conf, la déclaration de notre nouveau groupe de volumes md0:
mdadm --detail --scan --verbose >> /etc/mdadm/mdadm.conf
update-initramfs -u
Vérifier que le groupe de volume peut être re-assemblé à partir du fichier de configuration:
# Arrete/deassemble le groupe de volumes RAID1
mdadm --stop /dev/md0
# Démarrer les groupes de volumes RAID déclarés dans un fichier mdadm.conf
mdadm --assemble --scan
Si tout se passe bien, tester un reboot:
reboot
Pour assembler manuellement notre volume RAID1:
mdadm -A /dev/md0 /dev/sda1 /dev/sdb1
les d'assembler les les volumes nous avons créer un Lors du redémarrage de la machine, les volumes sont assemblés par lecture du fichier
===== Ajouter/retirer des disques =====
todo
===== Les disques de secours =====
todo
===== Références =====
* http://www.linuxpedia.fr/doku.php/expert/mdadm