PXE Manager Part VI – How does it work
In this post I wanted to give you a bit more information about how PXE Manager works.
First of all I suggest you have a look at the PXE Manager presentation. So when you add an ESXi host to PXE Manager, you have entered the following information:
- ESXi host name
- MAC Address(‘es)
- IP Settings
- Post actions that run on the first boot
PXE Manager then creates the neccesary DHCP reservation based on the MAC addresses and a Pxelinux configuration file for each host and each MAC address you have specified,
and sets the “mode” to “Default” (which means, launch the installer on the next PXE boot).
The Pxelinux configuration file gets loaded after the ESXi host PXE boots and instructs the ESXi host what to do, initially it will launch the ESXi installer as shown by the following picture.
Once the ESXi host continues to boot, a small utility “pbconnect” will send a notification to the PXE Manager to instruct that the installation process has been kicked off and that the default value of the Pxelinux configuration file has to be changed to “Local Boot” and the “mode” has to be changed to “Disable” as shown by the following picture.
Because of this it is best that you change the boot order in your BIOS so it always PXE boots, as such that when you need to re-deploy or upgrade you do not have to have access to the server console to press F12 (or whatever key it is to network boot your server). In addition to the pxelinux configuration file it also creates a kickstart file for every ESXi host and for every MAC address you have specified.
This kickstart file is specified as a boot parameters and will be the answer file for the ESXi installer as shown by the following picture.
As mentioned before every ESXi host has at least one unique kickstart file (# of kickstart files = # MAC addresses specified), the following pictures shows an example of such a kickstart file.
Any post actions you have specified at the end of the wizard run as part of the firstboot and run before the pbconnect (which sends a notification to PXE Manager). Once PXE Manager receives the notification it will continue to configure the ESXi host by setting the password, adding it to vCenter and if applicable apply a host-profile. In case you have to install a driver before the host-profile gets applied, please refer to my “Add a driver into an ESXi image…” article as applying an esxupdate command to install the bundle first of all requires a reboot and second I couldn’t make to work (in case you know why and have a solution, I would be very happy if you could tell me ).
Something I discovered yesterday is that when you add more vCenter’s to a linked-mode group, PXE Manager will not automatically detect these and therefore also not the ESX(i) hosts managed by these vCenter’s. In order for PXE Manager to detect them, re-run the PXE Manager config tool – “vpxecmd” located in the “C:\Program Files\VMware\Infrastructure\VMware PXE\bin” folder. Use the same values as before (basically keep on hitting the enter button). This way the PXE Config tool will register the PXE Manager as an extension (“ExtensionManager”) on all the vCenter’s in a linked-mode group.