4.4.12. Cómo aumentar los volúmenes lógicos

Para incrementar el tamaño de los volúmenes lógicos, utilice el comando lvextend.
Cuando extienda el volumen lógico, puede especificar cuánto desea añadir al volumen o qué tan grande desea que el volumen sea después de la extensión.
El siguiente comando extiende el volumen lógico /dev/myvg/homevol a 12 GB.
# lvextend -L12G /dev/myvg/homevol 
lvextend -- extending logical volume "/dev/myvg/homevol" to 12 GB
lvextend -- doing automatic backup of volume group "myvg"
lvextend -- logical volume "/dev/myvg/homevol" successfully extended
El siguiente comando añade otro gigabyte al volumen lógico /dev/myvg/homevol.
# lvextend -L+1G /dev/myvg/homevol
lvextend -- extending logical volume "/dev/myvg/homevol" to 13 GB
lvextend -- doing automatic backup of volume group "myvg"
lvextend -- logical volume "/dev/myvg/homevol" successfully extended
Del mismo modo que lvcreate, puede utilizar la opción -l del comando lvextend para especificar el número de extensiones con las cuales incrementar el tamaño del volumen lógico. Puede asimismo utilizar el argumento para especificar un porcentaje del grupo de volúmenes o un porcentaje del espacio libre del grupo de volúmenes. El siguiente comando extiende el volumen lógico para llenar todo el espacio sin asignar del grupo de volúmenes myvg.
[root@tng3-1 ~]# lvextend -l +100%FREE /dev/myvg/testlv
  Extending logical volume testlv to 68.59 GB
  Logical volume testlv successfully resized
Después de extender el volumen lógico, es necesario incrementar el tamaño del sistema de archivos para que coincida.
Por defecto, la mayoría de herramientas para redimensionar los sistemas de archivos incrementarán en sistema de archivos al tamaño del volumen lógico subyacente. Así, no es necesario especificar el mismo tamaño para cada uno de los dos comandos.

4.4.12.1. Cómo extender un volumen entrelazado

Para incrementar el tamaño de un volumen lógico entrelazado, debe haber suficiente espacio libre en el volumen físico subyacente que conforma el grupo de volúmenes donde está en enlace. Por ejemplo, si tiene dos enlaces que utilizan un grupo de volúmenes en su totalidad, un solo volumen físico añadido al grupo de volúmenes no es suficiente para extender el enlace. Es necesario añadir al menos dos volúmenes físicos al grupo de volúmenes.
Por ejemplo, considere un grupo de volúmenes vg conformado de dos volúmenes físicos como se muestra con el siguiente comando vgs.
# vgs
  VG   #PV #LV #SN Attr   VSize   VFree
  vg     2   0   0 wz--n- 271.31G 271.31G
Puede crear un enlace utilizando todo el espacio en un grupo de volúmenes.
# 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)
Tenga en cuenta que el grupo de volúmenes ahora no tiene más espacio libre.
# vgs
  VG   #PV #LV #SN Attr   VSize   VFree
  vg     2   1   0 wz--n- 271.31G    0
El siguiente comando añade otro volumen físico al grupo de volúmenes, el cual tiene ahora 135G de espacio adicional
# 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
En este momento no se puede extender el volumen lógico entrelazado al tamaño total del grupo de volúmenes porque se necesitan dos dispositivos subyacentes para enlazar los datos.
# 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
Para extender el volumen lógico entrelazado, añada otro volumen físico y luego extienda el volumen lógico. En este ejemplo, después de añadir dos volúmenes físicos al grupo de volúmenes podemos extender el volumen lógico del grupo de volúmenes.
# 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
Si no tiene suficientes dispositivos físicos para extender el volumen lógico entrelazado, se puede extender el volumen de todas maneras si no importa que la extensión no sea entrelazada. Esto puede conllevar a un rendimiento desbalanceado. Cuando se añade espacio al volumen lógico, la operación predeterminada es utilizar los mismos parámetros de enlace usados en el último segmento del volumen lógico existente. Sin embargo, usted puede sobrescribir esos parámetros. El siguiente ejemplo extiende el volumen lógico entrelazado para utilizar el espacio libre restante después de que el comando lvextend inicial falla.
# 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