Summary
This document describes how to set up a Pre-boot Execution Environment (PXE) server to enable network installation of XenServer Hosts in your environment.
Requirements
The PXE server requires a DHCP server to provide IP addresses to the PXE-booting systems, and either an NFS, FTP, or HTTP server to house the installation files. These can all co-exist on the same server, or be distributed on different servers on the network.
Each system that you want to PXE boot and install the XenServer Host needs a PXE boot-enabled Ethernet card.
Procedure
The following steps assume that the Linux server or servers you will use have RPM Package Manager (RPM) support.
Trivial File Transfer Protocol (TFTP) server
1. TFTP requires SYSLINUX 3.11 or above. SYSLINUX is a collection of boot loaders for the Linux operating system which operates on Linux EXT2/EXT3 file systems, MS-DOS FAT file systems, network servers using PXE firmware, and CD-ROMs. Make sure you have SYSLINUX version 3.11 or above installed on your system with the command:
#rpm -q syslinux
If you have a earlier version, you can download an appropriate later version from Download, then install it using the command:
#rpm -Uvh syslinux.-.rpm
2. Check if the TFTP server package is installed:
#rpm -q tftp-server
If not, use system-config-packages and install it.
3. Edit the /etc/xinetd.d/tftp file to change the line:
disable = yes
to
disable = no
4. Restart the xinetd service, which manages TFTP:
# service xinetd restart
5. Make a directory inside /tftpboot named xensource.
6. Copy the files mboot.c32 and pxelinux.0 from /usr/lib/syslinux to the /tftboot directory.
7. Copy the files install.img, vmlinuz*, and all files in the boot directory of your XenServer Installation CD to /tftpboot/xenserver
8. Make a directory named pxelinux.cfg inside /tftboot and create a file named default with the following contents:
default linux
label linux
kernel mboot.c32 append xenserver/xen-3.0.2.3.gz noreboot com1=115200,8n1 console=com1, tty --- xenserver/vmlinuz-2.6.16.13-xen_248.1p ramdisk_size=100000 root=/dev/ram0 console=ttyS0,115200n8 output=ttyS0 --- xenserver/install.img
DHCP server
1. Check if you have DHCP installed by issuing the command:
# rpm -qa dhcp
If not, install it using system-config-packages.
2. Configure the DHCP server. Refer to Configure Linux DHCP Server for details.
3. Add these lines to the end of the existing dhcpd.conf file where is your TFTP server address:
allow booting;
allow bootp;
class "pxeclients" {
match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
next-server ;
filename "pxelinux.0";
}
4. Restart the DHCPD service
Installation source (NFS)
1. On the server where you want to put the installation source, check if NFS is installed by issuing the command:
#rpm -qa nfs
If not installed, use system-config-packages.
2. Edit the file /etc/exports and specify the directory where you will have the XenServer installation media copied.
3. Configure your NFS server and copy all contents of the XenServer Installation CD to the NFS share. Refer to nuals/linux/RHL-7.2-Manual/ref-guide/s1-nfs-server-config.html">NFS Server Configuration Files for details.
Alternatively, you can set up an FTP or HTTP server to house the installation media.
Prepare the destination systems
1. Modify the BIOS and set the Boot from to your Ethernet card setting on the systems on which you want to install the XenServer Host.
2. Restart the system. It should PXE boot from the installation source you set up, and the installation script will commence.
To automate the installation, you can set up an answer file.