" itemprop="description"/>

FaciLinux

Guide Facili per Linux

Problema: uno dei volumi logici del nostro sistema è a corto di spazio. Vorremmo estendere il volume logico, ma il Volume Group associato non ha spazio disponibile.

Come fare??

La risposta è: occorre aggiungere un nuovo disco. Che il vostro sistema sia una Virtual Machine (e allora l'operazione può essere l'aggiunta di un nuovo disco virtuale) o una macchina fisica (e allora dovrete comprare un nuovo hard disk e collegarlo al sistema), cambia la procedura di aggiunta del disco, ma non la sostanza. Se serve spazio e non è possibile allocarlo dal Volume Group, allora bisogna aggiungere uno (o più) hard disk.

  • 1: Individuazione del nuovo disco

Una volta aggiunto il nuovo hard disk, con il comando lsblk possiamo controllare a quale device è stato associato il nuovo disco. Nell'esempio qui sotto, il disco aggiuntivo è /dev/sdb, che non ha un mountpoint

$ lsblk 
NAME                                            MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                                               8:0    0 238,5G  0 disk  
├─sda1                                            8:1    0   600M  0 part  /boot/efi
├─sda2                                            8:2    0     2G  0 part  /boot
└─sda3                                            8:3    0 235,9G  0 part  
  ├─mypc-root                       253:0    0  37,3G  0 lvm   
  │ └─luks-c8b84b2a-1c44-4fe4-89e3-732c025badac 253:2    0  37,2G  0 crypt /
  ├─mypc-swap                       253:1    0  14,9G  0 lvm   
  │ └─luks-da72b4f1-4d86-43e8-933d-e045a4b0d154 253:3    0  14,9G  0 crypt [SWAP]
  └─mypc-home                       253:4    0 183,7G  0 lvm   
    └─luks-c696aa66-d91a-43c8-b4c6-6f7908bd1cd4 253:5    0 183,7G  0 crypt /home
sdb                                               8:16   1   922M  0 disk  
  • 2: Inizializzazione del nuovo disco per l'uso con LVM

Il comando pvcreate inizializza un disco, o una partizione, per essere aggiunto successivamente a un LVM. Per il nostro esempio

# pvcreate /dev/sdb
  • 3: Estensione del Volume group con il nuovo disco

Ora è sufficiente usae il comando vgextend seguito dal nome del Volume Group da estendere e del disco che abbiamo inizializzato poco fa. Per il nostro esempio:

# vgextend mypc /dev/sdb
  • 4: Verifica dell'estensione

Con il comando vgdisplay seguito dal nome del nostro Volume Group possiamo verificare che lo spazio non allocato e disponibile è aumentato della dimensione del disco aggiunto.

vgdisplay mypc
  --- Volume group ---
 VG Name                      mypc
 System ID
 Format                       lvm2
 Metadata Areas               1
 Metadata Sequence No         4
 VG Access                    read/write
 VG Status                    resizable
 MAX LV                       0
 Cur LV                       3
 Open LV                      3
 Max PV                       0
 Cur PV                       1
 Act PV                       1
 VG Size                      27.01 GiB
 PE Size                      4.00 MiB
 Total PE                     6915
 Alloc PE / Size              5256 / 20.53 GiB
 Free  PE / Size              1659 / 922 MiB

Approfondimenti:

Ecco in breve come estendere una partizione logica formattata in XFS.

  • 1: Controlla lo spazio libero sul filesystem Esegui il comando df per controllare lo spazio libero residuo rimanente sul filesystem che vuoi estendere (in questo esempio il mount-point /home).
[root@linux]# df -h
Filesystem            Size  Used Avail Use% Mounted on
[..] 
/dev/mapper/vg_linux-home
                       9.7G  9.7G     0 100% /home
[..]
  • 2: Controlla lo spazio libero nel Volume Group Per poter estendere il tuo filesystem, il Volume Group deve avere spazio libero da allocare. Puoi controllare lo spazio non allocato con il comando # vgdisplay <nome-del-volume-group> Per il nostro esempio, il comando risulta come quello sottostante; la riga da controllare è "Free PE / Size":
[root@cloud home]# vgdisplay vg_linux
   --- Volume group ---
 VG Name                      vg_linux
 System ID
 Format                       lvm2
 Metadata Areas               1
 Metadata Sequence No         4
 VG Access                    read/write
 VG Status                    resizable
 MAX LV                       0
 Cur LV                       3
 Open LV                      3
 Max PV                       0
 Cur PV                       1
 Act PV                       1
 VG Size                      27.01 GiB
 PE Size                      4.00 MiB
 Total PE                     6915
 Alloc PE / Size              5256 / 20.53 GiB
 Free  PE / Size              1659 / 6.48 GiB
  • 3: Aumentare lo spazio Dal comando precedente abbiamo notato che è possibile aumentare lo spazio della nostra /home di circa 6GB. Con il comando lvextend è possibile estendere il logical volume. Restando sul nostro esempio:
# lvextend -L +6G /dev/mapper/vg_linux_home
Extending logical volume home to 15.7 GiB
Logical volume home successfully resized
  • 4: Non è finita, estendere il filesystem Ok, abbiamo ridimensionato il logical volume, cioè il contenitore su cui abbiamo creato il nostro filesystem XFS, ma non abbiamo acora esteso il filesystem stesso. XFS è un filesystem moderno, e con un semplice comando, xfs_growfs, è possibile ridimensionare il filesystem e informare il sistema operativo di usare la nuova dimensione:
# xfs_growfs /dev/mapper/vg_linux_home
  • 5: Verifica Diamo nuovamente il comando df per verificare che l'estensione del filesystem sia avvenuta con successo.
Filesystem            Size  Used Avail Use% Mounted on
[..] 
/dev/mapper/vg_linux-home
                       15.7G  9.7G     0 62% /home
[..]

Approfondimenti:

  1. Come estendere un Volume Group se non c'è più spazio disponibile?
  2. Come estendere un Logical Volume formattato in ext4?
Gli articoli presenti in questo sito sono di proprietà degli autori di FaciLinux
Idee, consigli? Scrivici su
info-at-berretto.eu
Questo blog è basato su HTMLy