How to Update a Dell 2950 Server bios in VMware ESX 3.x without a floppy drive
I’m not a Linux expert, so figuring out how to do certain command line things in VMware ESX 3.x is a bear at times. The latest challenge was figuring out how to update the bios and other firmware on some Dell PowerEdge 2950 servers I have which are sitting in a data center 5 hours away and don’t have any floppy drives in them. There’s no way in the VMware Virtual Client to do it and lacking a floppy drive, I couldn’t even have someone at the data center put a floppy in the drive.
Even though I have a DRAC card (Dell Remote Access Card) in the server, I still couldn’t figure out how to run the updates. I tried creating a bootdisk as an ISO and loading it up in the DRAC but that failed. I even spoke to reps at Dell and VMware trying to get someone to explain how to do the updates and no one really seemed to be able to give me a clear way.
After a lot of research, I figured it out. This is more a reminder for myself, but I hope writing down my experiences here will help someone else.
Since I have a number of Dell 2950 ESX 3.5 hosts managed by a dedicated Virtual Center server each Dell ESX host needed firmware updates. Here are the steps I took to update the servers without using a floppy drive:
- Go to the Dell support site at http://support.dell.com and go to the drivers and downloads section for your server. Choose Red Hat Linux 4 as the OS type.
- In this case we’ll update the system bios, so expand the Bios section and download the Update Package for Red Hat Linux which should be a .BIN file (like PE2950_BIOS_LX_2.3.1_1.BIN) to your local machine.
- Next, download and install WinSCP (http://www.winscp.net) on your local machine.
- Open WinSCP on your local machine and enter the ESX server IP or hostname, username of root (or, if you were smart, a user you configured with less privileges), and the user’s password.
- Once you’ve logged into ESX, switch to the /tmp directory and create a directory called “dell” (or whatever you want).
- Upload the .BIN file to the dell folder on the ESX host.
- Migrate all the VM’s off the host you’re about to update and place the ESX host into maintenance mode as a reboot will be required after the following update.
- Now, log into the ESX server console using Putty (http://www.chiark.greenend.org.uk/~sgtatham/putty/) and switch to the root user (if you logged in under a different account) by typing “su -” and entering the root password.
- Switch to the dell directory you created above by typing “/tmp/dell”.
- Type “ls” and make sure your .BIN file is in the /tmp/dell directory.
- Give the .BIN file execute privileges by typing “chmod +x filename.BIN” where filename.BIN is the exact (case sensitive) file that you uploaded.
- Now execute the update by typing “./filename.BIN”. This will start a Dell dialog that you should read. When you’re done reading type “q” and it should execute the update.
You can run this same procedure for any other firmware updates you need to do. See, short and painless.
Hi Tony, liked your post. Just interested have you considered using Dell IT Assistant for pushing these kind of updates?
Hi Mike,
If I remember, I tried downloading the Dell IT Assistant ISO then tried to load it via the DRAC but couldn’t get it to work. Since I am remote from the server I wasn’t able to put a disc in the DVD-ROM and be there to check if it would boot that way. Agreed that would be much nicer than this clumsy way to do it, but desperate times call for desperate measures!
Have you had to update raid controller firmware remotely and did you need to update the drivers beforehand?
This was a while ago now, but I believe I did update RAID controller firmware using the same method as the other firmware. I did not have to update any drivers for that as I believe VMware was able to pick up any changes after a reboot and adjust accordingly. Fortunately, I had the luxury to be able VMotion all VM’s to another host, so if I hosed things up it wasn’t a big deal. But if you don’t have that ability, I’m sure I don’t need to remind you to be extremely cautious!
Tony, We are having a severe ongoing issue with QLogic 4050C and VMWare drivers (Our SAN is Equallogic). We are at the end of our rope with VM on this issue. Can you contact me via email and can I chat with you for just 5 minutes.
Hello Kim, I’d be happy to help, but I’m really not the best choice for support on this issue as my experience with VMware troubleshooting is fairly limited. Your best bet would be contact VMware or Equalogic direct, or the VMware forums (probably one of the best places for free advice!) but I’m guessing you probably already tried thatsince you’re at the end of your rope
Dude, you so totally rock for making this post!! I have been trying to figure out how to patch the firmware on my ESX servers for the longest time! Dell is worthless for information like this.
I just patched 6 servers using your method: BIOS, DRAC and BMC. All went perfectly.
Thanks a lot!
Chad
Hey Chad, that’s great news! Glad to hear it helped!
Ditto Chad…you rock!! I was pulling my hair out trying to use IT Assistant and Software Update….sounds so simple when you read it but it is an absolute bear. Many, many thanks!!
For dell updates, you can also download and install the OpenManage ServerUpdateUtility iso dvd (current version ís 6.1). This is bootable and can be update the bios etc. this way.
Works for all Dell PowerEdge servers
Spend SO much time searching for an easy solution
hope this help people in the same situation
Thanks Christian. I had heard of the downloadable OpenManage ISO and even had tried it back when I was doing this. But it didn’t work for some reason through the DRAC, so I was left with this method. I’ll have to take another look when I do my next BIOS updates.
1st of all, thank you for posting this. Step #7 states, “Migrate all the VM’s off the host you’re about to update…” Is this required or just a precaution in case anything goes wrong? Thanks again.
Hi Jeff, I had the luxury of having multiple ESX servers and VMotion, so as a precaution (and to keep the VM’s running seamlessly while I did the update) I migrated the VM’s off. This allowed me the luxury of having plenty of time to do the updates (or deal with a failed bios install) without affecting running VM’s. If you don’t have this luxury, I would say shut down all your VM’s before you do anything and ensure you have solid backups should anything happen. Perhaps it’s overkill, but I prefer to err on the side of caution
any chance that this can work on esxi 4.0 ? im getting a typeset: not found
Hmm, I would have thought it would work fine on 4.0. Unfortunately, I haven’t been able to upgrade to 4.0 yet so I’m not able to answer that question. Sorry
Thanks so much for this! Works perfectly under ESX 4.0 on a Dell R710
This worked Perfectly. We were struggling to update the Bios on our DELL R710 using ESX 4.0
But after following your steps and downloading the Linux Package, The Update went Well and Smooth. Thanks a Lot Tony
I keep getting PE2950_BIOS_LX_2.6.1.BIN: line 193: typeset: not found errors when trying to do the bios upgrade. This is esxi 4
Hello Andrew, I’ve never tested in ESXi. If I remember, ESXi doesn’t have a full Linux console so I’m not sure how it would work. My experience has only been on ESX 3.x.