Commandes
Réassembler un RAID aprés la réinstallation de son OS ou depuis un LiveCD
- Avec un RAID composé de deux disques sda1 et sdb1 :
root@host:~# mdadm --assemble /dev/md0 /dev/sda1 /dev/sdb1
Désinscrire un disque d'un RAID
root@host:~# mdadm --zero-superblock /dev/sda1
Vérifier l'état de son RAID
root@host:~# cat /proc/mdstat
Effectuer une vérification de son RAID
root@host:~# echo check > /sys/block/md0/sync_action
Connaitre l'état détaillé de son RAID
root@host:~# mdadm -D /dev/md0
Cette commande renvoie (en plus d'informations détaillées sur la sortie standard) :
- 0 si aucun problème n'a été détecté
- 1 en cas d'erreur
- 2 en cas de problème grave
Étendre un RAID 5 (via l'ajout d'un disque)
- Avec un RAID 5 composé de trois disques sda1, sdb1 et sdc1 et auqel on souhaite rajouter le disque sdd1.
- La première chose à faire est un backup de ses données!
- On démonte (facultatif selon le système de fichier) la partition :
root@host:~# umount /dev/md0
- On prépare notre nouveau disque en copiant la table de partition d'un disque existant vers le nouveau disque (les partitions participants au RAID doivent avoir la même taille) :
root@host:~# sfdisk -d /dev/sdb | sfdisk --force /dev/sdd
- On déclare notre nouveau disque dans l'array :
root@host:~# mdadm --manage /dev/md0 --add /dev/sdd1
- On agrandit l'array (l'option --backup-file est fortement conseillée, voir man mdadm pour plus d'informations. Suivant la taille des disques cette opération peut prendre beaucoup de temps On pourra surveiller son évolution via la commande cat /proc/mdastat) :
root@host:~# mdadm --grow /dev/md0 --raid-devices=4 --backup-file=/root/raid5.backup.file
- On étend le système de fichier (valable uniquement pour ext. NB : c'est faisable à chaud selon la version de son noyau).
root@host:~# mdadm --grow /dev/md0 --raid-devices=4 --backup-file=/root/raid1-5.backup.file
Étendre un RAID chiffré (convertir un RAID 1 en RAID 5)
- Avec un RAID 1 composé de deux disques sda1 et sdb1 et auquel on souhaite rajouter un disque sc1 :
- La première chose à faire est un backup de ses données!
- Puis on fait un backup de l'entete luks (la aussi à titre préventif) :
root@host:~# cryptsetup luksHeaderBackup /dev/md0 --header-backup-file chemin/vers/backup.img
- ou de façon manuelle en récupérant la taille de l'en-tête "Payload offset" puis l'en-tète elle même avec la commande dd :
root@host:~# cryptsetup luksDump /dev/md0 | grep "Payload offset"
root@host:~# dd if=/dev/md0 of=chemin/vers/backup.img bs=512 count=4040
- À titre d'information la restauration de l'en-tête s'effectue via l'une ou l'autre de ces commandes :
root@host:~# cryptsetup luksHeaderRestore /dev/md0 --header-backup-file chemin/vers/backup.img
root@host:~# dd if=./backup.img of=/dev/md0 bs=512 count=4040
- On arrète le RAID (pour plus de sécurité) :
root@host:~# mdadm --stop /dev/md0
- On prépare notre nouveau disque en copiant la table de partition d'un disque existant vers le nouveau disque (les partitions participants au RAID doivent avoir la même taille) :
root@host:~# sfdisk -d /dev/sdb | sfdisk --force /dev/sdc
- On convertit le RAID 1 en RAID 5 :
root@host:~# mdadm --create /dev/md0 --level=5 -n 2 /dev/sda1 /dev/sdb1
- On ajoute le 3 ème disque à l'array :
root@host:~# mdadm --add /dev/md0 /dev/sdc1
- On étend l'array (l'option --backup-file est fortement conseillée, voir man mdadm pour plus d'informations. Suivant la taille des disques cette opération peut prendre beaucoup de temps On pourra surveiller son évolution via la commande cat /proc/mdastat) :
root@host:~# mdadm --grow /dev/md0 --raid-disks=3 --backup-file=/root/raid1-5.backup.file
- On étend maintenant la partition chiffrée :
root@host:~# cryptsetup resize /dev/mapper/md_crypt
- On vérifie et corrige les eventuelles erreurs du systeme de fichier :
root@host:~# e2fsck -f /dev/mapper/md_crypt
- On étend le système de fichier (valable uniquement pour ext) :
root@host:~# resize2fs /dev/mapper/md_crypt