Инструменты пользователя

Инструменты сайта


linux:lvm:how_to_increase_free_space

Как увеличить свободное пространство для раздела в LVM?

Для начало посмотрим что у нас есть на сервере

lsblk
NAME                  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                     8:0    0   20G  0 disk 
├─sda1                  8:1    0    1G  0 part /boot
└─sda2                  8:2    0   19G  0 part 
  ├─vg_system-lv_root 253:0    0    4G  0 lvm  /
  ├─vg_system-lv_swap 253:1    0    2G  0 lvm  [SWAP]
  ├─vg_system-lv_var  253:2    0    6G  0 lvm  /var
  ├─vg_system-lv_home 253:3    0    1G  0 lvm  /home
  ├─vg_system-lv_opt  253:4    0    2G  0 lvm  /opt
  └─vg_system-lv_tmp  253:5    0    3G  0 lvm  /tmp
sdb                     8:16   0   50G  0 disk 
sr0                    11:0    1 1024M  0 rom  

На сервере есть неиспользуемы диск

sdb                     8:16   0   50G  0 disk

Создание LVM разделов

Итак, у нас имеется виртуальная машина, к которой подключен один дополнительный диск. Проверим, что он доступен в системе, используя команду:

[root@d00statusrabbitmq01 status.rtlabs.ru]# fdisk -l
 
Disk /dev/sdb: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
 
 
Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Чтобы диск был доступен для LVM, его нужно пометить (инициализировать) утилитой pvcreate:

pvcreate /dev/sdb

Теперь, чтобы убедиться, что данный диск можно использовать для LVM, введите команду pvdisplay:

[root@d00statusrabbitmq01 status.rtlabs.ru]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               vg_system
  PV Size               <19,00 GiB / not usable 3,00 MiB
  Allocatable           yes 
  PE Size               4,00 MiB
  Total PE              4863
  Free PE               255
  Allocated PE          4608
  PV UUID               GjRKl3-dxVG-TDzL-3pAO-IqM1-M1oT-NRpWW2
 
  --- Physical volume ---
  PV Name               /dev/sdb
  VG Name               vg_system
  PV Size               50,00 GiB / not usable 4,00 MiB
  Allocatable           yes (but full)
  PE Size               4,00 MiB
  Total PE              12799
  Free PE               0
  Allocated PE          12799
  PV UUID               C8Ql0r-mNNe-2ZAl-ElqD-Ntr3-AfiU-BMsARv

Как видим, оба диска отображаются. Разберем информацию из вывода команды:

  • PV Name – имя диска или раздела
  • VG Name – группа томов, в которую данный диск входит (мы пока группу не создали)
  • PV Size – размер диска или размера
  • Allocatable – распределение по группам. В нашем случае распределения не было, поэтому указано NO
  • PE Size – размер физического фрагмента. Если диск не добавлен ни в одну группу, значение всегда будет 0
  • Total PE – количество физических фрагментов
  • Free PE — количество свободных физических фрагментов
  • Allocated PE – распределенные фрагменты
  • PV UUID – идентификатор раздела

С помощью команды pvscan вы можете просканировать диски на предмет PV.

Увеличение логического тома LVM

Чтобы добавить дополнительный диск к группе томов, нужно воспользоваться уже знакомой схемой:

инициализация диска для lvm

[root@d00statusrabbitmq01 status.rtlabs.ru]# pvcreate /dev/sdb
  Physical volume "/dev/sdb" successfully created.

добавление диска в группу томов

[root@d00statusrabbitmq01 status.rtlabs.ru]# vgextend vg_system /dev/sdb
  Volume group "vg_system" successfully extended

Чтобы расширить логический том, воспользуйтесь следующей схемой:

[root@d00statusrabbitmq01 status.rtlabs.ru]# lvextend /dev/vg_system/lv_var /dev/sdb
  Size of logical volume vg_system/lv_var changed from 6,00 GiB (1536 extents) to <56,00 GiB (14335 extents).
  Logical volume vg_system/lv_var successfully resized.

Данным способом вы расширите раздел на 10 Гб.

[root@d00statusrabbitmq01 status.rtlabs.ru]#lvextend -L10G /dev/vg_system/lv_var /dev/sdb

Но расширить логический том еще не все. Нужно еще расширить диск с точки зрения файловой системы. Для этого используем команду xfs_growfs, которая выполняет все необходимые операции и, в зависимости от размера файловой системы может работать довольно долго:

[root@d00statusrabbitmq01 status.rtlabs.ru]# xfs_growfs /dev/vg_system/lv_var
meta-data=/dev/mapper/vg_system-lv_var isize=512    agcount=4, agsize=393216 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=1572864, 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=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 1572864 to 14679040

В итоге:

[root@d00statusrabbitmq01 status.rtlabs.ru]# df -h
Файловая система              Размер Использовано  Дост Использовано% Cмонтировано в
/dev/mapper/vg_system-lv_root   4,0G         2,3G  1,8G           58% /
devtmpfs                        3,9G            0  3,9G            0% /dev
tmpfs                           3,9G            0  3,9G            0% /dev/shm
tmpfs                           3,9G         434M  3,4G           12% /run
tmpfs                           3,9G            0  3,9G            0% /sys/fs/cgroup
/dev/sda1                      1014M         145M  870M           15% /boot
/dev/mapper/vg_system-lv_home  1014M          33M  982M            4% /home
/dev/mapper/vg_system-lv_opt    2,0G          33M  2,0G            2% /opt
/dev/mapper/vg_system-lv_tmp    3,0G          33M  3,0G            2% /tmp
/dev/mapper/vg_system-lv_var     56G         5,8G   51G           11% /var
tmpfs                           782M            0  782M            0% /run/user/0
overlay                          56G         5,8G   51G           11% /var/lib/docker/overlay2/ca58d3ff58e1ea872ed3d585d45b8256c3dcace31d0094ba68ed9a82ffc722df/merged
overlay                          56G         5,8G   51G           11% /var/lib/docker/overlay2/b2c0a2ccd6e7644c44ed5b641184e20be2be38f06b1d894db4c2b24ba109ea74/merged
overlay                          56G         5,8G   51G           11% /var/lib/docker/overlay2/bfdc04ed9243c5bf504bc695dce065722c3eb3ce2f19d6b6e790d88471d31732/merged
overlay                          56G         5,8G   51G           11% /var/lib/docker/overlay2/fe40eba3660d8a80842938c6277ccb3d39b16f5c8756052f62f8c3b922652824/merged
overlay                          56G         5,8G   51G           11% /var/lib/docker/overlay2/b98d8708c7a948a3a311f6083fd4c3a8f2d06a2e76854421d97594ba7ed1a9f2/merged
overlay                          56G         5,8G   51G           11% /var/lib/docker/overlay2/62e2eea2536cb24fe0b5819ea08bc9f636586eccde286be8598071147d85fd3f/merged
linux/lvm/how_to_increase_free_space.txt · Последние изменения: 2024/01/29 00:34 — werwolf