KVM: Изменение размера диска ext4 в LVM

Если на виртуальной машине, расположенной в логическом томе LVM, стало заканчиваться место или выделено слишком много, то встает вопрос о изменений размера дискового пространства! Для этого будем использовать утилиты kpartx и fdisk. Для начала рекомендую сделать резервную копию диска виртуальной машины.


!!!Для увеличения размера раздела, сначала увеличиваем размер логического тома, а затем увеличиваем размер файловой системы. При уменьшении, сначала необходимо уменьшить размер файловой системы, затем уменьшить размер логического тома. Если сделать наоборт, то файловая система будет повреждена.


Допустим, нам необходимо увеличить размер раздела виртуальной машины. Первым делом убеждаемся, что виртуальная машина остановлена.

Сначала расширяем логический том LogVol на 50G следующей командой:

lvextend -L+50G /dev/mapper/VolGroup-LogVol

где -L+50G - размер на который увеличиваем диск (чтобы добавить все доступное пространство, команду выполнить с ключами -l +100%FREE).


Теперь нужно пересоздать таблицу разделов. Важно, чтобы новый раздел начинался в том же месте, что и старый. Смотрим таблицу разделов, удаляем старый, создаем новый раздел с начальным сектором старого раздела и делаем его загрузочным, если это необходимо.

fdisk -cu /dev/mapper/VolGroup-LogVol

Команда (m для справки): p

Диск /dev/mapper/VolGroup-LogVol: 107.4 ГБ, 107374182400 байт
255 heads, 63 sectors/track, 13054 cylinders, всего 209715200 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0002ea2e

                       Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/mapper/VolGroup-LogVol1   *        2048   104857599    52427776   83  Linux

Команда (m для справки): d
Выбранный раздел 1

Команда (m для справки): n
Действие команды
   e   расширенный
   p   основной раздел (1-4)
p
Номер раздела (1-4): 1
Первый сектор (2048-209715199, по умолчанию 2048): 2048
Last сектор, +секторы or +size{K,M,G} (2048-209715199, по умолчанию 209715199): 
Используется значение по умолчанию 209715199

Команда (m для справки): a
Номер раздела (1-4): 1

Команда (m для справки): p

Диск /dev/mapper/VolGroup-LogVol: 107.4 ГБ, 107374182400 байт
255 heads, 63 sectors/track, 13054 cylinders, всего 209715200 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0002ea2e

                       Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/mapper/VolGroup-LogVol1   *        2048   209715199   104856576   83  Linux

Команда (m для справки): w

Создадим карту устройств, чтобы открыть нужные разделы:

kpartx -a /dev/mapper/VolGroup-LogVol

После чего в системе появится нужный нам раздел "/dev/mapper/VolGroup-LogVol1"

Проверяем и изменяем размер раздела файловой системы:

e2fsck -f /dev/mapper/VolGroup-LogVol1
resize2fs /dev/mapper/VolGroup-LogVol1

Незабываем удалить карту устройств:

kpartx -d /dev/mapper/VolGroup-LogVol

Запускаем виртуальную машину и проверяем размер раздела.

Комментарии (0)