When we’re ready to deploy new ESXi hosts in our environment, we order them from Dell with ESXi pre-loaded on the internal SD-Card. This is nice and all, but what do you do when you have to go through and configure NTP, Users, Groups, Scratch directory, lockdown mode, and the list goes on?
You’d have to fire up each server, go through and configure everything, x10 if you had 10 new servers.
Since we’re working on a new rather larger virtualization deployment, we were looking at ways to overcome this.
On our standard fat ESX hosts, we used to use Altiris to PXE boot and run a kickstart file, but when Symantec bought Altiris and doubled the price, we dropped them and went to a new solution: ESX Deployment Appliance, or EDA
The EDA is awesome, except I couldn’t get it to deploy across different VLANs at different sites, instead I just created an EDA for each ‘cluster’, which worked well. Also, instead of using all of their script options, I edited the php file to use all our stuff from our standard kickstart, and only pulling name, ip, and a few other pieces from the EDA web page. All in all, that works really well since you can pre-stage your hosts, as long as they’re full blown ESX.
EDA also works for ESXi, but only in the base OS deployment, no configuration options, so here’s what we did…
We took one server and set it up with everything we wanted (CNA device drivers that aren’t already in the media, etc), installed ESXi, configured storage, set up a scratch directory, fully patched, configured users, NTP, and anything else we wanted, then shut the system down.
From there, we popped out the SD-Card, set it to read-only so as not to kill our golden image, and used WinImage to create an image of the drive. After that, we simply wrote that image to all other SD-Cards.
True, after we wrote the images, there’s still some config needed. We have to change the scratch directory, name, IP address, and iSCSI target (if you’re using iSCSI, that is).
This is much easier than doing all the config over and over, especially since a reboot is needed after the scratch directory is configured, then again after third party drivers are loaded, and yet again if your media is 4.0u1 (build 208167) because build 219382 was released in early January, iirc.
We did find a windows port of dd, but it proved problematic. It would suck up the image fine (as far as we could tell, anyway) but wouldn’t let us write to the SD-Card if a partition table existed, so we’d go into diskpart and do a clean on that disk. Disk management showed an empty disk, and dd would write the image, but whatever was on the SD-Card previously was still there, kinda like it only wiped the MBR or partition table.
It might work in *NIX, but we didn’t have any sd-card readers handy to try in other systems, only the internal one on a windows laptop.
i dont think its a biggie, when you buy a new server, you go through and make sure tis properly set up (in this case load ESXi and set up as needed.
Does anyone know if there’s any difference between ESXi Embedded (running on an SD card) and normal ESXi?
The main reason I needed this is because we don’t use the regular LOMs on the servers. Instead, we use Qlogic CNAs, but ESXi 4.0 does not have native support for that hardware. It’s there in 4.1, but we’re not ready for 4.1 yet due to Avamar (soon, hopefully!).
Essentially, there’s no way to install drivers without network connectivity, so I use one host in our lab to create my ‘golden image’, then replicate it out from there. Our servers come with ESXi Embedded on the SD card and no internal storage or controllers. We just got 40 servers in, so imagine having to touch every single one to install NIC drivers, add settings, whatever, before it goes into the DC to be racked. Instead, I pull the SD card on all new servers, lay down my image, pop the SD card back into the servers, then launch my config script against all 40 servers via one command.
I’ve further refined my image by making sure the build number matches all other hosts, has current CNA HBA & Ethernet drivers, and even added the Nexus 1000v VEM.
Now, I just pop the card in, assign it an IP address, and once I have network connectivity, run the config script.
Now, for ESXi Installable vs Embedded, afaik, they’re the same. If you do a vihostupdate -q for Embedded, ours actually show Dell for the bulletin name/title. Otherwise, there’s probably not much difference.