If you own Dell Servers and run your ESX farms on them, you’ll know what a pain in the arse it is to update the firmware.
What if you could do it as part of your install script, or even deploy it in the future as a script to be run on all boxes?
I’ve got the solution for that, because frankly, the Dell TechCenter one didn’t suit my purposes (mounting/lwp-downloading a 1.9GB ISO to each server to upgrade 30MB worth of updates is a serious waste of time and bandwidth across sites)
The only requirement is that Dell’s OMSA is installed and running on the ESX server.
So here’s my script:
#!/bin/sh
# Allowing outbound access through the ESX firewall
esxcfg-firewall --allowOutgoing
# Downloading Dell firmware/BIOS updates
lwp-download http://149.171.186.10/Dell/Toolkit/Systems/PE6950/DRAC.BIN /tmp/DRAC.BIN
lwp-download http://149.171.186.10/Dell/Toolkit/Systems/PE6950/BIOS.BIN /tmp/BIOS.BIN
lwp-download http://149.171.186.10/Dell/Toolkit/Systems/PE6950/RAID.BIN /tmp/RAID.BIN
# Disabling outbound access through the ESX firewall
esxcfg-firewall --blockOutgoing
# Make sure firmware/BIOS scripts are executable
chmod a+x /tmp/*.BIN
# Attach virtual media for DRAC update
racadm config -g cfgRacVirtual -o cfgVirMediaAttached 1
export rawdevice=`dmesg | tail -n30 | grep "32768 512-byte hdwr" | awk -F" " '{print $3}' | sed "s/://g"`
raw /dev/raw/raw1 /dev/$rawdevice
# Run the updates
for i in /tmp/*.BIN ; do $i -q ; done
# Delete the updates
rm -f /tmp/*.BIN
# Detach the virtual media for DRAC update
racadm config -g cfgRacVirtual -o cfgVirMediaAttached 0
The file is likewise attached.
Obviously, in the lwp-download section, put in your own URL for the .BIN files that comprise the Dell updates.
Cheers,
Leo