Last week I was deploying a bunch of ESX 4.1 using PXE and the installation failed for some of them with the following console message:
"Unable to immediately obtain a dynamic address for this interface."
I checked the DHCP service (I am using a combination of Syslinux, WDS and DHCP on a Windows 2008 R2 box) and found that it was happily up and running. I am also using the IPAPPEND option in my PXE configuration file with its value set to 2. Before I continue, here's a brief explanation of the IPAPPEND option:
- Setting IPAPPEND to 1 will tell the system to use the same MAC address for the kernel then the one used for PXE boot.
- Setting IPAPPEND to 2 will make the ESX4 installer generate a new dynamic MAC address, which means you will have two IP address reservations in you DHCP for each ESX deployment. In fact ESX 4.1 by default uses a generated MAC address for the installation service console.
In my case my DHCP scope contained 10 IPs only, but I was simultaneously deploying 14 ESXs with IPAPPEND set to 2, which meant that I needed a range with at least 28 available IP addresses (two for each ESX). This is the reason for 9 of my ESXs being unable to obtain an IP address from the DHCP server: the IP range was quickly exhausted.
The solution is pretty simple: I switched to IPAPPEND 1 and increased the IP address scope to 14 IPs, in order to be able to serve all of my ESX installations. For sake of completeness I also shortened the lease duration to two hours.
Maybe you will never need this information, maybe you have bigger DHCP scopes, maybe you will never deploy more than 2 or 3 ESXs at once, but all the same I wanted to share... just in case someone need this.