Расширение диска LVM без изменения структуры
Примечание
Менеджер логических томов LVM — подсистема Linux и OS/2, объединяющая разделы одного или нескольких дисков в логические тома. LVM на базе device mapper создаёт уровень абстракции между физическими дисками или обычными разделами и файловой системой. Разделы становятся физическими томами (PV), объединяются в группу томов (VG), а та делится на логические тома (LV). Для файловой системы LV выглядит как обычное блочное устройство, хотя его данные могут располагаться на нескольких физических устройствах.
Исходные данные
Операционная система |
Linux (Ubuntu 16.04.6 LTS) |
Файловая система |
ext4 |
Способ распределения дискового пространства |
LVM |
Исходный размер диска |
5 ГБ |
Размер диска после расширения |
10 ГБ |
Команда fdisk показывает, что ОС видит диск /dev/vda размером 10 ГБ,
но раздел LVM /dev/vda1 занимает только 5 ГБ:
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
Следующие операции расширят корневой раздел на всё доступное пространство.
1. Проверьте корневой раздел. До изменения его размер составляет 4,8 ГБ:
df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg0-rootfs 4.8G 1.8G 2.8G 40% /
Расширьте раздел
vda1до 10 ГБ с помощью 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 МБ до максимального размера, указанного выше — 10,7 ГБ:
(parted) resizepart 1
End? [5368MB]? 10.7GB
Убедитесь, что
vda1занимает всё доступное пространство:
(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:
(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 ГБ:
df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg0-rootfs 9.7G 1.9G 7.5G 20% /