PXE загрузочный сервер на гостевой xen PV?
Я установил гипервизор Xen на Ubuntu 14.04 и гостя PV также на Ubuntu 14.04. Я хочу, чтобы этот гость PV был загрузочным сервером PXE. Но когда я смотрю на /boot
Папка вижу, что она пустая.
Я новичок в виртуализации. Итак, где я должен:
- взять ядро?
- бежать
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