Допустим по каким-то причинам мы не смогли загрузить нашу 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