4

У меня есть базовый образ, с которого я загружаю свою виртуальную машину. Базовое изображение составляет всего 1,5 ГБ. Различные виртуальные машины будут иметь разные требования к дисковому пространству. Я настроил виртуальную машину с настройкой по умолчанию:

VolGroup
  -lv_root
  -lv_swap

/dev/vda 1.5GB
  -/dev/vda1 /boot 500MB
  -/dev/vda2 LVM2  1GB

Итак, /dev /vda2 - это то место, где находится VolGroup. Допустим, мне нужна новая виртуальная машина, которая должна быть 100 ГБ. Я использую LVM на уровне хоста, поэтому я могу изменить размер диска виртуальной машины по своему усмотрению, но это не отражается, пока таблица разделов не будет изменена на гостевой виртуальной машине.

РЕДАКТИРОВАТЬ: Я попытался добавить другой раздел, но это приводит к тому, что система не загружается, потому что LVM ищет в новом разделе данные LVM. Таким образом, новая таблица разделов будет выглядеть так:

/dev/vda 100GB
  -/dev/vda1 /boot 500MB
  -/dev/vda2 LVM2  1GB
  -/dev/vda3       98.5GB

Какой самый быстрый или простой способ для меня перейти с текущего 1 ГБ LVM на 100 ГБ LVM?

1 ответ1

2

Я закончил тем, что заново создал раздел позади LVM, используя fdisk. Вот мой замечательный скрипт, который работает на серверах CentOS 6/7:

ssh root@vmip "fdisk /dev/vda << EEOF
                d
                2
                n
                p
                2
                $firstpartborder

                t
                2
                8e
                w
                EEOF" >> /dev/null 2>&1

echo
echo "-------- Rebooting VM to Sync Disks ----------"
ssh root@$vmip "reboot"
echo "------ Waiting for the VM to come back up ----"
sleep 20
echo "--------Extending LVM to fill disk -----------"
ssh root@$vmip "pvresize /dev/vda2; lvextend -r -l +100%FREE $lvmname; " > /dev/null 2>%1

firstpartborder - это первый сектор исходного раздела. Это очень важно, так как это сломало мои первоначальные усилия.

Я надеюсь, что это помогает любому с похожими проблемами.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .