Aggiungere un disco ad una macchina virtuale Proxmox KVM senza riavviare

 

A volte le macchine virtuali richiedono più spazio su disco di quanto originariamente previsto.
E’ possibile aggiungere un nuovo disco ad una macchina virtuale senza riavviarla, al momento Proxmox non prevede l’hotplug del disco
dall’interfaccia web, ma possiamo cmq farlo da console tramite l’utility monitor.
Nell’esempio vi mostrerò una macchina virtuale linux che ha il vmid 103, ed è una Debian Linux con lo storage LVM ed il filesystem formattato in xfs, cosi da consentire
l’estensione del disco al volo..

Prima di tutto per eseguire comandi hotplug su macchine linux abbiamo bisogno dei moduli acpiphp e pci_hotplug.

Quindi logghiamoci in ssh sulla macchina virtuale e carichiamoli rendendoli disponibili anche all’avvio:

# modprobe acpiphp
# modprobe pci_hotplug
# echo acpiphp >> /etc/modules
# echo pci_hotplug >> /etc/modules

Aggiungiamo il disco dall’interfaccia web di Proxmox e cerchiamo di capire una volta aggiunto che nome è stato dato al device, quindi logghiamoci in ssh
sul server Proxmox e lanciamo questo comando:

virt2-kvm:~# lvdisplay | grep 103
LV Name /dev/pve/vm-103-disk-1
LV Name /dev/pve/vm-103-disk-2

Quindi il disco nuovo è vm-103-disk-2 sullo storage lvm pve che è quello di default di proxmox, ora eseguiamo il monitor sulla vm 103 e vediamo
il disco attualmente configurato:
virt2-kvm:~# qm monitor 103
qm> info block
virtio0: removable=0 file=/dev/pve/vm-103-disk-1 ro=0 drv=raw encrypted=0
qm>

Aggiungiamo il nuovo disco:
qm> pci_add auto storage file=/dev/pve/vm-103-disk-2,if=virtio

Se invece il disco che vogliamo aggiungere è file raw aggiungiamolo cosi:
qm> pci_add auto storage file=/var/vz/images/103/vm-103-disk-1.raw,if=virtio

Ora se ci colleghiamo in ssh al server,

Il disco dovrebbe comparire nel dmesg della VM, in questo caso /dev/vdc.
Aggiungiamo il disco all’ LVM della macchina virtuale ed estendiamo il filesystem:

# pvcreate /dev/vdc
# vgextend vg0 /dev/vdc
# lvextend -L +16G /dev/vg0/root
# xfs_growfs /dev/vg0/root (se il filesystem è in xfs)
# resize2fs /dev/vg0/root (se il filesystem è in ext3)

About Francesco Gabriele

Inserisci un commento

Il tuo indirizzo email non sarà pubblicato. Required fields are marked *

*

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>