HOWTO XEN : redimensionnement du disque d’un DomU

Cet article résume rapidement la liste des commandes et les points importants pour redimensionner un DomU utilisant des fichiers comme disque.

Vous devez avoir un DomU fonctionnel avant de pouvoir le redimensionner (lol)

#Créer un fichier temporaire pour augmenter la taille (ici 1Gio)
dd if=/dev/zero of=/tmp/temps_expand bs=1024k count=1000

#Stopper votre machine virtuelle
xm shutdown test.example.com

#Sauvegarder votre image (on ne sait jamais)
cp -a /xen/domains/test.example.com/disk.img /xen/domains/test.example.com/disk.img

#Ajouter le ficher disque temporaire au fichier disque du serveur virtuel.
cat /tmp/temps_expand >> /xen/domains/test.example.com/disk.img
#Pour l’agrandir de 10 Gio d’un coup, on peut par exemple faire
for i in $(seq 1 10); do echo « $i »; cat /tmp/temps_expand >> /xen/domains/test.example.com/disk.img; done

#Prendre en compte le changement de taille.
resize2fs -f /xen/domains/test.example.com/disk.img

#Redémarrer le serveur virtuel
xm create test.example.com.cfg

Author: Pierre-Yves Dubreucq

Passioné par les logiciels libres depuis 2001, je suis VP Bare Metal (Dedibox) chez Scaleway. Je tiens ce blog depuis 13 ans avec beaucoup moins d'assiduité malheureusement qu'à ses débuts, mais bon, le temps est une denrée rare.

Share This Post On

1 Comment

  1. Bonjour,
    Merci pour cet article qui m’a bien aidé à agrandir la taille d’une machine virtuelle.
    Je voudrais compléter cet article pour un serveur virtuel LVM :

    Après l’opération décrite ci-dessus:
    #Ajouter le ficher disque temporaire au fichier disque du serveur virtuel.
    cat /tmp/temps_expand >> /xen/domains/test.example.com/disk.img
    La commande :
    resize2fs -f /xen/domains/test.example.com/disk.img

    n’a pas marché sur ma machine virtuelle :

    resize2fs 1.39 (29-May-2006)
    resize2fs: Bad magic number in super-block lors de la tentative d’ouverture de disk.img
    Impossible de trouver un superbloc de système de fichiers valide.

    Cela n’a pas eu de conséquence sur la suite des opérations, car au démarrage de la machine virtuelle, la commande fdisk -l a donné la bonne taille du disque

    #Redémarrer le serveur virtuel
    xm create test.example.com.cfg

    #Vérifier que la nouvelle taille du disque a bien été prise en compte
    fdisk -l
    On note que le disque s’appelle /dev/xvda et que la taille du disque est correct.

    #Obtenir les informations sur le volume groupe (VG)
    vgdisplay
    On note que le VG s’appelle VolGroup00

    #Obtenir les informations sur le volume logique (LV) que l’on souhaite agrandir
    lvdisplay
    On note que le LV s’appelle /dev/VolGroup00/logVol00

    #Créer un nouveau Volume Physique
    fdisk /dev/xvda
    Ajouter une nouvelle partition: choix n
    On choisit une partition primaire ou étendue : p
    Numéro de la partition : 3 (le 1er disponible)
    Confirmer le début et la fin des secteurs
    Changer le system id de la partition : t
    Choisir : 8e (LVM)
    Ecrire les changements : w

    On dispose de la partition /dev/xvda3

    #Rebooter la machine pour prendre en compte la nouvelle partition

    #Créer le volume physique (PV)
    pvcreate /dev/xvda3

    #Ajouter le nouveau volume physique dans le volume groupe
    vgextend VolGroup00 /dev/xvda3

    #Etendre le volume logique
    On va étendre le volume logique de 500Mo.
    lvextend –L +500M /dev/volGroup00/logVol00

    #Redimensionner le système de fichiers à la taille du LV
    df
    On note que le système de fichiers /dev/mapper/VolGroup00-logVol00 est monté sur /

    mount
    La commande mount nous renseigne que le LV /dev/volGroup00/logVol00 est monté sur /

    resizefs /dev/mapper/VolGroup00-logVol00

    Post a Reply

Submit a Comment

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *