跳转到: 导航, 搜索

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 并深吸一口气。


进一步阅读

更多详细信息请参见