Debian,  Linux,  proxmoxVE,  Virtualisation

Installation de Proxmox VE en raid1 logiciel

Proxmox VE est un système de virtualisation basé sur la technologie OpenVZ et KVM. Pour disposer de la virtualisation KVM le processeur doit disposer des instructions intel VT ou amd V.
Pour vérifier si le processeur est compatible, il suffit de lancer la commande suivante qui doit retourner quelque chose.

egrep ‘(vmx|svm)’ /proc/cpuinfo

Ceci permettra d’installer des systèmes hôtes comme: Centos, Fédora, Windows comme sur un PC en dur.

Proxmox fournit une image ISO qui permet d’installer un tel système en quelques clics et avec une rapidité déconcertante. Le petit souci est que Proxmox ne gère pas nativement le RAID logiciel, de plus les cartes mères vendues supposant faire du raid matériel sont en faite du FakeRaid. Un vrai contrôleur raid coute très cher. J’ai trouvé un tuto qui permet d’installer un raid logiciel. Je l’ai adapter à ma config, le tout a été testé dans une Virtualbox ce qui m’a permis de faire plusieurs essais avant de parvenir au résultat final.

Première précaution : il faut créer 2 disques virtuels avec une taille fixe et 4 Go minimum par disque.

Plus de blabla, la liste des commandes à lancer.

On installe déjà la distribution Proxmox sans se préoccuper du raid, choisir installation sur /dev/sda

Une fois installé, un premier reboot et le système est déjà fonctionnel.

Mise en place du RAID logiciel:

Le raid sera basé sur le soft mdadm.

1) Vérification et mise à jour si besoin de la distribution:
apt-get update
apt-get dist-upgrade -y
reboot

2) Installation du logiciel qui va permettre la gestion du raid.
apt-get install mdadm
yes to all
update-initramfs -u -t
reboot

3) Copie de la structure du premier disque sur le second:
sfdisk -d /dev/sda | sfdisk /dev/sdb –force
sfdisk -l /dev/sda
sfdisk -l /dev/sdb

4) Création du raid:

– Création des array du raid.

mdadm –create /dev/md0 –level=1 –raid-disks=2 missing /dev/sdb1
mdadm –create /dev/md1 –level=1 –raid-disks=2 missing /dev/sdb2
mdadm –examine –scan >> /etc/mdadm/mdadm.conf

– Copie de la partition /boot sur la partition du nouveau disque configuré en raid

copie la partition /boot
mkfs.ext3 /dev/md0
mkdir /mnt/md0
mount /dev/md0 /mnt/md0/
cp -ax /boot/* /mnt/md0/.

– On modifie le /etc/fstab pour booter sur le nouveau disque raid.

l’on remplace l’uuid du /dev/sda1 par le nouvel uuid du /dev/md0
On obtient la liste des uuid par la commande : blkid

vi /etc/fstab
UUID=5664deb0-6da2-45a1-9748-496f06a1b808 /boot ext3 defaults 0 1
reboot

Logiquement tout doit bien se passer, la suite des opérations:

On vérifie que l’on boot bien sur le raid qui contient uniquement le disque /dev/sdb

df # on boot bien sur /dev/md0

– Ajout de la partition /dev/sda1 dans le raid 1.

Cette opération va écraser le contenu du /dev/sda1 avec le contenu du /dev/md0.

mdadm –add /dev/md0 /dev/sda1
On vérifie en temps réel la recopie à l’identique de la partition.
watch cat /proc/mdstat (ctrl+c pour sortir)
reboot

A ce niveau tout doit encore bien se passer.
Les choses se compliquent. Proxmox créé des partitions de type lvm, on va donc devoir recréer tout cela.

– création et recopie des partitions LVM.

– Création du volume LVM physique.
pvcreate /dev/md1
– Extention du volume LVM pour permettre la copie des données.
vgextend pve /dev/md1
– Déplacement des données du disque /dev/sda2 sur le nouveau volume raid /dev/md1.
pvmove /dev/sda2 /dev/md1
– Attendre le 100% OK
– On retire le volume LVM du premier disque /dev/sda2 qui est désormais vide
vgreduce pve /dev/sda2

– Ajout de la partition /dev/sda2 dans le raid 1.
mdadm –add /dev/md1 /dev/sda2
watch cat /proc/mdstat
Attendre la fin de la construction pour sortir. (ctrl+c)

– On va ajouter dans grub le démarrage dur le 2ème disque physique.

vi /boot/grub/menu.lst
….
….
title           Proxmox Virtual Environment, kernel 2.6.18-2-pve-hd0
root            (hd0,0)
kernel          /vmlinuz-2.6.18-2-pve root=/dev/mapper/pve-root ro
initrd          /initrd.img-2.6.18-2-pve

title           Proxmox Virtual Environment, kernel 2.6.18-2-pve-hd1
root            (hd1,0)
kernel          /vmlinuz-2.6.18-2-pve root=/dev/mapper/pve-root ro
initrd          /initrd.img-2.6.18-2-pve

– Installation de grub dans le mbr:

grub-install /dev/sda
grub-install /dev/sdb

reboot final OK

Génial, tout fonctionne le système est en raid 1 et fonctionne parfaitement.

Quelques tests:

On casse:
mdadm –manage /dev/md1 –fail /dev/sda2
mdadm –manage /dev/md1 –remove /dev/sda2
cat /proc/mdstat
reboot

On répare:
mdadm –zero-superblock /dev/sda2
mdadm –add /dev/md1 /dev/sda2
watch cat /proc/mdsta
t # OK

Si changement de disque dur en vrai, refaire un grub-install /dev/sda et /dev/sdb

Attention pour l’installation de grub, il semble qu’il faille lancer en plus les commandes suivantes.

grub

grub> root (hd0,0)

grub> setup (hd0)

et

grub> root (hd1,0)

grub> setup (hd1)

Commentaires fermés sur Installation de Proxmox VE en raid1 logiciel