4.4.9. Come estendere un volume striped
Per aumentare la dimensione di un volume logico striped, è necessario avere a disposizione spazio libero sufficiente sui physical volume che costituiscono il gruppo di volumi per supportare la banda. Per esempio, se siete in possesso di una banda a due vie la quale utilizza un intero gruppo di volumi, l'aggiunta di un physical volume singolo al gruppo di volumi non vi permetterà di estendere la banda stessa. Al contrario, sarà necessario aggiungere almeno due physical volume al gruppo di volumi.
Per esempio, considerate un gruppo di volumi
vg
il quale consiste in due physical volume, come mostrato dal seguente comando vgs
.
# vgs
VG #PV #LV #SN Attr VSize VFree
vg 2 0 0 wz--n- 271.31G 271.31G
È possibile creare una banda utilizzando l'intera quantità di spazio nel gruppo di volumi.
#lvcreate -n stripe1 -L 271.31G -i 2 vg
Using default stripesize 64.00 KB Rounding up size to full physical extent 271.31 GB Logical volume "stripe1" created #lvs -a -o +devices
LV VG Attr LSize Origin Snap% Move Log Copy% Devices stripe1 vg -wi-a- 271.31G /dev/sda1(0),/dev/sdb1(0)
Da notare che ora il gruppo di volumi non possiede più spazio libero.
# vgs
VG #PV #LV #SN Attr VSize VFree
vg 2 1 0 wz--n- 271.31G 0
Il seguente comando aggiunge un altro Physical Volume al gruppo di volumi, il quale avrà 135G di spazio aggiuntivo.
# vgextend vg /dev/sdc1 Volume group "vg" successfully extended # vgs VG #PV #LV #SN Attr VSize VFree vg 3 1 0 wz--n- 406.97G 135.66G
A questo punto non sarà possibile estendere il volume logico striped alla dimensione completa del gruppo di volumi, poichè i dispositivi interessati sono necessari per inserire i dati all'interno delle bande.
# lvextend vg/stripe1 -L 406G
Using stripesize of last segment 64.00 KB
Extending logical volume stripe1 to 406.00 GB
Insufficient suitable allocatable extents for logical volume stripe1: 34480
more required
Per estendere un volume logico striped, aggiungete prima un altro physical volume e successivamente estendete il volume logico. In questo esempio, dopo l'aggiunta di due physical volume al gruppo di volumi, sarà possibile estendere il volume logico 5A alla dimensione completa del gruppo di volumi.
#vgextend vg /dev/sdd1
Volume group "vg" successfully extended #vgs
VG #PV #LV #SN Attr VSize VFree vg 4 1 0 wz--n- 542.62G 271.31G #lvextend vg/stripe1 -L 542G
Using stripesize of last segment 64.00 KB Extending logical volume stripe1 to 542.00 GB Logical volume stripe1 successfully resized
Se non siete in possesso di un numero sufficiente di dispositivi fisici per poter estendere il volume logico striped, sarà comunque possibile estendere il volume se l'estensione in questione non è striped, tale procedura potrebbe dar luogo ad una prestazione non bilanciata. Durante l'aggiunta di spazio sul volume logico, l'operazione di default utilizza gli stessi parametri usati per lo strpping dell'ultimo segmento del volume logico esistente. Vi ricordiamo che i suddetti parametri possono essere sovrascritti. Nel seguente esempio il volume logico striped viene esteso in modo da utilizzare lo spazio libero restante dopo il fallimento del comando
lvextend
iniziale.
#lvextend vg/stripe1 -L 406G
Using stripesize of last segment 64.00 KB Extending logical volume stripe1 to 406.00 GB Insufficient suitable allocatable extents for logical volume stripe1: 34480 more required #lvextend -i1 -l+100%FREE vg/stripe1