Mdadm

De Linux Server Wiki
Aller à la navigation Aller à la recherche


Création d'un array raid1 avec 2 disques

Créez les partitions sur les différents disques et définissez le type de partition à fd

mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1

Si vous avez écrit des zero (disque mécanique) ou trim/blkdiscard (disque SSD), vous pouvez ajouter l'option --assume-clean afin d'éviter la synchronisation initiale. Ne le faite pas si vous n'êtes pas sur de vous car un array non synchronisé peut avoir des conséquences très néfastes pour l'intégrité de votre array.

Ajoutez l'array fraîchement créé dans le fichier de configuration afin de conserver le nom (md0), puis régénérez l'initramfs :

mdadm --examine --scan >> /etc/mdadm/mdadm.conf
update-initramfs -u

Si l'array raid contient la partition /boot (ou la partition / sans partition boot dédiée) :

update-initramfs -u
update-grub
grub-install /dev/sda
grub-install /dev/sdb

Monitoring

Manuel

#$ cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid1 sdb1[1] sda1[0]
      9756672 blocks super 1.2 [2/2] [UU]

unused devices: <none>

Le flag [UU] montre que tout est OK. S'il y avait un problème sur un des disques nous verrions par exemple [_U] ou [U_]

Vous pouvez avoir plus d'information avec cette commande :

mdadm --detail /dev/md0

Si vous lisez State : clean tout va bien, si vous lisez State : clean, degraded, c'est que l'un des disques pose problème. Vous pouvez identifier quel disque pose soucis grâce au statut tout en bas (active sync, faulty, spare ou removed)

Automatique

Assurez vous que le fichier /etc/default/mdadm contienne bien :

AUTOCHECK=true
START_DAEMON=true

Et définissez votre adresse mail dans /etc/mdadm/mdadm.conf :

MAILADDR adress@domain.tld

Si vous avez modifié la configuration, relancez mdadm :

/etc/init.d/mdadm restart

Pour tester l'envoi d'une notification :

mdadm --monitor --scan --test --oneshot

Marquer un disque comme défectueux

Si vous vous rendez-compte de vous même avant mdadm qu'un disque est entrain de lâcher (smart par exemple), vous pouvez le marquer défectueux :

mdadm --manage /dev/md0 --fail /dev/sdb1

Supprimer un disque défectueux

Supprimez le disque

mdadm --manage /dev/md0 --remove /dev/sdb1

Changer le disque physique, puis partitionnez le à l'identique;

Puis réajoutez le nouveau disque à l'array :

mdadm --manage /dev/md0 --add /dev/sdb1

Pensez à mettre à jour /etc/mdadm/mdadm.conf avec le contenu de mdadm --examine --scan

Examiner les métadonnées

mdadm --examine /dev/sdb1

Cela vous permet, par exemple, de récupérer les informations d'une grappe si vous avez perdu le fichier /etc/mdadm/mdadm.conf.

Stoper un raid

mdadm --stop /dev/md0

Voir l'architecture des disques et partition

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT