Расширение VM с GPT таблицей

Описание

Инструкция по расширению виртуальной машины с GPT (GUID Partition Table) таблицей разделов и LVM. Процедура включает восстановление GPT таблицы, проверку и исправление разделов, а также расширение физических и логических томов LVM.

Процедура расширения VM с GPT

Шаг 1: Восстановление GPT таблицы

После увеличения размера диска виртуальной машины необходимо восстановить GPT таблицу:

gdisk /dev/vda

В gdisk выполните следующие команды:

  1. x — перейти в expert mode (экспертный режим)
  2. e — relocate backup data structures to the end of the disk (переместить резервные структуры данных в конец диска)
  3. w — write changes (записать изменения)
  4. y — confirm (подтвердить)

Важно: Команда e перемещает резервную копию GPT таблицы в конец диска, что необходимо после увеличения размера диска. {.is-warning}

Шаг 2: Проверка и исправление разделов

Проверьте текущее состояние разделов:

parted /dev/vda print

Расширьте раздел до максимального размера:

parted /dev/vda resizepart 2 100%

Параметры:

  • resizepart — команда изменения размера раздела
  • 2 — номер раздела (замените на актуальный номер раздела в вашей системе)
  • 100% — расширить до 100% доступного пространства

Примечание: Номер раздела может отличаться. Используйте parted /dev/vda print для определения актуального номера раздела. {.is-info}

Шаг 3: Расширение физического тома LVM

После расширения раздела необходимо обновить физический том LVM:

pvresize /dev/vda

Параметры:

  • pvresize — команда изменения размера физического тома
  • /dev/vda — устройство физического тома (замените на актуальное устройство)

Примечание: Если физический том находится на другом разделе (например, /dev/vda2), укажите соответствующий путь. {.is-info}

Шаг 4: Расширение логического тома

Расширьте логический том до максимального доступного размера:

lvextend -l +100%FREE /dev/vg01/lv01

Параметры:

  • lvextend — команда расширения логического тома
  • -l +100%FREE — расширить на 100% свободного пространства в группе томов
  • /dev/vg01/lv01 — путь к логическому тому (замените на актуальные имена группы томов и логического тома)

Примечание: Имена группы томов (vg01) и логического тома (lv01) могут отличаться в вашей системе. Используйте lvdisplay для определения актуальных имен. {.is-info}

Полная последовательность команд

# 1. Восстановление GPT таблицы
gdisk /dev/vda
# В gdisk: x -> e -> w -> y

# 2. Проверка разделов
parted /dev/vda print

# 3. Расширение раздела
parted /dev/vda resizepart 2 100%

# 4. Расширение физического тома
pvresize /dev/vda

# 5. Расширение логического тома
lvextend -l +100%FREE /dev/vg01/lv01

Примеры использования

Пример 1: Расширение с указанием конкретного раздела

# Восстановление GPT
gdisk /dev/vda
# x -> e -> w -> y

# Проверка разделов
parted /dev/vda print

# Расширение раздела 2
parted /dev/vda resizepart 2 100%

# Расширение PV на разделе 2
pvresize /dev/vda2

# Расширение LV
lvextend -l +100%FREE /dev/vg01/lv01

Пример 2: Расширение с указанием конкретного размера

# Расширение LV на конкретный размер (например, +10GB)
lvextend -L +10G /dev/vg01/lv01

Пример 3: Расширение файловой системы

После расширения логического тома необходимо расширить файловую систему:

# Для ext2/ext3/ext4
resize2fs /dev/vg01/lv01

# Для XFS
xfs_growfs /dev/vg01/lv01

Проверка результатов

Проверка размера диска

# Размер диска
lsblk /dev/vda

# Размер раздела
parted /dev/vda print

Проверка размера физического тома

pvdisplay /dev/vda

Проверка размера логического тома

lvdisplay /dev/vg01/lv01

Проверка размера файловой системы

# Для ext2/ext3/ext4
df -h /dev/vg01/lv01

# Для XFS
xfs_info /dev/vg01/lv01

Команды для определения текущей конфигурации

Определение разделов

# Список разделов
parted /dev/vda print

# Список всех блочных устройств
lsblk

Определение физических томов

# Список физических томов
pvs

# Подробная информация
pvdisplay

Определение групп томов

# Список групп томов
vgs

# Подробная информация
vgdisplay

Определение логических томов

# Список логических томов
lvs

# Подробная информация
lvdisplay

Важные замечания

Внимание: Перед выполнением операций с разделами и томами рекомендуется создать резервную копию важных данных. Операции изменения размера разделов и томов могут привести к потере данных при неправильном выполнении. {.is-warning}

Важно: После расширения логического тома необходимо также расширить файловую систему, иначе новое пространство не будет доступно. Команда зависит от типа файловой системы (ext2/ext3/ext4 или XFS). {.is-warning}

Примечание: Если физический том находится на разделе (например, /dev/vda2), используйте путь к разделу, а не к диску, при выполнении pvresize. {.is-info}

Примечание: Имена группы томов и логического тома могут отличаться. Используйте команды vgs и lvs для определения актуальных имен. {.is-info}

Расширение файловой системы

После расширения логического тома необходимо расширить файловую систему:

Для ext2/ext3/ext4

resize2fs /dev/vg01/lv01

Для XFS

xfs_growfs /dev/vg01/lv01

Для других файловых систем

# Для btrfs
btrfs filesystem resize max /mount/point

# Для reiserfs
resize_reiserfs /dev/vg01/lv01

Диагностика проблем

Проверка GPT таблицы

# Проверка GPT таблицы
gdisk -l /dev/vda

# Восстановление поврежденной GPT таблицы
gdisk /dev/vda
# x -> e -> w -> y

Проверка разделов

# Проверка разделов
parted /dev/vda print

# Проверка файловой системы
fsck /dev/vg01/lv01

Проверка LVM

# Проверка физических томов
pvscan

# Проверка групп томов
vgscan

# Проверка логических томов
lvscan

Связанные темы

  • Управление виртуальными машинами
  • Работа с LVM
  • Работа с GPT таблицами разделов
  • Расширение файловых систем