Розширення 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

Після наведених нижче операцій кореневий розділ займатиме весь доступний простір диска.

  1. Перевірте поточний стан кореневого розділу. До змін його розмір становить 4,8 GB:

df -h /

    Filesystem                  Size   Used  Avail Use% Mounted on
    /dev/mapper/vg0-rootfs      4.8G  1.8G  2.8G  40% /
  1. Розширте розділ 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
  1. Розширте 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% /