mdadm
Create dummy RAID for testing
cd /tmp
dd if=/dev/zero bs=1024k count=100 of=block0
dd if=/dev/zer0 bs=1024k count=100 of=block1
losetup /dev/loop0 block0
losetup /dev/loop1 block1
mdadm -C /dev/md/test --name=test --homehost=foreign -l1 -n2 /dev/loop[01]
mdadm -S /dev/md/test
mdadm -As # nothing will happen here as test isn't listed in mdadm.conf
mdadm -I /dev/loop0 # this will start assembling test as /dev/md/foreign:test
mdadm -I /dev/loop1 # this will finish assembling and start /dev/md/foreign:test
mdadm -Db /dev/md/foreign:test >> /etc/mdadm.conf
vi /etc/mdadm.conf # change the ARRAY line we just added to list /dev/md/test as the array name
mdadm -S /dev/md/foreign:test
mdadm -As # now it will assemble the array without the homehost entry because it's listed in mdadm.conf without it
RAID Basics
mdadm --stop /dev/md125
mdadm --assemble /dev/md/alpha --name=alpha --update=name /dev/sd[ab]
mdadm --detail --scan /dev/md/alpha
mdadm --examine --scan --config=partitions >> /etc/mdadm.conf
Corriger mdadm.conf
Dans le fichier « /etc/mdadm/mdadm.conf », effacer les arguments « name=??? » surlignés en rouge et s’assurer que le nom des devices sont tel qu’indiqué en jaune (noter que le md0 est pour le /boot et md1 pour LVM) : ARRAY /dev/md0 metadata=1.0 UUID=05a22a50:…:bfb01421 name= host01:md0 ARRAY /dev/md1 metadata=1.2 UUID=7591182c:…:ca590139 name= host01:md1
grub-install --target=i386-pc --recheck /dev/sda
grub-install --target=i386-pc --recheck /dev/sdb
update-initramfs -c -k all -u
update-grub2
reboot
Construire un RAID software avec mdadm
Avant de l'installer dans le serveur si c'est un disque usagé :
dd if=/dev/zero of=/dev/hdb bs=512 count=1
Une fois le disque dur installé dans le serveur :
dd if=/dev/hda of=/dev/hdb bs=512 count=1
fdisk /dev/hdb
mdadm –-manage /dev/md0 –add /dev/hdb1
mdadm –-manage /dev/md1 –add /dev/hdb3
mdadm –-manage /dev/md2 –add /dev/hdb4
lilo
Ensuite booter sur une clé USB linux et démarrer avec les paramètres suivants en tapant:
bare.i root=/dev/mdo noinitrd ro
Rajouter la ligne suivante dans /etc/lilo.conf :
raid-extra-boot = /dev/hda, /dev/hdb
mdadm sert à créer, gérer, et surveiller les périphériques MD.
Affiche les détails :
mdadm –D /dev/md0
Pour reconstruire un drive qui est « degraded » mais le disque est bon
mdadm --manage /dev/md2 --remove /dev/hdb4
mdadm -f --manage /dev/md2 --add /dev/hdb4
Ajouter un disque au RAID
mdadm --assemble /dev/md0 /dev/hd[ab]1
mdadm --assemble /dev/md1 /dev/hd[ab]3
mdadm --assemble /dev/md2 /dev/hd[ab]4
Renommer un RAID en mdadm
Par exemple, renommer /dev/md127 pour /dev/md0 qui est utilisé par /boot :
- Premièrement umount de /boot :
umount /boot
- Arrêter le RAID :
mdadm --stop /dev/md127
- Retirer le vieux nom de device :
mdadm --remove /dev/md127
- Reassembler avec le nouveau nom :
mdadm --assemble /dev/md0 --name md0 /dev/sdc2 /dev/sdd2 --update=name
ou
mdadm --assemble /dev/md1 --name md1 /dev/sda3 --update=name --run
- Lister les UUID pour notre "nouveau" RAID :
lsblk -f
- Éditer le fichier "/etc/fstab" pour remplacer le vieil UUID par le nouveau, le cas échéant :
vim /etc/fstab
* Exemple :
UUID=4fc3fafd-7c97-40de-a76f-bfc9409c4ade /boot ext4 defaults 0 2
- Vérifier si le /boot est remonté et avec le nouveau nom :
mount | grep boot
/dev/md0 on /boot type ext4 (rw,relatime,data=ordered) # <--- sortie à l'écran.
- Éditer le fichier "/etc/mdadm/mdadm.conf" pour remplacer les vieux paramètres avec les nouveaux, le cas échéant :
vim /etc/mdadm/mdadm.conf
# Exemple :
ARRAY /dev/md/md0 metadata=1.0 UUID=25d013b7:26624c25:40d246d0:ba7b7784 name=replica:md0
# Vous pouvez également utiliser l'output de la commande :
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
# Et supprimer les vieilles lignes dans mdadm.conf
- Regénérer un nouvel initrd :
update-initramfs -u
- Mettre à jour grub :
update-grub2