I decided I wanted to perform PXE installs of ESXi to ease my migration from ESX to ESXi. I learned about the Ultimate Deployment Appliance through Dave Convery and Mike Laverick’s posts on the subject. This post isn’t meant to cover what those two gentlemen have already covered. They have provided excellent posts and are more than helpful if you were to ask them a question. They can found on Twitter as @dconvery and @Mike_Laverick or post something in the VMware Community Forums.
With a Blade Chassis you have a unique environment. In my particular environment I use a c7000 chassis with Cisco 3020′s. I’m going to concentrate on the External Switch in Bay 1 which is the main focus of this article.
When a blade server PXE boots it try’s to boot off the first onboard NIC. Which by default is mapped to Interconnect Bay 1 on the c7000. A great feature of PXE on these blade servers is you can specify a VLAN from within the built-in management tools of the blade. I thought at the time excellent I’ll set my PXE VLAN here, reboot the server to PXE get a DHCP lease and install ESXi from the UDA using a basic template.
I was able to PXE boot and it download the files need to start the ESXi install process but, then it got the TFTP Portion of the ESXi install. Guess what? I have no DHCP lease on that server now. There is no DHCP server because the traffic was now coming out of the server untagged. That was easy to diagnose thanks to the logs in ESXi. To view the logs hit Alt + F12 and you can see the details.
Now my thought initially was how can I tell the install to specify a VLAN. Well in short you can’t. The next thing to do on my list was to hit the Communities Forums. I found this post about using Native VLANs to force untagged traffic to a VLAN with DHCP in my case I’m going to use my PXE Vlan because it’s not used frequently and has DHCP already setup on it. The final config on my switch looks something like this. This is not my actually configuration but an example of how it should look.
switchport trunk encapsulation dot1q
switchport trunk native vlan 20
switchport trunk allowed vlan 20,21,22,23,24,25
switchport mode trunk
spanning-tree portfast trunk
Just to clarify. VLAN 20 would be my PXE VLAN. The other trunks are VM traffic, vMotion (because I have multiple chassis’), and Management Traffic. I turned on portfast for the trunk because I read an article which I can’t seem to find about ridiculous latency in DHCP requests if portfast was not turned on. It has to be a portfast trunk because this port is now a trunk and not an access port.
This worked for me because I use Virtual Switch Tagging (VST) for my VMs. If you are using External Switch Tagging(EST) this may not work for you. Read this article on VLAN Configurations for vSphere to get more in-depth on EST, VST and VGT.
I hope these notes help someone else out that may run into this same issue. I’m assuming this will work across multiple designs but can’t currently confirm this.
Till next time,