Lerm-IT

Blog traitant de technologies informatiques. Logiciel libre, AdminSys, DevOps et GNU/Linux !

15 Jun 2012

[XEN] Ajouter une partition à une machine virtuelle sans redémarrer celle-ci.

Dans le cas où vous travailler sur un serveur qui est vital à un service qui ne peut pas subir d’interruption de service il peut être nécessaire d’ajouter une partition à votre machine virtuelle XEN sans redémarrer.

Pour cela nous allons utiliser la commande bien connue xm et son option block-attach.

Voici la procédure à suivre pour ne rien oublier.

1. Créer votre partition

Si vous utilisez LVM vous pouvez créer une partition simplement à l’aide de la commande lvcreate sinon un bon vieu fdisk fera très bien l’affaire.

Pour créer une partition LVM

# lvcreate -L 5G -n new-data
/dev/vg0

Ici nous créons une partition de <em>5G</em> (option -L) nommée <em>new-data</em> dans le volume de groupe <em>vg0</em>. Nous y accéderons donc via le chemin <em>/dev/vg0/new-data</em>. <h2>2. Modifier votre fichier de configuration de machine</h2> Pour ma part mes fichiers de configuration de machine virtuelle se trouvent dans<em> /etc/xen/nom-machine.cfg</em> je vais donc en éditer un.

# vim /etc/xen/my-host.cfg

Dans la partie concernant les disques durs ajoutez une ligne concernant votre nouvelle partition. Ceci évitera de perdre vos modifications au prochain redémarrage.

….
disk        = [
'phy:/dev/vg0/new-data,xvda3,w',
'phy:/dev/vg0/my-host-disk,xvda2,w',
'phy:/dev/vg0/my-host-swap,xvda1,w',
]
….

Ici j’ai ajouter la ligne ‘phy:/dev/vg0/new-data,xvda3,w',  spécifiant que la partition /dev/vg0/new-data sera monté sous l’identité xvda3 sur ma machine virtuelle. J’y accéderai donc via /dev/xvda3.

3. Ajouter la partition à l’instance courante

# xm block-attach my-host phy:/dev/vg0/my-host-backup-data xvda3 w

Ici nous retrouvons les informations spécifiées dans le fichier de configuration de la machine virtuelle. Nous attachons la partition physique (phy:) /dev/vg0/my-host-backup-data à la machine virtuelle my-host sous l’identité xvda3. Nous spécifions que la machine virtuelle aura le droit d’écrire sur cette partition (w).

Attention à bien spécifier les mêmes informations que dans votre fichier /etc/xen/my-host.conf pour ne pas avoir de surprises au prochain redémarrage.

4. Formatter la partition

Pour rendre la partition utilisable nous devons la formatter. Pour cela rendez vous sur votre machine virtuelle (via un xm console ou une connection ssh) et formater la nouvelle partition en utilisant le système de fichier que vous souhaité. Nous utilisons ici le système de fichier btrfs.

# mkfs.btrfs /dev/xvda3

5. Modifier votre fstab

Pour que votre partiton soit montée au prochain démarrage de la machine virtuelle modifier votre fichier fstab pour y ajouter la nouvelle partition.

# vim /etc/fstab

…
/dev/xvda3 /opt/data btrfs defaults 0 1
…

A notre prochain redémarrage la partition /dev/xvda3 sera montée dans le dossier /opt/data avec le système de fichier btrfs. Vous êtes libre de mettre les options que vous souhaité pour les autres colonnes.

6. Monter la partition

Vérifier que le point de montage existe

# mkdir -p /opt/data

Et monter votre nouvelle partition

# mount /opt/data

Et voila c’est fini !