How to set up VMware PXE Manager and its additional features. VMware expert Mike Laverick tells of his favourite 'fling' - Massimiliano Daneri's PXE Manager.
VMware Labs serves as a portal for various engineers and enthusiasts to let their virtualisation pet projects out into the wild. These "Flings" as they call them are generally not supported by VMware officially, but you might find some of them very useful.
My current favourite Fling is Massimiliano Daneri's PXE Manager (PXE is Preboot eXecution Environment). Daneri is known for his legendary vmbk.pl script, one of the first backup utilities created back when there was no backup system for VMware virtual machines, not even on the third-party market.
Danari's new project adds an application to vCenter that assists you in putting together a PXE boot deployment of ESXi. This accomplishes two things: It automates the installation to disk of ESXi to a physical server (stateful) or allows just the ESXi to boot over the network using the commonly recognised PXE standard, otherwise known as stateless ESXi.
Danari's work shows the direction that perhaps VMware will be taking in the not too distant future: that is, a situation where you can run a diskless server or blade and deliver the hypervisor across the network leaving it resident in memory. Such an approach would make it a breeze to mass deploy ESX for cloud-scale and would make an "upgrade" from one ESX distribution to another as simple as entering maintenance mode and then rebooting.
You can install the PXE manager into a Windows environment and it will act as an appliance, holding the source of ESX as well as running a Dynamic Host Configuration Protocol (DHCP) service to facilitate the deployment approach. Consultants and contractors might then carry such a virtual machine (VM) around running VMware Workstation or Fusion to ease deployment. I've found Danari's Fling so well built that it could be an ultimate deployment appliance (UDA) or ESX deployment appliance (EDA) "killer".
How to setup VMware PXE Manager
To set up VMware PXE Manager, first download the binaries from the website and extract them to a Windows instance. The core executable ships in two forms: GEXE and GPXE.
GEXE is an open source PXE project and extends PXE support to devices and systems that may not have supported PXE natively; it can also be used to extend PXE to support other protocols such as HTTP, iSCSI and ATA over Ethernet. Additionally, GEXEsupports Wi-Fi PXE boot andstandard PXE support on the TFTP protocol and wired connections. GPXE is an extension of PXE, because one of the most popular ways of getting the GPXE stack loaded is by carrying out a PXE boot first to load the extensions after. With all that said, it looks like GPXE development ceased in the summer of 2010 and that its functionality will be ported to iPXE.
Whatever type of PXE you select, installing PXE Manager is another affair. The fun stuff happens when the VMware PXE Manager post-configuration utility runs vpxecmd.exe. This command-line utility allows you to make the PXE Manager aware of your vCenter environment. It also installs Microsoft Server for NFS, which is a requirement if you want PXE Manager for stateless ESX booting, but it's not required if you want to use the manager for stateful ESX installations.
Danari has made it clear that, in the future, he wants to allow for the mounting of third-party NFS systems so that builds can remain on storage, which is highly available. PXE Manager currently introduces a non-RFC compliant DHCP server to aid in the PXE boot process, and, eventually, Danari wants to allow for PXE Manager to use more corporate friendly DHCP services.
This is the main black background/white text part of the installation. From this point, one would install the PXE Manager plug-in, and the rest of the configuration would be handled via a GUI.
The PXE Manager has four main tabs and, in some cases, there are "sub-tabs" for those four main options.
The repository tab is used to upload and import the ESXi build. PXE Manager does support multiple builds within the system, and because the build is delivered to the physical machine by a MAC address, it's entirely possible to have some hosts booting to one build of ESXi, distinct from another. You might find this useful if you have a VMware Beta Program and need to run different versions of ESXi in your labs. With the PXE Manager, you could easily switch from a beta build to a production build.
The stateful hosts tab is where you add ESX hosts that will receive an installed version of ESX to disk, whereas the stateless hosts is where you add ESX hosts that will receive their "over the network via PXE" booting. Of course both types start their boot process as PXE clients - the difference is whether you want to install the ESX product.
The stateless host has an interesting configuration, because normally an install of ESXi would also copy the VMware Tools .iso at the same time. Of course, including VMware Tools as part of a PXE boot process would slow down that process considerably, so when the build is imported, it is possible to separate the VMware Tools out from the build. One interesting upshot of this is that the PXE Manager has its own way of updating VMware Tools. In some respects, this makes it similar to VMware Update Manager, but the difference is that it is significantly quicker.
Once the host has booted, you have a number of options, and the PXE Manager allows you to apply a VMware host profile to the ESX server after it is booted. Additionally, the Add Host wizard for either the stateless or stateful type allows you to automate popular tasks, and that includes adding the ESX host to vCenter.
PXE Manager isn't just a deployment tool. It is a workflow utility that allows you to automate the whole process -- from brand-new clean server to a completed ESX host, ready for use by virtual machines.
VMware PXE Manager additional features
Once an ESX host is configured and ready for use, there is an option to save its current configuration. PXE Manager allows configurations to be archived and retained using a simple scheduler built in to PXE Manager. Not only can that aid in the deployment process, but it can also be configured to continually capture your ESX host configuration as it evolves over time. As previous configurations are archived, you can use it to roll back an ESX host to a previously known state.
VMware PXE Manager supports a multiple vCenter configuration and multiple networks. This requires an agent to be installed to either a Windows or Linux VM to assist in forwarding DHCP requests from other networks - what used to be called "DHCP Relay" in Microsoft DHCP some years ago. PXE Manager is not limited to just boots of ESX hosts; it's also capable of booting from memtest.iso. Several years ago, VMware recommended fully testing the memory of a host before putting it in production. I doubt whether many VMware customers do that nowadays, given the masses of memory a single host now holds. But the option is there if this is still part of your deployment policy.
Finally, Danari has customised PXE Manager specifically for Cisco UCS, although it can be used with any OEM. After all, PXE is an international standard. The plug-in includes additional functionality that will be of interest to a customer who adopts Cisco blade technology.
As we move into the cloud era, we must have the ability to rapidly spin up new compute resources. For the larger virtual infrastructure, we'll need to automate this process as much as possible. The days of taking hours or days to set up a new ESX cluster will be over very quickly, and any utility, like PXE Manager, will be welcomed.
Will Danari's project end up a recognised VMware product? I, for one, hope it does.
Mike Laverick is a professional instructor with 15 years of experience in technologies such as Novell, Windows and Citrix, and he has been involved with the VMware community since 2003. He is a VMware forum moderator and member of the London VMware User Group Steering Committee. In addition to teaching, he is the owner and author of the virtualisation website and blog RTFM Education where he publishes free guides and utilities aimed at VMware ESX/VirtualCenter users. In 2009, Laverick received the VMware vExpert award and helped found the Irish and Scottish user groups. He has written several books, including VMware vSphere 4 Implementation.