4.4.12. Увеличение размера логических томов

lvextend позволяет увеличить размер логического тома.
Можно задать объем для увеличения тома или точный размер тома уже после увеличения.
Пример увеличения логического тома /dev/myvg/homevol до 12 гигабайт:
# 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
Следующая команда добавит еще один гигабайт в /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
Аргумент -l позволяет указать число экстентов для добавления в том. Также можно указать процент от общего размера группы томов или незанятого пространства. Приведенная ниже команда увеличит том testlv, выделив ему все нераспределенное пространство в группе myvg.
[root@tng3-1 ~]# lvextend -l +100%FREE /dev/myvg/testlv
  Extending logical volume testlv to 68.59 GB
  Logical volume testlv successfully resized
После увеличения тома необходимо увеличить размер его файловой системы.
Большинство стандартных утилит файловой системы по умолчанию нарастят файловую систему так, чтобы ее размер соответствовал размеру логического тома.

4.4.12.1. Увеличение тома с чередованием

Чтобы увеличить размер логического тома, использующего чередование, необходимо иметь достаточно пространства на физических томах в его основе. К примеру, в случае двухстороннего чередования, в котором занята целая группа томов, добавление нового физического тома в группу не позволит увеличить размер сегмента чередования — придется добавить как минимум два физических тома.
Возьмем в качестве примера группу vg, состоящую из двух физических томов.
# vgs
  VG   #PV #LV #SN Attr   VSize   VFree
  vg     2   0   0 wz--n- 271.31G 271.31G
Новый сегмент чередования может занимать все доступное в группе место.
# 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)
После этого в группе не останется свободного пространства.
# vgs
  VG   #PV #LV #SN Attr   VSize   VFree
  vg     2   1   0 wz--n- 271.31G    0
Следующая команда добавит новый физический том в группу, тем самым увеличив ее размер на 135 гигабайт.
# 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
На данном этапе увеличить объем тома с чередованием до максимального размера группы нельзя, так как для организации чередования необходимо два физических устройства.
# 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
Надо добавить еще один физический том и уже после этого можно будет увеличить размер логического тома.
# 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
Если в вашем распоряжении нет необходимого числа физических устройств, все же можно увеличить объем логического тома, не используя при этом чередование. При наращивании тома по умолчанию используются параметры чередования последнего сегмента существующего логического тома, что можно переопределить. Следующий пример расширяет существующий том так, чтобы в случае неудачи команды lvextend использовалось все свободное пространство.
# 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