Updating and Rolling Back ESXi
Contents
Contents
Updating ESXi
For this example I will be updating ESXi build 8169922 to ESXi build 13981272 . You can check the current build of an ESXi box by running the following command:
|
|
Updates come in the form of ZIP files, this ZIP file is usually downloaded from VMWare website .
After an update file is retrieved check that the hash of the file matches. This example is using the update for 13981272, so the information about this update can be found here .
|
|
Within an single update there are different profiles, each profile will update a different set of VIB (this is a vSphere installation bundle) files. For example, below there is a standard profile and a no-tools profile. The only difference is that the tools-light VIB will not be included, which contains the VMWare tools files ISOs.
Sometimes there is a profile that will only allow an administrator to install security updates.
|
|
The following command will perform a dry run of an update. It will show which VIBs will be updated and skipped.
In order to perform the real update omit the --dry-run parameter from the command, then after it is finished reboot the server.
|
|
Rolling Back an Update
It is possible to roll back to the previous version that was in place before the update.
There is a directory named /bootbank which keeps the core files used by ESXi to setup the system, when an update occurs it is the files here that are updated. Before an update begins all the contents in /bootbank are copied to /altbootbank. This allows for the possibility to roll back to the previous version by copying the contents of /altbootbank back into /bootbank.
In order to do this follow these instrctions:
-
Boot up ESXi.
-
Press SHIFT+R during boot menu in order to enter recovery menu.
-
The recovery menu looks as follows, press Y to perform the roll back.

After performing these steps ESXi will boot into the version that was present before the update.
Deeper Look at Update Procedure
Inside Update File
The update file is a ZIP that contains a set of files that are used during the update, the following is a description of a few of them.
-
index.xml: Information about the vendor and patch.
-
vendor-index.xml: Information about where metadata can be found, which points to the metadata.zip file.
-
metadata.zip: Contains metadata information, including profiles present in update and metadata about each VIB.
Furthermore, the vib20 folder contains all the VIB files that the update includes. This snippet below only shows 1 VIB files because there where so many.
|
|
Inside VIB File
VIB, or vSphere Installation Bundle, is a file similar to a ZIP archive that is used to distribute software packages for ESXi.
A few other VIB files may contain some other files, however, most will look like the UI VIB. This is the VIB that is responsible for the HTML5 web interface.
There are three files here. The descriptor.xml contains information about the VIB and the files it extracts into the system. The sig.pkcs7 contains a signature for the VIB file.
The most interesting file is esx-ui, this is a TAR archive compressed with GZIP. Inside this archive there are files for the web interface functionality. The thing to understand here is that the file esx-ui in the VIB is the same file that is placed into the /bootbank/esx_ui.v00 on the ESXi system. When ESXi boots it extracts the contents of the file.
|
|