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