Questo metodo è stato provato su server CentOS/RedHat, l’hypervisor è ESXi, ma i concetti di base si applicano a qualsiasi piattaforma di virtualizzazione.

Lo scenario è il seguente, dobbiamo aggiungere spazio ad un server Linux dotato di LVM.

Per prima cosa aggiungiamo un disco alla VM della dimensione voluta. Colleghiamoci al server, effettuiamo una scansione del bus per scoprire il numero del bus:

grep mpt /sys/class/scsi_host/host?/proc_name

Dovreste ottenere un risultato simile:

/sys/class/scsi_host/host0/proc_name:mptspi

Dove host0 è il dato che ci interessa, a questo punto per effettuare una scansione:

echo "- - -" > /sys/class/scsi_host/host0/scan

Usando dmesg dovrebbe essere apparso un nuovo disco.

Sul nuovo disco, usando cfdisk o fdisk, creiamo una partizione di tipo "Linux LVM".

Creiamo un volume fisico (physical volume) usando la partizione appena creata:

pvcreate /percorso/del/volume/fisico (una cosa simile a /dev/sdc1)

Aggiungiamo il pv al volume group sul quale c'è il volume logico da estendere:

vgextend nome_vg percorso_volume_fisico

Allarghiamo il volume logico:

lvextend nome_del_volume_logico -L +20G

Il comando precedente aggiunge 20GiB al lv.

Infine dobbiamo espandere il file system:

resize2fs -P /percorso/del/lv/da/espandere

As veduma!


Riferimenti:
  1. https://blogs.it.ox.ac.uk/oxcloud/2013/03/25/rescanning-your-scsi-bus-to-see-new-storage/

  2. https://ma.ttias.be/increase-a-vmware-disk-size-vmdk-formatted-as-linux-lvm-without-rebooting/