How to Perform an ESXi 4.0 to 4.1 Upgrade
Yesterday VMware released the next iteration of their cloud virtualization platform. If you are anything like me you are dying to get your old 4.0 ESXi systems updated pronto. This method of upgrade is going to focus on only this scenario:
1) Single (or multiple) ESXi 4.0 server upgrades to 4.1 using the vSphere CLI (command line interface).
What would have been great was for VMware to continue supporting their vSphere Host Update Utility (VHUU) which was working great for patching and upgrading my ESXi 4.0 machines and provided a nice GUI interface, however it seems in their effort to keep both the ESXi/ESX distributions and the vSphere client installers smaller they have removed that functionality altogether. The only odd thing I notice is that in this VMware KB Article #1022140 they make reference to a VHUU 4.1 that I have yet to find a download for or an installer for within the ESXi or vCenter updated binaries. I may be editing this in the future to include that procedure.
So in my test lab I have a single ESXi 4.0 U2 server. On my Windows 7 desktop I have downloaded and installed the vSphere CLI. I have the 4.0 U2 version installed, but will update to the 4.1 CLI after upgrading my test server.
- Visit the ESXi 4.1 Downloads page and go to the ESXi Installable 4.1 download section and downloading the 4.0 to 4.1 upgrade file (around 200MB).
- Place the ESXi host in Maintenance Mode and either power off or migrate all VMs on the host
- Launch the vSphere CLI by navigating to Start –> All Programs –> VMware –> VMware vSphere CLI –> Command Prompt
- type cd bin
- Enter the following syntax : vihostupdate.pl -url https://ipaddressofesxiserver/sdk/webservice -i –bundle pathtodownloadedzipfile
- Provide the administrative account username and password when prompted
- After the install completes you will be instructed to reboot your ESXi Host.
- After your host comes back up exit maintenace mode
Now that you have now updated your ESXi host from 4.0 to 4.1 you should update your vSphere Client and CLI versions to 4.1 as well. use the same vSphere CLI link used above to get the ESXi 4.1 download page link above to find the vSphere client. If you are in a larger environment the suggested upgrade method is to upgrade your vCenter Server and use the VMware Update Manager to upgrade your hosts.
Just to add another find: I did get this ominous error message “error connecting to server at ‘https://localhost/sdk/webservice'” as well. Found another hint that (under Windows) this can have something to do with copy&paste to a command line window. It turned out that this can be related to different charset encodings in use. Besides manually typing the commands, that is what helped in my case: I copied the commands to be executed into a text file in Notepad++, edited them there to reflect my enviroment and then changed the charset encoding to OEM-US. After that I checked for and edited any ‘special characters’ like minus signs to be encoded correctly. Only now I was able to copy&paste to the command line without getting any errors.
HTH somebody.
Thanks, I really appreciate you sharing this!
FYI to your other readers, VMWare’s upgrade instructions shown here don’t work for me: http://www.vmware.com/pdf/vsphere4/r41/vsp_41_upgrade_guide.pdf
Only the instructions shown above worked for me!
Thanks!!
Nice clean easy upgrade. Why can’t VMware provide easy instructions like these.
Great instructions, helped a lot. I really do hope they bring out a new vSphere Host Update Utility, it made patching a breeze.
You can also download the cli from the ESXi host itself. Just browse to the IP address in any web browser, download and install.
Also, your vSphere client will prompt to update the first time you log into your esxi 4.1 box.
Thanks
Hi, Nice guide but this one does not longer work.
I’m using vSphere CLI 4.1 and with the command provided I got error message:
Install operation failed: The metadata or bundle option must be specified.
I had to change order of the commands to make it work, this is my modified command line:
vihostupdate.pl -i -b pathtodownloadedzipfile –url https://ipaddressofesxiserver/sdk/webserivce
I also had to remove a bundle called VEM400-200906002-BG since I got problem with dependencies: More info: http://communities.vmware.com/message/1575836
Regards rancor
Interestingly, the only upgrade command that would work for me was the one in the thevsp_41_upgrade_guide.pdf, linked above, page 61 step 6:
vihostupdate.pl -i –server 10.5.10.104 -b “D:\upgrade-from-ESXi4.0-to-4.1.0-0.0.260247-release.zip”
Any other syntax would produce nothing but an extremely disappointing:
Install operation failed: The metadata or bundle option must be specified.
This was while updating ESXi 4.0.0 build-261974 machines from a Windows Server 2003.
Wow — thanks guys … had 4.1 CLI too … and your extra comments got me through … again thanks to all
Excellent – thanks for such an easy to follow guide.
All machines are now upgraded and running happily.
Great guide. Thanks!
Thanks to you, i am up to date now. You wrote a excellent guide
A simple clear step-by-step guide. 10/10
Thank you and well done!
Boy, this is exactly what I was looking for.
I had to install ESXi 4.0 as 4.1 would not install on a brand new Proliant ML350G6! Why does VMWare make this so complex???
For once I can’t wait to get into work and try this! Thanks all for the hints!
Bill
Here is the one that finally worked for me. I also went to the guide that Mike S mentioned above. All other tries elicited various errors. Glad this is over with.
C:\Program Files\VMware\VMware vSphere CLI>vihostupdate.pl -i –server 172.16.0.100 –username root –password @@@@ -b C:\upgrade-from-ESXi4.0-to-4.1.0-0.0.260247-release.zip
Please wait patch installation is in progress …
The update completed successfully, but the system needs to be rebooted for the changes to be effective.
C:\Program Files\VMware\VMware vSphere CLI>
And the confirmation below which I was happy to see!
C:\Program Files\VMware\VMware vSphere CLI>vihostupdate.pl –server 172.16.0.100
–query
Enter username: root
Enter password:
———Bulletin ID——— —–Installed—– —————-Summary——-
———-
ESXi410-GA 2010-09-21T16:00:52 ESXi upgrade Bulletin
Hello,
thank you very much for this guide!
One question to the configuration of the ESXi host. Will this be kept after the upgrade? Can I restart the updated host with the “old” configuration or is there a way to save the configuration and then to restore after the upgrade?
Thanks, Tom
I was very happy when I found nice and simple documentation. But I am unable to get the upgrade to complete. I continue to get this error “Error connecting to server at ‘https://localhost/sdk/webService': Perhaps host is not a Virtual Center or ESX server” Any help is greatly appreciated!!! I have tried the following commands with no success…
vihostupdate.pl -i -b Z:\upgrade-from-ESXi4.0-to-4.1.0-0.0.260247-release.zip –url https://192.168.111.247/sdk/webserivce
vihostupdate.pl –server 192.168.111.247 -i -b upgrade-from-ESXi4.0-to-4.1.0-0.0.260247-release.zip -B ESXi410-GA-esxupdate
vihostupdate.pl -i -b Z:\upgrade-from-ESXi4.0-to-4.1.0-0.0.260247-release.zip –url https://192.168.111.247/sdk/webserivce
vihostupdate.pl -i –server 192.168.111.247 -b “Z:\upgrade-from-ESXi4.0-to-4.1.0-0.0.260247-release.zip”
Use vSphere CLI 4.1 to update!!
I first started with the vSphere CLI 4.0, thinking it needed to be the same as the currently installed ESXi server but none of the suggested commands would work. I upgraded to vSphere 4.1 and voila, the original command started to work.
Command I used…
————————-
C:\Program Files\VMware\VMware vSphere CLI\bin>vihostupdate.pl -url https://ipaddressofesxiserver/sdk/webservice -i -bundle E:\Support\VMWare\ESXi\upgrade-from-ESXi4.0-to-4.1.0-0.0.260247-release.zip
Enter username: root
Enter password:
Please wait patch installation is in progress …
The update completed successfully, but the system needs to be rebooted for the changes to be effective.
————————-
Takes about 4-5 mins and for the whole time, I had the vSphere 4.0 Client connected so I could monitor progress and request the ESXi host to reboot afterwards.
Wait another 5 mins for ESXi to boot back up and can now connect from vSphere 4.1 Client and the version number is 4.1.0, 260247.
Nice!
Jon Mc, you “Da Man”.
I upgraded my RAID driver (3Ware 9650SE) on 4,0 U1 before starting on going to 4.1.
Upgraded to CLI 4.1 and kept vSPhere 4.0, used your command and voila, all done.
Works a treat.
Thanks all..
thanks worked like a charm
now I have to remote into all my clients and do it
Your approach worked perfectly, first time out of the gate. My biggest problem was not having the CLI installed. Did that, followed your instructions, and the upgrade was smooth as silk.
Thanks for taking the time to post this information.
Does anyone else hate the Update Manager as much as I do? The Host Update Utility was nice and simple….scan my hosts, tell me what patches are missing, and give me the option to install them. To me, the Update Manager is just bloated and overly complicated.
Thanks! Worked for me!
Thanks for the post – I ended up with an error:
Error: Server version unavailable at ‘https://localhost/sdk/vimService.wsdl‘
So I tried a variation of the command you had posted, and received a different error:
Install operation failed: The metadata or bundle option must be specified.
Finally I worked it out to the following command:
vihostupdate.pl -server serveripaddress -i -b F:\upgrade-from-ESXi4.0-to-4.1.0-0.0.260247-release.zip
Thanks! This did the trick. This was a great help!
Using 4 U3/CLI 4.1.
vihostupdate.pl -url https://192.168.1.170/sdk/webservice -i -bundle E:\vmware\4041upgrade\upgrade-from-ESXi4.0-to-4.1.0-0.0.260247-release.zip
Anyone know why:
a: order of parameters would matter, and
b: why one order works for one person and another order works for another person?