LINUX.ORG.RU
ФорумAdmin

PXE boot server на PV guest-е Xen и обновления ядра PV guest-а?

 , , ,


0

1

Всем доброго времени суток.

Я осваиваю Xen на Ubuntu 14.04. Моя конечная задача: сделать PXE boot server на гостевой виртуалке. На данный момент я поставил xen и создал PV guest на той же Ubuntu 14.04.

У меня есть некоторая нестыковка в голове, про которую прошу дать совета. Заключается она в следующем:

Первый момент:

  • Чтобы загрузить машину по сети, мне нужно отдать ей ядро и initrd.img (Так я делаю обычно)
  • Чтобы сгенерить initrd.img мне нужно ядро.

Однако, известно, что PV гостевая машина грузится с помощью ядра, которое она берёт с хоста. Это ядро и initrd.img явно прописываются в конфиге гостевой машины. И, если мы посмотрим в папку /boot на гостевой машине, то увидим, что она пуста. Таким образом получается, что внутри гостевой машины у нас нет ни ядра, ни возможности сгенерить initrd.img, чтобы потом отдавать их через tftp.

Второй момент заключается в том, что, ядро обновляется из пакетов. Но получается, что автоматически это происходит только на хосте, но не на PV guest-е. Таким образом получается, что и обновить ядро PV гостевой машины нельзя.

Вопрос: как правильно реализовать доступ к ядру из PV гостя и как правильно его обновлять?

Спасибо.

Ну, начнём с того, что брать ядро с хоста при загрузке pv гостя совсем не обязательно. Я не знаю, как там в этих ваших убунтах, но в нормальных дистрибутивах с незапамятных времён есть PvGrub, который умеет грузить ядро и рамдиск с образа гостя.

Black_Shadow ★★★★★
()
Последнее исправление: Black_Shadow (всего исправлений: 1)

Всё очень просто. Читаешь внимательно это https://help.ubuntu.com/community/Xen

Качаешь образы xen netboot образы для своей версии системы: vmlinuz, initrd.gz

Дописываешь в конф.файле ВМ (внимательно в путях):

kernel = "/var/lib/xen/images/ubuntu-netboot/vmlinuz"
ramdisk = "/var/lib/xen/images/ubuntu-netboot/initrd.gz"

И устанавливаешь систему по сети. Как попросит перегрузиться первый раз - гасишь систему и меняешь последние 2 строчки на:

bootloader="/usr/lib/xen-4.4/bin/pygrub"

На госте что хочешь то и делаешь, он уже использует свое ядро.

lioncub ★★
()
Последнее исправление: lioncub (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.