我正在为我的集群设置 pxe 设置。我使用 dnsmasq 作为 dhcp/tftp 服务器,并尝试部署 ubuntu 服务器 14.04.2。我使用 apache2 作为 http 服务器来提供预置等服务。
dnsmasq:
dhcp-boot=pxelinux.0
enable-tftp
tftp-root:/tftp/pxeboot
我的树看起来像
/tftpboot
--/tftpboot/pxeboot
----/tftpboot/pxeboot/pxelinux.0
----/tftpboot/pxeboot/pxelinux.cfg/default
----/tftpboot/pxeboot/pxelinux.cfg/vesamenu.c32
----/tftpboot/pxeboot/boot/14.04.2
其中的内容/tftpboot/pxeboot/boot/14.04.2
是
mount -o loop ubuntu-14.04.2-server-amd64.iso /mnt
cp -R /mnt /tftp/pxeboot/boot/14.04.2
我的客户端能够检索该pxelinux.cfg/default
文件,该文件由以下几行组成:
default boot/14.04.2/install/netboot/ubuntu-installer/amd64/boot-screens/vesamenu.c32
menu title ubuntu server install
Label u14.02.2_server
menu label ubuntu-server-14.04.2-amd64
kernel boot/14.04.2/install/netboot/ubuntu-installer/amd64/linux
append vga=788 initrd=boot/14.04.2/install/initrd.gz ksdevice=eth0 locale=en_US.UTF-8 keyboard-configuration/layoutcode=us interface=eth0 hostname=unassigned url=http://X.X.X.X/14.04.2/preseed/preseed.txt live-installer/net-image=http://X.X.X.X/14.04.2/install/filesystem.squashfs -- quiet
客户端检索 initrd(事实上我可以在 dnsmaq 的机器系统日志中看到),然后开始安装。我没有收到任何提示,但安装停滞在Detect and mount CD-ROM
客户端上的日志文件显示以下内容:
[...]cdrom-detect: Searching for Ubuntu installation media
[...]cdrom-detect: Devices: ''
[...]cdrom-detect: Devices: ''
[...]cdrom-detect: Devices: ''
[...]cdrom-detect: Devices: ''
[...]cdrom-detect: Devices: ''
[...]cdrom-detect: Devices: ''
[...]cdrom-detect: Devices: ''
[...]cdrom-detect: Devices: ''
[...]cdrom-detect: Devices: ''
我必须提供其他选项让客户端在服务器端找到安装文件吗?我是否误解了在加载 initrd 后 http 客户端/服务器对话服务器如何处理这些文件?