PXE загрузочный сервер на гостевой xen PV?

Я установил гипервизор Xen на Ubuntu 14.04 и гостя PV также на Ubuntu 14.04. Я хочу, чтобы этот гость PV был загрузочным сервером PXE. Но когда я смотрю на /boot Папка вижу, что она пустая.

Я новичок в виртуализации. Итак, где я должен:

  1. взять ядро?
  2. бежать mkinitramfs подготовить initrd для сетевой загрузки?

ОБНОВЛЕНИЕ Уважаемые коллеги. На самом деле мне нужен совет о том, как создать собственный initrd.img для гостевой системы PV. Я знаю все о настройке загрузочного сервера PXE на хост-компьютере. Я просто хочу понять, где я могу взять образ ядра на гостевой системе PV И что происходит с гостевой системой PV, когда ядро ​​обновляется через apt-get.

Спасибо.

2 ответа

Решение

Я нашел решение. Это PVGRUB. Этот учебник охватывает все мои вопросы http://wiki.xen.org/wiki/PvGrub

Если вы хотите загружать системы через сеть, вам нужно 3 вещи:

  • dhcp сервер (например, isc dhcp)
  • TFTP сервер
  • место, где вы можете скачать предпосевной файл

DHCP

DHCP-сервер должен предложить клиенту IP-адрес и загрузочный сервер.

Пример конфигурации для isc dhcp выглядит следующим образом:

subnet 10.1.20.0 netmask 255.255.252.0 {
   option routers 10.1.20.1;

   next-server 10.1.22.150;
   filename "/pxelinux.0";

   on commit {
        set clip = binary-to-ascii(10, 8, ".", leased-address);
        set clhw = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        execute("/srv/rexio/middleware/bin/rex_io_pxe_dhcpevent", "commit", clip, clhw);
   }
}

Директива next-server сообщает клиенту, где он находит сервер tftp. Как вы видите в примере, вы также можете определить скрипт, который получает триггер, когда клиент запрашивает ip. В этом примере он вызывает скрипт, который динамически создает командный файл загрузки pxe.

TFTP

Для этого вы можете использовать hpa tftpd. Вы должны поместить ядро ​​и initrd (и командный файл загрузки pxe) в папку tftp.

Вы можете найти файлы, которые вам нужны для этого (для ubuntu 14.04, 64bit) здесь: http://archive.ubuntu.com/ubuntu/dists/trusty/main/installer-amd64/current/images/netboot/

Просто скачайте эти файлы и поместите их в корневую папку tftp (я думаю, что в Ubuntu это /var/lib/tftpboot).

предпосевной файл

Чтобы действительно автоматизировать вашу установку, вам нужен предварительный файл. Пример для Ubuntu можно найти здесь: https://help.ubuntu.com/10.04/installation-guide/example-preseed.txt (это для 10.04, но я думаю, что это не сильно изменится для 14.04)

Вы можете разместить этот файл на веб-сервере http и указать на него установку (через параметр ядра)

preseed/url=http://ip.of.your.server/preseed.cfg
Другие вопросы по тегам