XenServer/Install/PXE
PXE 安装服务器,用于 XenServer
我为什么需要这个?
如果你选择将 XenServer 作为你的 OpenStack 部署的虚拟机监控程序,你可能希望安装过程是自动的。在 Citrix,我们发现即使在简单的开发环境中,拥有一个 PXE 服务器也很有用。这使得以后开始自动化测试变得容易得多。
所需组件
本指南是使用以下内容编写的
# Xenserver 6.0.2 # Ubuntu 11.10 virtual machine as the PXE server, although this could also be a physical machine.
但是,它同样适用于 XenServer 和 Ubuntu 的现代版本。
在你的 Ubuntu 11.10 机器上
安装以下软件包
sudo apt-get install apache2 isc-dhcp-server tftpd-hpa
编辑 /etc/network/interfaces
我的机器上的接口 eth1 位于名为“Network 1”的网络上。请更改以下说明以匹配你的网络设置。
警告:确保你的“Network 1”与任何公司网络隔离,以避免我们的 DHCP、PXE 服务器的任何干扰。
auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.0.0
network 192.168.0.0
broadcast 192.168.0.255
编辑 /etc/dhcp/dhcpd.conf 并添加以下内容
allow bootp;
use-host-decl-names true;
option domain-name "Network 1";
option domain-name-servers 192.168.0.1;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.200;
filename "pxelinux.0";
}
tftpboot
挂载你下载的 iso 并将以下内容复制到你的 /var/lib/tftpboot 文件夹
cd <path to XenServer CD> cp ./boot/pxelinux/mboot.c32 /var/lib/tftpboot cp ./boot/pxelinux/pxelinux.0 /var/lib/tftpboot mkdir -p /var/lib/tftpboot/xenserver cp ./boot/vmlinuz /var/lib/tftpboot/xenserver cp ./boot/xen.gz /var/lib/tftpboot/xenserver cp ./install.img /var/lib/tftpboot/xenserver
pxelinux.cfg/default
首先你需要添加菜单 UI 文件处理程序。
cp /usr/lib/syslinux/menu.c32 /var/lib/tftpboot/
然后
mkdir /var/lib/tftpboot/pxelinux.cfg
编辑 /var/lib/tftpboot/pxelinux.cfg/default 并粘贴以下内容
DEFAULT local
UI menu.c32
PROMPT 1
TIMEOUT 60
LABEL local
localboot 0
LABEL Install-XenServer
kernel mboot.c32
append xenserver/xen.gz dom0_max_vcpus=2 dom0_mem=752M com1=115200,8n1 console=com1,vga --- xenserver/vmlinuz xencons=hvc console=hvc0 console=tty0 answerfile=http://192.168.0.1/answerfile install --- xenserver/install.img
应答文件
你可以使用下面的示例应答文件。这必须放置在 /var/www/answerfile 中。
<?xml version="1.0"?> <installation srtype="ext"> <primary-disk>sda</primary-disk> <keymap>us</keymap> <root-password>mypass</root-password> <=== fill this <source type="url">http://192.168.0.1/xenserver/</source> <ntp-server>IP address of my ntp server</ntp-server> <=== fill this <admin-interface name="eth0" proto="dhcp" /> <timezone>America/Los_Angeles</timezone> </installation>
复制 packages* 和 XS-REPOSITORY-LIST 到你的 Web 服务器
cd <path to XenServer CD> mkdir /var/www/xenserver # path you gave in the answerfile cp -r packages* /var/www/xenserver cp XS-REPOSITORY-LIST /var/www/xenserver
启动服务
sudo /etc/init.d/networking restart #if you changed /network/interfaces sudo /etc/init.d/isc-dhcp-server start sudo /etc/init.d/tftpd-hpa start
准备运行
在你的目标机器上,确保启动顺序设置为从网络启动。重新启动你的机器。确保它从你的 PXE 服务器获取 DHCP 地址。在启动提示符下,输入 install-xenserver 并深吸一口气。
进一步阅读
更多详细信息请参见