LINUX: Debian, Proxmox, RAID software

23.01.2014 by MatMoul

Si votre disque utilise une table de partition GPT, consultez cette article...

Créer un RAID software n'est pas des plus intuitif, mais en suivant ces instructions, cela devrait le faire.

J'ai utilisé cette procédure pour monter mon RAID software sous Debian (précisément la distribution Proxmox).

Dans mon cas, un poste HP de récupération, un Core 2 Duo, avec controller SATA en mode IDE, disque système en sda et disque supplémentaire en sdb, j'ai effectué la procédure suivante qui s'est très bien passée. Toutefois en appliquant la même procédure dans différant cas, (principalement des tests sur des machines virtuelles VMWare et Proxmox), j'ai rencontrer un certain nombre de problème en fonction du mode de contrôleur. A vous de tester, n'oubliez surtout pas de faire une sauvegarde avant de vous lancer.

Pour info, j'ai aussi essayé un RAID hardware sur un contrôleur fournit avec un serveur HP Proliant avec succès et un contrôleur (light) intégré à un mainboard ASUS sans succès.

Pour info, il faudra utiliser mdadm, c'est le package qui gère le RAID software sous Debian.

Console ou SSH :

apt-get -y install mdadm
sfdisk -d /dev/sda | sfdisk -f /dev/sdb
sfdisk -c /dev/sdb 1 fd
sfdisk -c /dev/sdb 2 fd
mdadm --create -l 1 -n 2 /dev/md0 missing /dev/sdb1
# Répondez Yes
mdadm --create -l 1 -n 2 /dev/md1 missing /dev/sdb2
# Répondez Yes
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
mkfs.ext4 /dev/md0
mkdir /mnt/md0
mount /dev/md0 /mnt/md0
cp -ax /boot/* /mnt/md0
nano /etc/fstab
  • # Replace  UUID=<UUID> /boot ext3 defaults 0 1 by
  • /dev/md0 /boot ext4 defaults 0 1
# CTRL+X;Y
reboot

mount|grep boot
echo '# customizations' >> /etc/default/grub
echo 'GRUB_DISABLE_LINUX_UUID=true' >> /etc/default/grub
echo 'GRUB_PRELOAD_MODULES="raid dmraid"' >> /etc/default/grub
echo raid1 >> /etc/modules
echo raid1 >> /etc/initramfs-tools/modules
grub-install --recheck /dev/sda
grub-install /dev/sdb
grub-install /dev/md0
# Si un message d'erreur de segmentation apparaît, ignorez le.
update-grub
update-initramfs -u
sfdisk -c /dev/sda 1 fd
mdadm --add /dev/md0 /dev/sda1
watch -n 5 cat /proc/mdstat
# La commande watch vous montre l'état de la duplication de sda1 (normalement très rapide voir instantanée)
reboot

pvcreate /dev/md1
vgextend pve /dev/md1
pvmove /dev/sda2 /dev/md1
vgreduce pve /dev/sda2
pvremove /dev/sda2
sfdisk --change-id /dev/sda 2 fdls
mdadm --add /dev/md1 /dev/sda2
watch -n 5 cat /proc/mdstat
# La commande watch vous montre l'état de la duplication de sda2 (le temps dépend de la taille de votre disque)
# Répétez la commande watch jusqu’à ce que sda2 soit synchronisé.
echo 800000 > /proc/sys/dev/raid/speed_limit_min
echo 1600000 > /proc/sys/dev/raid/speed_limit_max
reboot
Si tout c'est bien passé, vous êtes sur votre RAID software. Seul moyen d'en être sure, faites une modification dans votre système de fichiers et redémarrer sur un disque puis l'autre.

Il reste un point un peut compliqué. C'est la mise à jour de GRUB (lors d'un apt-get upgrade). Il faudra bien veiller à mettre à jour GRUB sur chaque partitions.