xen PV 客户机上的 PXE 启动服务器?

xen PV 客户机上的 PXE 启动服务器?

我在 ubuntu 14.04 上设置了 Xen 虚拟机管理程序,并在 ubuntu 14.04 上设置了 PV 客户机。我希望此 PV 客户机成为 PXE 启动服务器。但是当我查看文件夹时,/boot我发现它是空的。

我是虚拟化领域的新手。那么我应该在哪里进行操作:

  1. 取一粒仁?
  2. 运行mkinitramfs以准备 initrd 进行网络启动?

更新 亲爱的同事们。我实际上需要一些关于工作流程的建议制作自定义的 initrd.img在 PV 客户机上。我知道在主机上设置 PXE 启动服务器的所有内容。我只想了解在 PV 客户机上哪里可以获取内核映像以及当通过 apt-get 更新内核时 PV 客户机会发生什么情况。

谢谢。

答案1

如果您想通过网络启动系统,您需要 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 启动命令文件的脚本。

远程文件传输协议

为此,您可以使用 hpa tftpd。您必须将内核和 initrd(以及 pxe 启动命令文件)放在 tftp 文件夹中。

您可以在这里找到所需的文件(适用于 ubuntu 14.04,64 位):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

答案2

我找到了解决方案。它是 PVGRUB。本教程涵盖了我所有的问题http://wiki.xen.org/wiki/PvGrub

相关内容