Posted by Simon Long Feb 23, 2010
With VMware ESXi looking to be the future of VMware's Hypervisors, we are seeing the end of our beloved Service Console. Like many others I've been beginning to look into how ESXi will be implemented into a Production environment. One of the main area's of interest for me was around setting up a system which would deploy ESXi Hosts.
In the past, when deploying ESX Hosts, I've had the assistance of EDA (ESX Deployment Application), others have also used UDA (Ultimate Deployment Appliance). But due to the absence of the Service Console, scripted installations using Kickstart scripts are now not possible with ESXi.
When looking for a new deployment system to deploy ESXi I was looking for the following requirements;
- Simple Setup – I don't have the time to spend days and days on configuring an application to deploy my Hosts
- Simple Deployment – I want the deployment procedure to be a simple as possible. The deployment of Hosts maybe passed to a team that aren't as accustomed to VMware as I am.
- Quick – I want the deployment of my ESXi Host to be quick, I don't want to have to wait an hour for a Host.
- FREE! – We all love free, espically my CEO.
Testing a standard ESXi installation from a .ISO image
Before spending loads of time on setting up an application to deploy hosts I though I'd just try a standard boot from ISO Via ILO. I mounted the ESXi .ISO image to a spare blade to see how quick it would install. From start to finish the installation took about 45 mins to complete. Not too bad, but I'm not a fan of waiting. I started to look into a PXE Boot option where the ESXi ISO would be copied onto the PXE Boot Server and the installation files copied from the server to the Host via TFTP.
Why not use USB or SD Cards? Well the company I work for host their server in a Datacentre which isn't easily accessible. A deployment system that could be used remotely would be best-fit for us.
Being a fan of the phrase "There is no point in re-inventing the Wheel" and time constraints, I chose to stay away from creating my own PXE Boot Server from scratch. I began to sniff around the VMware Virtual Appliance Directory. Doing a simple search for "PXE" found me a Virtual App called V-PXEServer created by Epic Information Solutions. The Overview read:
Pre-Configured PXE Server. The solution is installing ESXi 4.x over the network.
Features & Benefits
Pre-Configured PXE, TFTP and DHCP Server to install ESXi 4.x over the network.
Happy Days!! Perfect.
Configuring the ESXi Rapid Deployment System PXE Boot Server.
After downloading the V-PXEServer from the VMware Website, I tried to do a simple Import straight into vCenter. I received an error on PowerOn which wouldn't allow it to boot. After trying many different tricks to get it to run I decided to try and run the Server in VMware Workstation. This worked fine, after removing the .lck directory.
VMware Workstation is where I did my proof of concept testing, to make sure that it would actually work and do what I wanted it to.
After opening the Virtual App in Workstation, these are the steps I took to configure the PXE Server to deploy ESXi. (IP addresses have been changed.)
- On boot of the V-PXEServer VM you are prompted to input: PXE Boot Server IP, Subnet and Default Gateway
- Once complete the TFTP and DHCP Servers are started
- I changed the IP Pool on the DHCP Server to use the IP's I had reserved for deployment
- Connect the latest version of the ESXi ISO to the VM
- Copy the content of the CDROM (D:\) to C:\PXEServer\TFTPRoot\Boot\ESXi_4x
- Disconnect the ISO from the VM
As you can see the configuration was very straight forward. The application was now ready and waiting to deploy ESXi.