PV to HVM и обратно на XenServer или XCP

в 8:22, , рубрики: citrix xenserver, linux, xcp, xen, виртуализация, метки: , ,

Допустим по каким-то причинам мы не смогли загрузить нашу PV-виртуалку
через pygrub, например он не смог распарсить конфиг нашего граба, а
такое случается. Что же делать? На Citrix XenServer был вариант
поправить конфиг груба через xe-edit-bootloader, на XCP он не
работает. Во-первых там xe-edit-bootloader с ошибкой(неправильный путь
к xe), а во-вторых даже если путь поправить, все равно не работает.
Что же делать? Мой метод универсален и может быть использован на
Citrix XenServer и XCP, плюс то что далее описано может быть полезно
просто для перевода между типами виртуализации.

И так.

# xe vm-list
покажет нам список имеющихся виртуалок и их UUID`ы
Или можем посмотреть UUID конкретной машины по её имени

# xe vm-list name-label=$NAME params=uuid
где под $NAME я имею в виду имя нужной виртуалки.

Далее делаем

# xe vm-param-set uuid=<vm uuid> HVM-boot-policy="BIOS order"

соответственно взяв UUID из первого шага. Вуаля, у нас машинка теперь
грузится как HVM и можно загрузится с какого-нибудь SystemrescueCD.
Процесс добавления isoшек для создания виртуального сидирома я
описывать не буду, он много где описан, как через XenCenter выбрать с
чего грузится тоже, понятно все и без меня.

Загрузились, отредактировали наш конфиг загрузчика и хотим сделать
обратно PV? Что бы более полно использовать возможности Xen`а в связке
с XenAPI? Хорошо.

# xe vm-param-set uuid=<vm uuid> HVM-boot-policy=""
# xe vm-param-set uuid=<vm uuid> PV-bootloader=pygrub
# xe vm-param-set uuid=<vm uuid> PV-args=console="hvc0"

Сбрасываем бут-полиси для HVM, устанавливаем чем грузить PV, сообщаем
машине, что консоль у неё hvc0

В статье пропущены такие очевидные вещи, как ребуты виртуалок в процессе, я считаю, что они очевидны

Автор: Ernillew

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js