Come estendere un disco LVM su Ubuntu

Cerca

In uno scenario tipico in cui si è eseguita una installazione di Ubuntu lasciando i settaggi di default, la gestione dello storage è certamente con LVM. LVM è un abstraction framework che si interpone tra il disco fisico (o virtuale) e il file system di Linux (generalmente ext4). Grazie ad LVM è possibile raggruppare partizioni distinte sotto l’egida di uno o più Volume Group (VG) e poi eventualmente suddividere i Volume Group in Logical Volumes (LV).

Estendere un disco LVM

Come prima cosa lanciamo il seguente comando per verificare quanto spazio abbiamo a disposizione da aggiungere al nostro disco LVM

				
					df -h
				
			

Nel mio scenario lo spazio del mio disco LVM è ormai saturo

				
					Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              593M  1.4M  591M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv  9.8G  9.7G     0 100% /
tmpfs                              2.9G     0  2.9G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
/dev/sda2                          1.7G  129M  1.5G   8% /boot
tmpfs                              593M  4.0K  593M   1% /run/user/1000
tmpfs                              1.0M     0  1.0M   0% /var/snap/lxd/common/ns
				
			

Con il seguente comando controlliamo se c’è spazio disponibile sul nostro Volume Group

				
					vgdisplay
				
			

Nel mio scenario ho uno spazio disponibile di 4.25 GB

				
					  --- Volume group ---
  VG Name               ubuntu-vg
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <14.25 GiB
  PE Size               4.00 MiB
  Total PE              3647
  Alloc PE / Size       2560 / 10.00 GiB
  Free  PE / Size       1087 / <4.25 GiB
  VG UUID               286phs-QWZr-f7nx-aG2M-2PkD-KZdv-Ngylgd
				
			

Per utilizzare l’intero spazio disponibile nel Volume Group lanciamo il seguente comando

				
					lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
				
			

Lanciamo quindi il seguente comando per assegnare tale spazio al nostro Logical Volume

				
					resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
				
			

Includere in LVM l'incremento di spazio di un disco fisico o virtuale

Questo scenario si presenta spesso quando si è espansa la capacità di un disco virtuale in KVM/VMWare/Hyper-V o quando si è lavorato sul RAID Controller incrementandone lo spazio a disposizione.

Come prima cosa lanciamo il seguente comando per controllare se il sistema ci segnala dello spazio libero

				
					cfdisk
				
			

Se non viene visualizzato spazio disco libero, ma si ha la certezza che questo debba essere presente, allora si può forzare un rescan di /dev/sda lanciando il seguente comando

				
					echo 1>/sys/class/block/sda/device/rescan
				
			

Una volta completato, sarà possibile visualizzare lo spazio disponibile lanciando nuovamente il comando

				
					cfdisk
				
			
Scegliere la partizione /dev/sda3 dalla lista, selezionare con il pulsante TAB la voce Resize e premere ENTER.

Premere di nuovo ENTER per confermare la nuova dimensione. Nel nostro scenario di esempio è 38.2G

Selezionare con il tasto TAB la voce Write dal menu posto in basso e digitare yes quando richiesto.

Ora che la partizione LVM che sta a supporto del volume fisico /dev/sda3 è stata estesa, è il momento di estendere il volume fisico stesso. Per fare ciò, lanciare il seguente comando

				
					pvresize /dev/sda3
				
			

Ottenendo un output di questo tipo

				
					  Physical volume "/dev/sda3" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized
				
			

Per verificare la nuova dimensione lanciamo ora il comando

				
					pvdisplay
				
			

Ed otterremo un output simile al seguente

				
					  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               ubuntu-vg
  PV Size               <38.25 GiB / not usable 16.50 KiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              9791
  Free PE               6144
  Allocated PE          3647
  PV UUID               IyvLpU-Hj69-Nxy2-d4V0-Utdf-WIT7-OM3zs6
				
			

Lanciamo quindi il comando per verificare il nuovo spazio libero nel Volume Group

				
					vgdisplay
				
			

Ed otteniamo un output di questo tipo

				
					  --- Logical volume ---
  LV Path                /dev/ubuntu-vg/ubuntu-lv
  LV Name                ubuntu-lv
  VG Name                ubuntu-vg
  LV UUID                VBTg3z-Am1v-vmVH-KeUo-dU8K-VGY1-As1vy1
  LV Write Access        read/write
  LV Creation host, time ubuntu-server, 2023-10-10 07:54:39 +0000
  LV Status              available
  # open                 1
  LV Size                <14.25 GiB
  Current LE             3647
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0
				
			

Estendiamo quindi il Logical Volume occupando tutto lo spazio nuovo disponibile lanciando il seguente comando

				
					lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
				
			

A questo punto il block volume alla base del nostro root file system è stato esteso, ma il file system in se non è ancora stato ridimensionato per coincidere con quel volume. Possiamo verificare ciò lanciando il comando

				
					df -h
				
			

Noteremo che lo spazio disponibile a livello di file system è ancora immutato

				
					Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              593M  1.4M  591M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   14G  7.0G  6.3G  53% /
tmpfs                              2.9G     0  2.9G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
/dev/sda2                          1.7G  129M  1.5G   8% /boot
tmpfs                              593M  4.0K  593M   1% /run/user/1000
tmpfs                              1.0M     0  1.0M   0% /var/snap/lxd/common/ns
				
			

Lanciamo quindi il seguente comando per ridimensionarlo

				
					resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
				
			

A questo punto possiamo verificare la nuova dimensione del file system lanciando un’altra volta il comando

				
					df -h
				
			

Il nuovo file system sarà ora di maggior dimensione

				
					Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              593M  1.4M  591M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   38G  7.0G   29G  20% /
tmpfs                              2.9G     0  2.9G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
/dev/sda2                          1.7G  129M  1.5G   8% /boot
tmpfs                              593M  4.0K  593M   1% /run/user/1000
tmpfs                              1.0M     0  1.0M   0% /var/snap/lxd/common/ns
				
			

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Most Recent

Come aggiornare mailcow

In questo scenario viene illustrato come eseguire l’aggiornamento di un’istanza di mailcow dockerized utilizzando i tools in esso integrati. Aggiornamento automatico Nella directory di mailcow-dockerized

Partners