LongWing Ltd

 

 

 

Work In Progress!

Lots of incoherent ramblings going on here... you have been warned!

VMWare ESXi 6.7 host updating:

Had issues updating my VMWare 6.7 ESXi host recently...

I tend to use https://esxi-patches.v-front.de/ to do manual updates.

Note - I'm using a HP Proliant DL360 Gen8, I installed a HPE 6.5 ESXi image and then updated from there to 6.7.

Recently I had to rebuild my ESXi host and have found that running any updates brings up this error:

[InstallationError]
    [Errno 28] No space left on device
          vibs = VMware_locker_tools-light_10.3.10.12406962-14141615     
Please refer to the log file for more details.

Lots of websites suggest the following:

  • Logon to web ui
  • Go to Host, Manage, System
  • Select the Swap entry and change it to be enabled
  • Pick a datastore of your choice, and enable Host cache and Local swap

I have done this and found it doesn't always work. I'm running the ESXi OS on a 256gb SDcard so lots of space, however its partitioned in the usual ESXi manner...

 

I found the workaround was to install the updates but try and negate installing the VMTools addition. For example instead of performing:

esxcli software profile update -p ESXi-6.7.0-20190801001s-standard \
-d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml

remove the '-standard' and replace with '-no-tools':

esxcli software profile update -p ESXi-6.7.0-20190801001s-no-tools \
-d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml

This seems to work for all the updates right up to ESXi-6.7.0-20221004001-standard (Build 20497097).

After this has been done there will be a need to install the tools. This can be downloaded from the VmWare customer portal

I extracted the Zip locally and then uploaded the VIB files to a datastore that had the most space.

SSH on the ESXi server, navigate through to the datastore path and run the command:

esxcli software vib update -v "/vmfs/volumes/{GUID of datastore}/VIBsPath/VMware_locker_tools-light_12.1.5.20735119-20735876.vib"

 

 

Just upgraded to 7.0 on the Microserver Gen8

Will probably have to employ some work arounds like above but it seems to have issues with unsupported CPUs... to get round this find the BOOT.CFG in your install media and Add “ allowLegacyCPU=true” to the end of the line starting with “kernelopt=“

When performing updates add "--no-hardware-warning" to the end of a the update request in SSH.

eg:

esxcli software profile update -p ESXi-7.0U1a-17119627-standard \
-d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml --no-hardware-warning

 

Using ESXCLI to upgrade ESXi 8.x throws MemoryError or Got no data from process

This issue is due to the fixed amount of memory (300MB) that is assigned to the ESXCLI process when it runs and because the VMware's online patch repository has gotten bigger with each release, additional memory is required to parse the current repository, which exceeds the fixed limit. You can see this limi by running: grep 'mem=' /usr/lib/vmware/esxcli-software

This was not evident in ESXi 7.0, hence not experienced when upgrading to 7.0u3, but does happen when going to 8.0u3...

A workaround that works by increasing memory to 500mb:

    esxcli system settings advanced set -o /VisorFS/VisorFSPristineTardisk -i 0

    cp /usr/lib/vmware/esxcli-software /usr/lib/vmware/esxcli-software.bak

    sed -i 's/mem=300/mem=500/g' /usr/lib/vmware/esxcli-software.bak

    mv /usr/lib/vmware/esxcli-software.bak /usr/lib/vmware/esxcli-software -f

    esxcli system settings advanced set -o /VisorFS/VisorFSPristineTardisk -i 1

Follow this up with the usual upgrade from the ESXi patch tracker.

 

 

 

 

 

 

 

Email us!