Назад | Перейти на главную страницу

Расширьте LVM, когда все 4 основных раздела заняты

Меня попросили увеличить размер диска управляемого LVM сервера CentOS (виртуального). Текущая таблица разделов выглядит следующим образом:

Disk /dev/vda: 429.5 GB, 429496729600 bytes, 838860800 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 label type: dos
Disk identifier: 0x000ba858

Device Boot Start End Blocks Id System
/dev/vda1 * 2048 1026047 512000 83 Linux
/dev/vda2 1026048 104857599 51915776 8e Linux LVM
/dev/vda3 104857600 314572799 104857600 8e Linux LVM
/dev/vda4 314572800 629145599 157286400 8e Linux LVM

Всего имеется 4 основных раздела и около 100 ГБ свободного места. Поскольку максимально допустимое количество основных разделов ограничено 4, добавить новый нельзя.

При использовании разделов ext4 я думаю, что мог бы просто использовать fdisk, удалить / dev / vda4 и повторно добавить его с той же начальной позицией, но с новой конечной позицией. Однако LVM - не моя сильная сторона. Смогу ли я сделать то же самое с LVM? Я предполагаю, что также нужно будет вызвать lvextend команда, а также resize2fs/xfs_growfs потом?

Вывод lvdisplay:

  --- Logical volume ---
  LV Path                /dev/vg_directadmin/swap
  LV Name                swap
  VG Name                vg_directadmin
  LV UUID                qD1ib9-TAqx-gkKb-9ybC-Jg7g-653o-dDehoj
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2015-07-08 15:02:22 +0200
  LV Status              available
  # open                 2
  LV Size                1.00 GiB
  Current LE             256
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/vg_directadmin/lv_tmp
  LV Name                lv_tmp
  VG Name                vg_directadmin
  LV UUID                ezqLis-CBQt-IiZK-7BjX-gvf5-b476-xxlkTe
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2015-07-08 15:02:22 +0200
  LV Status              available
  # open                 1
  LV Size                1.00 GiB
  Current LE             256
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

  --- Logical volume ---
  LV Path                /dev/vg_directadmin/lv_root
  LV Name                lv_root
  VG Name                vg_directadmin
  LV UUID                FfvRs5-bQav-72te-GxcF-wlan-hWoT-Ir3I36
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2015-07-08 15:02:23 +0200
  LV Status              available
  # open                 1
  LV Size                297.50 GiB
  Current LE             76160
  Segments               3
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

Потратил день на изучение LVM и нашел решение. Итак, мое первоначальное решение оказалось рабочим решением. Вот что я сделал.

  1. Использовать fdisk делать /dev/vda4 больше. Для этого удалите раздел 4, повторно добавьте его в качестве основного раздела и позвольте ему использовать все доступные секторы. Вас спросят об удалении подписи LVM2_member, обязательно ответьте нет. Установите тип раздела Linux LVM (8e). Напишите новую таблицу разделов.
  2. pvresize /dev/vda4.
  3. lvextend -l +100%FREE /dev/vg_directadmin/lv_root.
  4. Наконец, вам нужно изменить размер /dev/vg_directadmin/lv_root с resize2fs (или xfs_growfs на CentOS 7, если я не ошибаюсь). Мне также пришлось проверить диск с помощью e2fsck -f /dev/vg_directadmin/lv_root с последующим resize2fs /dev/vg_directadmin/lv_root.
  5. Наконец, перемонтируем.

Надеюсь, это поможет кому-то другому. Linux LVM на HowToForge также может оказаться полезным!