Augmenter la taille d’un disque virtuel vdi sous VirtualBox
Il m’arrive fréquemment d’utiliser des machines virtuelles pour tester tout un tas de choses.
Par défaut, je donne en général 8Giga maximum au disque dur virtuel.
Il est vrai qu’en n’allouant pas la place tout de suite je pourrais être moins avare en disque, mais cela me permet aussi de bien maitriser le volume total qui pourra être utilisé par les machines virtuelles.
Malheureusement, 8 Giga ne sont pas toujours suffisant. Deux solutions s’offrent à nous :
1) Ajouter un nouveau vdi en plus de l’existant
2) étendre le disque virtuel existant
La première solution c’est comme si vous ajoutiez un nouveau disque dur à votre ordinateur.
Il suffit donc d’ajouter un nouveau vdi, et sur la machine virtuelle ajouter le nouveau disque à LVM il vous restera ensuite à distribuer la volumétrie disponible au volume groupe et logique qui sont à l’étroit.
Je vais donc détailler la solution 2.
Étendre le disque virtuel
Cette solution n’est pas réalisable dans l’interface graphique, il sera nécessaire de passer par une ligne de commande
VBoxManage modifyhd MonDisque.vdi --resize 20000
Cette commande permet de redéfinir la taille du disque à 20 Giga.
Étendre sur la machine virtuelle
On constate bien dans VirtualBox que le disque est passé à 20 giga.
Créer une partition
Il est nécessaire de créer une partition dans l’espace disponible, je vous conseille si vous avez une interface graphique d’utiliser l’excellent Gparted, sinon il vous reste fdisk …
Ma machine virtuelle utilise LVM, il n’est donc pas nécessaire de formater la partition, ni de choisir un système de fichier.
LVM
L’objectif est maintenant d’ajouter la volumétrie au système grâce à LVM.
On peux le faire soit via l’interface graphique (system-config-lvm), soit directement ligne de commande. Je vous présente ci dessous les captures d’écran de la méthode par l’interface graphique ainsi que les commandes à lancer pour ceux qui doivent passer par le terminal.
Nous allons commencer par initialiser la volumétrie ajoutée.
Cliquer sur « initialiser l’entité ». Cela va créer un « volume physique » ce qui correspond à lancer la commande suivante :
# pvcreate /dev/sda3 Physical volume "/dev/sda3" successfully created
On a maintenant un volume physique qui n’est pas alloué.
# pvs PV VG Fmt Attr PSize PFree /dev/sda2 vg_fedora14 lvm2 a- 9,50g 0 /dev/sda3 lvm2 a- 9,53g 9,53g
On choisi donc d’ajouter le volume physique au « groupe de volume » existant (vg_fedora14 ici), ce qui se fera via la commande :
# vgextend vg_fedora14 /dev/sda3 Volume group "vg_fedora14" successfully extended
Il faut maintenant étendre le volume logique
Cliquer sur « éditer les propriétés » et choisir ce que vous désirez faire.
Ce qui correspond à la commande suivante :
# lvdisplay --- Logical volume --- LV Name /dev/vg_fedora14/lv_root VG Name vg_fedora14 LV UUID mB1JCC-N7VF-YSZA-IaTt-W3Ch-GylR-Czg7WB LV Write Access read/write LV Status available # open 1 LV Size 7,56 GiB Current LE 242 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0 --- Logical volume --- LV Name /dev/vg_fedora14/lv_swap VG Name vg_fedora14 LV UUID 9NZFBl-T10T-Wdt5-2AIX-WTxI-NjxT-Ubp2TR LV Write Access read/write LV Status available # open 1 LV Size 1,94 GiB Current LE 62 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:1
Pour connaitre le nom des volumes logiques disponibles. Le volume que je compte étendre c’est « lv_root ».
# lvresize --size +5G /dev/vg_fedora14/lv_root Extending logical volume lv_root to 12,56 GiB Logical volume lv_root successfully resized
Il faut ensuite adapter la taille du filesystem au volume, grâce à la commande resize2fs :
# resize2fs /dev/vg_fedora14/lv_root resize2fs 1.41.12 (17-May-2010) Le système de fichiers de /dev/vg_fedora14/lv_root est monté sur / ; le changement de taille doit être effectué en ligne old desc_blocks = 1, new_desc_blocks = 1 En train d'effectuer un changement de taille en ligne de /dev/vg_fedora14/lv_root vers 3293184 (4k) blocs. Le système de fichiers /dev/vg_fedora14/lv_root a maintenant une taille de 3293184 blocs.
Et voila on a désormais un peu plus de place :
# df -h / Sys. de fichiers Taille Uti. Disp. Uti% Monté sur /dev/mapper/vg_fedora14-lv_root 13G 6,2G 5,6G 53% /