Raid Logiciel Linux

I► Nous allons voir dans cet article comment configurer un Raid Logiciel de Niveau 1 (Mirorring) avec 2 unités de disques ….

Explication : Le raid de niveau 1 consiste à écrire les données simultanément sur 2 unités de disques identiques, on peut faire une construction à 3 disques en utilisant un disque dit de spare.
En régime normal ce disque est inutilisé. En cas de panne d’un des 2 autres disque il prends automatiquement la place du disque défaillant, sans passer par le phase de reconstruction du tablo raid !!

La première chose à faire est de récupérer l’outil mdadm : apt-get install mdadm (debian)
Nous allons préparer nos 2 unités de disques avec fdisk, nous créerons 2 partitions de taille identique sur les 2 unités de disques (même nb. de cylindres) et nous leur donnerons un type spécifique au Raid : fd -> Linux autodetect Raid …

fdisk /dev/sdb #création d’une primaire de 1Go en type fd
fdisk /dev/sdc #idem

Avant tout, assurons nous que les superblocs ne contiennent pas des infos antérieure de raid :
? mdadm – – examine /dev/sdb1
? mdadm – – examine /dev/sdc1

S’il y a des infos de raid, le zeroing va tout effacer, sinon tout est OK, le message de retour de la commande signifie qu’il n’y a pas d’informations de raid sur l’unité de disque.
? mdadm – -zero-superblock /dev/sdb1
? mdadm – -zero-superblock /dev/sdc1

cat /proc/partitions #permet de voir quelles partitions sont actuellement vues par le noyau

mdadm – -create /dev/md0 – -level=1 – -raid-devices=2  /dev/sdb1  /dev/sdc1
# crée le raid de niveau 1 md0 avec 2 unités : il faut nommer le device mdx !
#La synchro démarre et dure quelques minutes.

mdadm – -create /dev/md0 – -level=1 – -raid-devices=2  –spare-device=1 /dev/sdb1  /dev/sdc1 /dev/sdd1
# un exemple avec un raid 1 et un disque de spare !

mdadm – -create /dev/md0 – -level=5 – -raid-devices=3  /dev/sdb1  /dev/sdc1 /dev/sdd1
# un exemple avec un raid 5 !

cat /proc/mdsat ou mdadm – -detail /dev/md0
#donne le détail du raid et la progression de la synchronisation des disques
on peut faire un watch cat /proc/mdstat qui montre ne temps réel la construction du tablo raid

Quand la synchronisation initiale est finie, on va enregistrer la configuration du raid pourqu’elle soit réutilisable au prochain reboot.
? Pour Debian :
cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf.orig #on sauvegarde l’ancienne config
/usr/share/mdadm/mkconf > /etc/mdam/madam.conf
? Pour RH/Centos :
mdadm – -detail – – scan > /etc/mdadm.conf

Update du RAM DISK du noyau
Car le Kernel gère le hardware !

update-initramfs -v -u

On va créer un FileSystem sur cette unité md0 afin de pouvoir la monter dans l’arborescence.
#on va créer un FS sur cet unité de raid :

mkfs.ext4 /dev/md0
#on le monte :
mount -text4 /dev/md0 /media/raid1 #créer le rép raid1 au préalable

—————————————————————————————-

Mise en situation du RAID :

? On place des données (images -textes) dans /media/raid1
? On débranche à chaud un disque USB
ou on supprime le disque avec les commandes mdadm en faisant :
mdadm – -fail /dev/md0 /dev/sdb1   (ou -f)
mdadm – -remove /dev/md0 /dev/sdb1 (ou -r)
(utile pour une image virtuelle sous VB)
on fait un mdadm –detail /dev/md0
#le raid est passé de clean à degraded avec une unité en removed
On rajoute d’autres données :

Capture2

 

 

 

? On rajoute toujours à chaud la seconde unité de disque :
mdadm – -add /dev/md0 /dev/sdc1
Le raid repart en recovering :

Capture

Jusqu’à la synchro totale et bien sûr les fichiers sont présents dans les 2 unités de disques .

—————————————————————————————-

? Arrêter | redémarrer | supprimer le RAID :
Si le fichier de conf a bien été fait, on peut facilement arrêter ou relancer le raid existant :
mdadm – -stop /dev/md0
mdadm – -assemble /dev/md0

Pour supprimer totalement le raid
mdadm – – stop /dev/md0
On fait du zéroing sur les unités concernées par ce raid pour effacer toute informations de Raid
mdadm –zero-superblock /dev/sdb1 /dev/sdc1

 

Michel BOCCIOLESI