There are several methods available to patch ESX 3i hosts when the server is deployed without VirtualCenter.
- First, one can use the VMware Infrastructure Update client to up the host, second,
- second the host can be updated with the RCLI command vihostupdate.pl and
- lastly one can install the patch using the remoteInstall utility that comes bundled in the patch.
Installing a patch with the VMware Infrastructure Update (VIU) client
1) The VIU client will be installed along with the Virtual Infrastructure (VI) client and you can start the application by selecting the shortcut All Programs\VMware\VMware Infrastructure Update. If you don’t have the option for the VIU client you may need to reinstall the VI client choosing to do a custom install. You can use the Check Now button to download the latest patch for ESXi. Alternatively, if you have already downloaded the patch, you can click on Add Files and browse to the patch ZIP file that was downloaded.
NOTE: if you are running Vista SP1 or higher you may need to run the VIU client with elevated priveleges. Right click on the VIU client icon and select “run as administrator” to start the client.
2) THe VIU client may display the below message, but in fact it will have extracted the zip file to this folder %LOCALAPPDATA%\VMware\VMware Update Client\packages. Properly extracted, a single patch should display a folder structure similar to the second image below.
3) After the patch has been added to the package cache, select the Hosts tab and then check any hosts you wish to update. The list of hosts in generated from a list of hosts which you have connected to with the VI client. Click Ok to install the patch and then Yes on the below prompt. The window in the second image will appear showing a summary of actions to be taken. Click Install Updates to begin the process and you will then be prompted for login information.
4) Once the update has completed click on Continue to close the update wizard. You will have to restart your ESX 3i host to load the new firmware.
Installing a patch with vihostupdate.pl
Once the zip file for the patch has been downloaded it can either be extracted with the vihostupdate command for future installation, or it can be extracted and installed in the same step. In the below example, the patch is extracted and installed in one step.
It is necessary to have the Remote Command Line Interface for ESX 3i installed to run this command (download). The command will extract the contents of the zip file to the current folder. If you are using Windows, the path to the VMware VI Remote CLI\bin folder should be added to the system path to ensure the command will run. Once the patch has been installed, you will need to manually restart the host.
vihostupdate.pl --server <server_name> -i -b ESXe350-200712401-O-BG.zip
Note: PANIC: Cannot open vmkernel.gz
If the below image is displayed when restarting the host, then the patch has failed to install properly. Press enter and ESX 3i will boot from the prior firmware image. An ESX 3i install has 2 firmware banks. A patch is always installed on the standby back. After the patch is applied and the server is rebooted, the server will be booted from the newly patched firmware bank, and if successful, it will be made the active bank.
Installing a patch with remoteInstall.exe
1) Download and extract the patch zip file. In the case of the patch ESXe350-200712401-O-BG, only the firmware for ESX has been updated. Go to the folder with the extracted files and then extract the files from ESXe350-200712401-I-BG.zip.
Alternatively, you can use the VIU client or the command vihostupdate.pl to extract the patch zip file. Once you have extracted ESXe350-200712401-I-BG.zip you should see the following files.
2) Run the below command to install the patch. You must specify a user and password for the command to work. The progress of the update will be displayed. Once the patch is installed, reboot the ESX 3i host. Once rebooted, the host should display that it is running the build of the patch you downloaded (in this example that would be build 71173).
remoteInstall.exe -h <server_name> - u root - p password