Расширение LVM диска внутри OS Linux (на примере Debian)

Исходные данные:
OS – Debian Linux 8.
Оригинальный размер LVM – 15 GB.
Задача: Расширить LVM до 20 GB, на весь доступный объем жесткого диска.

Важно! До внесения изменений, обязательно сделайте резервную копию всех данных сервера. Любые манипуляции с разделами несут в себе риск потери данных.

Есть еще другой способ расширения диска в Linux (Debian, CentOS, Ubuntu).

Шаг первый

На данном этапе у нас есть один PV (physical volume) один VG (volume group) и один LV (logical volume).

# pvs
# vgs
# lvs

add-disk-space-linux-server-lvm-debian-1

Как видно из скриншота у нас нет доступного  места в physical volume  и volume group  для расширения нашего logical volume. Чтобы расширить logical volume нам необходимо создать новый physical volume. Затем расширить наш logical volume добавив в него новый physical volume.

Для создания нового раздела на жестком диске мы воспользуется программой fdisk.

# fdisk /dev/vda

n для создания нового раздела на диске.
p для присвоения primary новому разделу.

Укажите номер, который будет носить этот раздел. First sector и Last sector указываем по умолчанию. После этого мы получим уведомление, что был создан раздел типа Linux размером 5 GB.

Теперь необходимо сменить тип раздела с Linux на Linux LVM.
t для смены типа созданного раздела.
Указываем номер нашего раздела.
8e это hex код для типа LVM.

В результате этой операции мы получим сообщение, что раздел был изменен с типа Linux на Linux LVM.

add-disk-space-linux-server-lvm-debian-2

Теперь убедимся, что все хорошо нажав p.
p для вывода всех томов на нашем диске

add-disk-space-linux-server-lvm-debian-3

После чего w для записи изменений на диск и выхода из программы fdisk

По выходу мы получаем сообщение, что, дабы изменения вступили в силу, необходимо перезагрузится либо выполнить команду partprobe. Я советую перезагрузится.

# reboot

add-disk-space-linux-server-lvm-debian-4

После того, как мы успешно создали раздел, необходимо создать новый physical volume на основе этого раздела.

# pvcreate /dev/vda2

Команда вернет, что physical volume был успешно создан.

add-disk-space-linux-server-lvm-debian-5

Шаг второй

Следующим шагом будет расширение нашей volume group посредством добавления в неё созданного physical volume.
# vgextend lvm-master /dev/vda2

Теперь проверим сколько доступного свободного места в нашей VG на данный момент.
# vgs

add-disk-space-linux-server-lvm-debian-6

С помощью команды lvdisplay мы можем посмотреть список всех logical volume которые на данный момент доступны.
# lvdisplay

add-disk-space-linux-server-lvm-debian-7

У нас доступен один. Он носит название lvm-rootfs. На этом logical volume находится наш коренной раздел ( / ).

Теперь мы расширим наш LV lvm-rootfs на доступные нам 5 GB (с 15GB до 20GB). Команда vgdisplay покажет свободные PE (Physical Extend).
# vgdisplay

add-disk-space-linux-server-lvm-debian-8

Именно на это количество PE мы и расширим наш LV lvm-rootfs.
# lvextend -l +1280 /dev/lvm-master/lvm-rootfs

add-disk-space-linux-server-lvm-debian-9

После расширения LV не обходимо расширить файловую систему на весь доступный объем.
# resize2fs /dev/lvm-master/lvm-rootfs

add-disk-space-linux-server-lvm-debian-10

Теперь давайте посмотрим на новый размер нашего LV.
# lvdisplay

add-disk-space-linux-server-lvm-debian-11

Как видно размер изменился с 15 до 20 GB.

add-disk-space-linux-server-lvm-debian-12