Now that ESXi is replacing ESX classic it’s going to be really important to be able to maintain ESXi more simply than ESX classic. One of the things that held VMware back from deploying ESXi internally was the lack of build automation. The 4.1 release of ESXi addressed this issue and we once more have an automated build for our hosts.
- Install DHCP & setup a normal scope
- Set DHCP options on the scope, the Boot Server is the machine running the TFTP service, in my case the same machine running DHCP.
- Configure the service to start automatically and start it
- Put the registry setting in place to hard set the TFTP folder
- Place six files from the ESXi installable install CD in the TFTP folder for the version of ESXi
- Place two files from the ESXi install CD in the TFTP root folder along with pxelinux.0 that you download as part of the syslinux package, these make the PXE bootloader and it’s menu work.
- Copy isolinux.cfg from the ESXi install CD in the TFTP folder, and rename to default
- Use a Unix safe editor (I use Crimson) to edit the default file and add the version specific TFTP directory for each file on the line that starts with the word append
- Install IIS and copy the ESXi installable install CD contents in a subdirectory
I have both the PXE and IIS directories to be version named to allow me to maintain multiple build versions, this came in handy when ESXi 4.1 Update 1 was released and I wanted to be able to test both versions by rebuilding.
Next ensure your ESXi servers support PXE boot, I doubt you’ll have an issue with hardware that’s on the HCL.
To test the process reboot your ESXi server and invoke PXE boot, this usually means pressing <F12> at the right moment in the boot sequence.
You should see a series of messages about DHCP and TFTP quickly followed by the boot menu, let the timer run down and the installer will launch just as it does when you boot from CD.
So there you have it, a network based install of ESXi using software you already own (Windows Server) and some open source components. At this stage the build of the ESX server is all manual but it no longer requires a CDROM device or drive in teyh ESX server. In a later post I’ll cover the automation I use to build or rebuild ESXi hosts and make them ready to join a cluster.
© 2011, Alastair. All rights reserved.
I just performed an install for a customer using a VM Workstation build in this way and post config powershell script. Such an easy way to do it. Took about 15 mins per host, 10 of which was boot/reboot
There’s a few things to worry about with PXE boot though. Security of whats booting off it, accidental installations, wiping data, struggling with segregating it in a highly converged environment.
Have you seen PXE install in the real world?
ESXi install via USB memory stick works well with custom kickstart config, just leave the USB drive plugged into the blade chassis for use anytime