Ajout d'un disque raid
Avant propos
Quelques informations trouvées ici :
How to add a drive to software RAID with mdadm – The WP Guru
Ajouter un disque à LVM sur mdadm | LPRP.fr
Quelques commandes utiles
Lister de manière détaillée un RAID array :
mdadm -D /dev/md1
Lister "simplement" les partitions d'un RAID array :
mdadm -v --detail --scan /dev/md1 | awk -F= '/^[ ]+devices/ {print $2}'
Une autre liste du même type :
mdadm --query --detail /dev/md{0..2} | grep dev
Voir les PV et VG de manière condensée :
pvdisplay -C --separator ' | ' -o pv_name,vg_name
C'est parti
Après avoir installé physique le nouveau disque, on va vérifier qu'il est bien présent :
lsblk -o name,serial
On note son nom, par exemple nvme4n1.
On lui crée des partitions identiques aux autres disques du RAID. On va donc noter le début et la fin des partitions de l'un des disques :
sfdisk -d /dev/nvme1n1 | sfdisk /dev/nvme4p1
Il est possible qu'il soit nécessaire de forcer l'opération :
sfdisk -d /dev/nvme1n1 | sfdisk --force /dev/nvme4n1
Après avoir restauré le partitionnement, on peut insérer les différentes parties du disque dur dans le RAID (X = numéro de la partition, Y = numéro du RAID array) :
mdadm --add /dev/mdY /dev/nvme4n1pX
Avant de lancer le grossissement (et donc la reconstruction) on va augmenter quelques paramètres pour augmenter la vitesse de reconstruction (X = numéro du RAID array) :
echo 32768 > /sys/block/mdX/md/stripe_cache_size
echo 50000 > /proc/sys/dev/raid/speed_limit_min
echo 200000 > /proc/sys/dev/raid/speed_limit_max
echo max > /sys/block/mdX/md/sync_max
Puis on va faire grossir le raid (X = nombre de partition dans le raid, Y = numéro du RAID array) :
mdadm --grow --raid-devices=X --backup-file=/root/mdY_.bak /dev/mdY
On peut surveiller la reconstruction du raid :
watch cat /proc/mdstat
Une fois la reconstruction terminée, pour les partitionnement via LVM, on va agrandir la taille du PV :
pvresize /dev/mdX
Puis on va ajouter de l'espace à notre LV :
lvextend --resizefs --size +500GB /dev/vg0/data