Espandere dischi LVM di un VPS

1) Entrare nella macchina guest come root e individuare il nuovo disco appena aggiunto.

:~# fdisk -l

Qualora non sia visibile e si voglia evitarne il reboot si puo lanciare il seguente comando

:~# echo "- - -" > /sys/class/scsi_host/host#/scan

A titolo di esempio il nuovo disco potrebbe essere /dev/sdb, di conseguenza lo partizioniamo con fdisk preparandolo a diventare un PV. Per brevità sono piu elencate le voci in sequenza da lanciare in fdisk

2) Creare un nuovo Physical Volume utilizzando il nuovo disco appena aggiunto:

:~# pvcreate /dev/sdb

3) Individuare quale/i sono i Volume Group esistenti (Per ulteriori dettagli si puo lanciare il comando vgdisplay)

:~# vgscan

a) Per aggiungere un nuovo Volume Group:

:~# vgcreate NomeNuovo-vg /dev/sdb

b) Per estendere il Volume Group esistente aggiungendo il Physical Volume appena creato:

:~# vgextend namevg /dev/sdb

4) Cerco i Logical Volume presenti:

:~# lvscan

a) Per creare un nuovo Logical Volume utilizzando tutto lo spazio a disposizione di un Volume Group:

:~# lvcreate -l 100%FREE -n NomeNuovo-lv Nome-vg

Formattare il nuovo LV appena creato:

:~# mkfs.ext4 /dev/Nome-vg/NomeNuovo-lv

Creare quindi il mount point per il nuovo LV creato:

:~# mkdir /opt/NomeMountPoint

Aggiungere il nuovo MountPoint nel file di configurazione /etc/fstab:

:~# vi /etc/fstab

Montare il nuovo volume:

:~# mount /opt/NomeMountPoint

e dare un df -h per verificare se tutto è stato fatto correttamente.

b) Per estendere il Logical Volume "namevg/root" utilizzando tutto lo spazio disponibile

:~# lvextend /dev/nome-vg/nome-lv /dev/sdb

Extending logical volume root to XX.XX GiB

La partizione ora ha la nuova dimensione, rimane solo da "istruire" il filesystem circa la nuova dimensione disco disponibile

:~# resize2fs /dev/nome-vg/nome-lv

(in base alla dimensione del disco aggiunto può impiegarci parecchi minuti)

Riassunto:
----------
pvcreate /dev/sdb

vgextend namevg /dev/sdb

lvextend /dev/namevg/root /dev/sdb

resize2fs /dev/namevg/root