Изменение размера томов LVM

Одним из основных преимуществ использования LVM является простота изменения размеров томов LVM, что очень полезно, если в вашей файловой системе заканчивается свободное место на диске.

Если используется файловая система XFS, объем можно увеличить, но не уменьшить. Другие файловые системы, такие как Ext4 и Btrfs, поддерживают уменьшение размера файловой системы.
Уменьшение файловой системы Ext4 может быть выполнено только в автономном режиме, что означает, что вам нужно размонтировать ее, прежде чем вы сможете изменить ее размер. В этой статье вы узнаете, как увеличить размер логического тома LVM.




Подготовка к добавлению

Итак. Мы добавили в систему диск. Командой fdisk создали раздел, пометили его как LVM и назначили ему файловую систему XFS.

Командой pvsвидим наш чистый том /dev/sdc1
[root@server2 ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda2  centos lvm2 a--  <19.57g   4.00m
  /dev/sdb1  vgDATA lvm2 a--  <20.00g      0
  /dev/sdc1         lvm2 ---  <10.00g <10.00g

Осталось добавить его в общее групповое хранилище и добавить к нему наш логический том /dev/sdc1.

Добавление хранилища в VG

  • vgextend добавить хранилище в VG.
  • vgreduce удалить хранилище из VG.

[root@server2 ~]# vgextend vgDATA /dev/sdc1
  Volume group "vgDATA" successfully extended

[root@server2 ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree
  centos   1   2   0 wz--n- <19.57g   4.00m
  vgDATA   2   1   0 wz--n-  29.99g <10.00g

Физический том в 10g добавлен, но не используется в логическом томе.

Смотрим логический том:
[root@server2 ~]# lvs
  LV     VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root   centos -wi-ao---- <18.63g
  swap   centos -wi-ao---- 956.00m
  lvDATA vgDATA -wi-ao---- <20.00g

[root@server2 ~]# df -h
Filesystem                 Size  Used Avail Use% Mounted on
/dev/mapper/centos-root     19G  5.6G   14G  30% /
devtmpfs                   1.9G     0  1.9G   0% /dev
tmpfs                      1.9G     0  1.9G   0% /dev/shm
tmpfs                      1.9G  792K  1.9G   1% /run
tmpfs                      1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda1                  470M  209M  262M  45% /boot
tmpfs                      379M     0  379M   0% /run/user/0
/dev/mapper/vgDATA-lvDATA   20G   33M   20G   1% /mnt/lvDATA

Как видно, все еще используется 20g.

Чтобы увеличить размер логического тома, используйте lvresize, затем идет опция -r, чтобы изменить размер файловой системы:
[root@server2 ~]# lvresize -r -l +100%FREE /dev/vgDATA/lvDATA
  Size of logical volume vgDATA/lvDATA changed from <20.00 GiB (5119 extents) to 29.99 GiB (7678 extents).
  Logical volume vgDATA/lvDATA successfully resized.
meta-data=/dev/mapper/vgDATA-lvDATA isize=512    agcount=4, agsize=1310464 blks
         =                       sectsz=4096  attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=5241856, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 5241856 to 7862272

Смотрим суммарную статистику логического тома:
[root@server2 ~]# lvs
  LV     VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root   centos -wi-ao---- <18.63g
  swap   centos -wi-ao---- 956.00m
  lvDATA vgDATA -wi-ao----  29.99g

Убеждаемся, что логический том lvDATA стал на 10g больше.

Примеры

Изменяет размер логического тома, чтобы он занимал 75% общего дискового пространства в группе томов.
lvresize -r -l 75% VG /dev/vgdata/lvdata

Попытается добавить 75% от общего размера группы томов к логическому тому. (Обратите внимание на разницу с предыдущей командой.).
lvresize -r -l +75%VG /dev/vgdata/lvdata

Добавляет 75% всего свободного дискового пространства к логическому тому.
lvresize -r -l +75%FREE /dev/vgdata/lvdata

Изменяет размер логического тома до общего размера, равного 75% объема свободного дискового пространства. (Обратите внимание на разницу с предыдущей командой.).
lvresize -r -l 75%FREE /dev/vgdata/lvdata

При изменении размера логического тома вы также можете использовать опцию -l, после которой указывается количество логических экстентов, которые вы хотите добавить или удалить.

Логическим экстентом является логический строительный блок, используемый при создании логических томов, который сопоставляется с физическим экстентом, размер которого можно указать при создании группы томов. Все операции по изменению размера должны соответствовать полным логическим экстентам. Иногда вы заметите, что размер изменения размера округляется в большую или меньшую сторону до размера логического экстента. Вы также можете указать количество логических экстентов, которые должны быть добавлены или удалены напрямую, используя опцию -l с командой lvresize.

Как видите, изменение размера логического тома имеет много опций, и вам нужно позаботиться об использовании правильных опций, потому что легко ошибиться!

Добавить комментарий