I filesystem di tipo LVM sono molto comodi in quanto permettono di avere delle partizioni di tipo dinamico su ambienti server e non.
Vantaggi dell’uso di LVM
I vantaggi di utilizzare LVM rispetto un partizionamento classico sono numerosi:
- Capacità totale espandibile senza spostamento dei dati
- Allocazione dinamica dello spazio senza riformattazione, inclusa l’aggiunta, rimozione e sostituzione dei dischi
- Associazione di nomi a un gruppo di dispositivi, senza preoccuparsi di quali partizioni vengano usate per fornire un gruppo di volumi
- Ripartizione (striping) dei dati su più dischi
- Clonazione (mirroring) dei volumi
- Creazione di istantanee (snapshot) di un volume logico per avere delle copie dei dati uguali al momento dell’istantanea
Espandere un logical volume LVM
Questo suggerimento spiega come espandere un volume logico esistente con l’aggiunta di un nuovo nuovo volume fisico ad un gruppo di volumi tramite LVM. I pacchetti e2fsprogs e lvm2 sono richiesti per seguire i seguenti steps, ma questi pacchetti sono obbligatorie sui sistemi che utilizzano ext2/ext3 su un volume logico LVM2.
Situazione
Volume group: TestGroup
Logical volume: TestHome
Physical storage da aggiungere: /dev/sda5 di tipo “Linux LVM”
Aggiungere un device fisico per usarlo con LVM
Aggiungere /dev/sda5 come un physical volume che può essere usato in LVM:
# pvcreate /dev/sda5
Aggiungere il physical volume al volume group
Aggiungere questo physical volume al volume group “TestGroup”:
# vgextend "TestGroup" /dev/sda5 Volume group "TestGroup" successfully extended
Determinare la dimensione del volume esteso
Recuperare le informazioni del volume group prima:
# vgdisplay --- Volume group --- VG Name TestGroup System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 4 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 2 Act PV 2 VG Size 72.59 GB PE Size 32.00 MB Total PE 2323 Alloc PE / Size 1129 / 35.28 GB Free PE / Size 1194 / 37.31 GB VG UUID 6OXHId-sean-ZBR2-wuOy-yjVR-cQeB-PJIvrD
Possiamo vedere che 1129 dei 2323 physical extends (PE) sono in uso. Ma ci sono due logical volumes, dobbiamo verificare la dimensione del volume che vogliamo estendere:
# lvdisplay /dev/TestGroup/TestHome --- Logical volume --- LV Name /dev/TestGroup/TestHome VG Name TestGroup LV UUID RQtp4K-Wca2-uivW-3rVn-GfZE-hYea-KKH5pT LV Write Access read/write LV Status available # open 1 LV Size 33.34 GB Current LE 1067 Segments 1 Allocation inherit Read ahead sectors 0 Block device 253:0
Il size corrente è 1067 e noi abbiamo 1194 free PE, il nuovo volume avrà una dimensione di 1067 + 1194 = 2261.
Extending the volume
Ora possiamo estendere facilmente il volume, specificando il nuovo numero di PEs:
# lvm lvresize -l 2261 /dev/TestGroup/TestHome Extending logical volume TestHome to 70.66 GB Logical volume TestHome successfully resized
Resizing the filesystem
Il volume ora è stato esteso, ma il filesystem continua ad avere la precedente dimensione. Abbiamo 2 opzioni per espanderlo:
- Eseguire un umount del volume , usare resize2fs ed rieseguire un mount:
# umount /dev/TestGroup/TestHome # resize2fs /dev/TestGroup/TestHome # mount /dev/TestGroup/TestHome
- O eseguire un resize senza eseguire un umount del device (le applicazioni possono continuare a scrivere e leggere i dati sul disco), a.k.a online resizing :
CentOS 4
# ext2online /dev/TestGroup/TestHome
CentOS 5 o Debian 6/7/8
# resize2fs /dev/TestGroup/TestHome