In this guide you'll learn how-to patch VMware vCenter Server. Since there has been few changes since the vCenter Server 5.5, now in the vCenter server 6 the things works little bit differently. Previous version of VMware vCenter server appliance has had a UI which if you remember was accessible through a port 5480, but the new vCenter server 6 (VCSA) appliance does not. The only way for now to patch the VCSA is through the command line. This article will show the patching process of VMware vCenter server appliance.
VMware vCenter Server Appliance (VCSA)
The Linux based vCenter server is now fully comparable in terms of scalability to Windows based vCenter server except vSphere Update Manager which can coexists with VCSA but needs to be installed in Windows VM. This might be a showstopper for some.
Where to get the patches from?
Head to this page at VMware Patch Download Center and select the VC and 6.0.0 version, then select the VMware-vCenter-Server-Appliance-6.0.0.5110-2656759-patch-FP.iso (a quite large file) to download…
As you might already noticed there is no Virtual Appliance Management Interface, or VAMI present in VCSA 6 so the only way to patch Linux version of VMware vCenter server is through the CLI. If you want to install VMware vCenter Server you might want to check my detailed vCenter Install Guide. (Linux and Windows)
Now Let's get back to our patching of VCSA 6. No worries, it stays simple. As I instructed you in previous step by now you should have downloaded the large ISO file. Next step is to mount the ISO to the VM. You can do this simply by using vSphere client….
Once done we will use the the software-packages utility to install the patches directly from an ISO image. (Note: you can also stage the patches and then install them.). First, Log in to the appliance as root ( the default user with a super administrator role is root) and Install the patches.
To install patches directly from an ISO image enter this command:
software-packages install -- iso
What happened is that my Putty windows was too small to see all the text and when I hold the Enter key to scroll down I had passed the point where you have to accept the EULA. So the patches got staged but not installed just yet. Never mind, because they were staged so from there I just needed to execute the
software-packages install –staged
which had installed my patches… 🙂
Before running this command you can check which patches will gets actually installed (to see which ones are staged) with this command:
software-packages list --staged
Then reboot via vSphere client or run this command to reboot:
shutdown reboot -r
(Note: that you must enter a reason for which you rebooting..)
You're done.
How to stage patches: (Optional)
1. Download the ISO image from the VMware Web site to a local disk.
2. Mount the ISO image to the appliance.
3. Access the appliance shell and log in as a user who has a super administrator role. (root account)
4. In order to stage the patches run this command:
software-packages stage --iso
Note that the staging area must have enough free space. The patches included in the ISO image are also validated and checked if they're not altered.
Getting Help
software-packages –help
Hope you'll have happy patching… -:)
Source: vSphere 6 documentation
Doug McIntyre says
FWIW: Your sample commands warped the double dash the appliance CLI actually needs into a single dash..
So
software-packages install –-iso
software-packages install –staged
etc
Vladan SEGET says
Oh, damn WordPress formatting! Of course.
Thanks for your comment.
Neil says
How do you go about patching an EXSI host and VCSA when it’s running on the same ESXI host. Do you need to shutdown or migrate all VMs first?
Vladan SEGET says
Host must go to maintenance mode for patching. So in case you have a single host, you must stop all VMs > put in the maintenance mode > patch > restart > start your VMs. That’s all.
ray says
How do we go about do a upgrade? From vcsa 6 > vcsa 6.0.0a (same as above)? Do we perform the staging/install or start the installation then upgrade?
Enterprise IT says
When I try to run any of the commands like “software-packages list”, I get an error “command not found”. After SSH’ing into vCenter appliance, my prompt looks like “vCenter200:~ #”
There must be some initial command to get the appliance to accept commands? I noticed in your example and others your prompt says “command>”. How do I get that? There must be the equivalent of “Enable”. Odd that all instructions including VMWare’s seem to skip this piece.
Bill Martin says
I had the same issue, and the docs are no help on the Command> missing.
At the prompt type appliancesh
One of my guys figured it out by seeing which shell is used by the postgres user 😛
Daniel Rubio says
For god shakes… Thank you so much!!! last 20 min looking for this! 🙂
Eternally grateful!
ross says
Yeah thanks from here too. Surprised it wasnt mentioned anywhere else i looked.
Christoffer says
If you run an external (appliance) PSC, do you patch that the same way?
Paul says
Also if like me you had a PSC where the software-packages command was missing try this instead:
# python /usr/lib/applmgmt/support/scripts/software-packages.py