Розширення LVM-диска без зміни його структури
Примітка
Менеджер логічних томів (LVM) — підсистема Linux та OS/2, яка дає змогу використовувати різні області одного або кількох фізичних дисків як один логічний том. Вона реалізована за допомогою підсистеми device mapper. LVM створює рівень абстракції між фізичними чи логічними дисками — звичайними розділами, якими керують fdisk та аналогічні програми, — і файловою системою. Вихідні розділи перетворюються на фізичні томи (PV), об’єднуються в групу томів (VG), а потім поділяються на логічні томи (LV). Для файлової системи логічний том має вигляд звичайного блокового пристрою, хоча його фізичні томи можуть розміщуватися на кількох пристроях.
Вихідні дані
Операційна система |
Linux (Ubuntu 16.04.6 LTS) |
Файлова система |
ext4 |
Спосіб розподілу дискового простору |
LVM |
Початковий розмір диска |
5 GB |
Розмір диска після розширення |
10 GB |
Команда fdisk показує, що операційна система бачить диск /dev/vda
розміром 10 GB, але розділ LVM /dev/vda1 має розмір 5 GB:
fdisk -l /dev/vda
Disk /dev/vda: 10 GiB, 10737418240 bytes, 20971520 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
Disklabel type: dos
Disk identifier: 0x71473ce9
Device Boot Start End Sectors Size Id Type
/dev/vda1 * 2048 10483711 10481664 5G 8e Linux LVM
Після наведених нижче операцій кореневий розділ займатиме весь доступний простір диска.
Перевірте поточний стан кореневого розділу. До змін його розмір становить 4,8 GB:
df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg0-rootfs 4.8G 1.8G 2.8G 40% /
Розширте розділ
vda1до 10 GB за допомогою Parted.
Відкрийте диск командою
parted:
parted /dev/vda
Перегляньте стан диска та його розділів:
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 5368MB 5367MB primary boot, lvm
Збільште розділ № 1 з 5367 MB до максимально доступного розміру. Значення 10,7 GB наведено в описі диска на попередньому кроці:
(parted) resizepart 1
End? [5368MB]? 10.7GB
Переконайтеся, що
vda1тепер займає весь доступний простір — 10 GB:
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 10.7GB 10.7GB primary boot, lvm
Вийдіть із програми:
(parted) quit
Розширте LVM, який містить кореневий розділ.
Розширте фізичний том:
pvresize /dev/vda1
Physical volume "/dev/vda1" changed
1 physical volume(s) resized / 0 physical volume(s) not resized
Повторно проскануйте логічні томи:
lvscan
ACTIVE '/dev/vg0/rootfs' [5.00 GiB] inherit
Розширте логічний том до максимально доступного розміру. Його ім’я наведено на попередньому кроці:
lvextend /dev/vg0/rootfs -l +100%FREE
Size of logical volume vg0/rootfs changed from 5.00 GiB (1279 extents) to 9.96 GiB (2550 extents).
Logical volume rootfs successfully resized.
4. Розширте файлову систему до максимально доступного розміру, використовуючи ім’я тому з кроку 1:
resize2fs /dev/mapper/vg0-rootfs
resize2fs 1.42.13 (17-May-2015)
Filesystem at /dev/mapper/vg0-rootfs is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/mapper/vg0-rootfs is now 2611200 (4k) blocks long.
5. Переконайтеся, що зміни застосовано успішно. Поточний розмір кореневого розділу тепер становить 9,7 GB:
df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg0-rootfs 9.7G 1.9G 7.5G 20% /