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
16 avril 2010
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