CentOS 8 увеличение LVM раздела
Ранее мы с вами установили CentOS 8. Но что делать, если размера диска оказалось недостаточно? К счастью, эта операционная система по умолчанию использует LVM и в этой статье мы рассмотрим на примере CentOS 8 увеличение LVM раздела. Данная процедура практически не отличается от действий в предыдущих версиях данной ОС.
Вводные данные
Наша CentOS 8 установлена на Hyper-V. Для начала проверим размер файловой системы, выполнив df -h (все команды выполняются от root пользователя):
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 353M 0 353M 0% /dev
tmpfs 368M 0 368M 0% /dev/shm
tmpfs 368M 5.2M 363M 2% /run
tmpfs 368M 0 368M 0% /sys/fs/cgroup
/dev/mapper/cl-root 6.2G 2.3G 4.0G 37% /
/dev/sda1 976M 128M 782M 15% /boot
tmpfs 74M 0 74M 0% /run/user/0
LVM том имеет размер 6.2 гигабайта и смонтирован в корневой каталог /, его мы и будем увеличивать.
Посмотрим вывод fdisk -l:
# fdisk -l
Disk /dev/sda: 8 GiB, 8589934592 bytes, 16777216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xde6ef740
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 16777215 14678016 7G 8e Linux LVM
Disk /dev/mapper/cl-root: 6.2 GiB, 6652166144 bytes, 12992512 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/mapper/cl-swap: 820 MiB, 859832320 bytes, 1679360 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
В данном примере у нас 1 диск /dev/sda размером 8 гигабайт, который разбит на 2 логических: загрузочный /dev/sda1 и /dev/sda2 с типом Linux LVM – он нас и интересует.
к содержанию ↑Увеличение размера диска
В среде виртуализации увеличиваем размер жесткого диска и перезагружаем систему. Я увеличил диск до 10 гигабайт:
#fdisk -l
Disk /dev/sda: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xde6ef740
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 16777215 14678016 7G 8e Linux LVM
Disk /dev/mapper/cl-root: 6.2 GiB, 6652166144 bytes, 12992512 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/mapper/cl-swap: 820 MiB, 859832320 bytes, 1679360 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
к содержанию ↑
Создание раздела
После увеличения размера диска необходимо создать новый раздел. Выполним fdisk /dev/sda, где /dev/sda – метка нашего диска (Disk /dev/sda):
# fdisk /dev/sda
Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help):
Вводим n – создание нового раздела:
Command (m for help): n
Далее указываем тип – основной p:
Partition type
p primary (2 primary, 0 extended, 2 free)
e extended (container for logical partitionsSelect (default p): p
Нас просят указать номер раздела, по умолчанию – это следующий с номером 3:
Partition number (3,4, default 3):3
Далее указываются начальный и конечный сектор. Обязательно проверьте, чтобы они совпадали со значениям, указанными через дефис. Таким образом мы используем все неразмеченное пространство:
First sector (16777216-20971519, default 16777216):16777216
Last sector, +sectors or +size{K,M,G,T,P} (16777216-20971519, default 20971519):20971519
Created a new partition 3 of type 'Linux' and of size 2 GiB.
Как видим, был создан раздел на 2 гигабайта с типом Linux. Изменим тип по умолчанию на Linux LVM. Для этого используем команду t, указываем, тип какого раздела мы хотим изменить (в данном случае 3) и вводим его код в шестнадцатеричной системе 8e:
Command (m for help): t
Partition number (1-3, default 3): 3
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'
Командой p посмотрим, что у нас получилось:
Command (m for help): p
Disk /dev/sda: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xde6ef740
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 16777215 14678016 7G 8e Linux LVM
/dev/sda3 16777216 20971519 4194304 2G 8e Linux LVM
Отлично! Мы создали раздел /dev/sda3 размером 2 гигабайта. Осталось только сохранить изменения командой w. После этого fdisk автоматически закроется:
Command (m for help): w
The partition table has been altered.
Syncing disks.
к содержанию ↑
CentOS 8 увеличение LVM
Для использования созданного тома в LVM инициализируем его командой pvcreate:
# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created.
Посмотрим название группы томов, в которою необходимо добавить раздел. Для это воспользуемся vgdisplay. По умолчанию – это cl:
# vgdisplay
--- Volume group ---
VG Name cl
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size <7.00 GiB
PE Size 4.00 MiB
Total PE 1791
Alloc PE / Size 1791 / <7.00 GiB
Free PE / Size 0 / 0
VG UUID XwDF6A-wEWR-uazD-t4bz-bOMI-3z2L-VXCczx
Добавляем наш раздел в данную группу:
# vgextend cl /dev/sda3
Volume group "cl" successfully extended
С помощью lvdisplay смотрим название и путь к логическому тому, который необходимо расширить (по умолчанию это root и /dev/cl/root):
# lvdisplay
--- Logical volume ---
LV Path /dev/cl/swap
LV Name swap
VG Name cl
LV UUID 9cy6VE-EIXf-ky21-S55C-TGkH-mkYb-rTtCsU
LV Write Access read/write
LV Creation host, time localhost, 2019-10-17 08:32:49 +0300
LV Status available
# open 2
LV Size 820.00 MiB
Current LE 205
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
--- Logical volume ---
LV Path /dev/cl/root
LV Name root
VG Name cl
LV UUID kM68mo-2vZr-3zDP-Sfyc-TlAp-QQb7-XTh0X0
LV Write Access read/write
LV Creation host, time localhost, 2019-10-17 08:32:50 +0300
LV Status available
# open 1
LV Size <6.20 GiB
Current LE 1586
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
Теперь расширим его. Для этого lvextend указываем путь к логическому тому и параметр -l +100%FREE, который говорит о том, что мы хотим использовать 100% свободного места:
# lvextend -l +100%FREE /dev/cl/root
Size of logical volume cl/root changed from <6.20 GiB (1586 extents) to 8.19 GiB (2097 extents).
Logical volume cl/root successfully resized.
Остался последний шаг – расширить файловую систему. Если у вас файловая система xfs (используется на Centos 8 по-умолчанию), то выполним xfs_growfs:
# xfs_growfs /dev/mapper/cl-root
meta-data=/dev/mapper/cl-root isize=512 agcount=4, agsize=406016 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=1624064, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log 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 1624064 to 2147328
Если ext4, то воспользуемся resize2fs:
# resize2fs -p /dev/mapper/cl-root
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/mapper/cl-root is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/mapper/cl-root to 2147328 (4k) blocks.
The filesystem on /dev/mapper/cl-root is now 2147328 blocks long.
Проверяем результат:
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 353M 0 353M 0% /dev
tmpfs 368M 0 368M 0% /dev/shm
tmpfs 368M 5.1M 363M 2% /run
tmpfs 368M 0 368M 0% /sys/fs/cgroup
/dev/mapper/cl-root 8.2G 2.3G 6.0G 28% /
/dev/sda1 976M 128M 782M 15% /boot
tmpfs 74M 0 74M 0% /run/user/0
Как видим, в CentOS 8 увеличение LVM раздела – не такая уж и сложная задача.