When you try to install a VMware ESXi Update using esxcli, the upgrade fails with the following error message:
"[Errno 28] No space left on device"
The problem is caused by ESXi not having enough free space available to extract the installation packages. This article explains how to solve the issue by enabling swapping to a Datastore.
GUI Method
You do not need a vCenter to enable host swapping. It can be done from the ESXi Host Client.
- Open ESXi UI (https://[ESXi-IP-Address]/ui/)
- Navigate to Host > Manage > System > Swap
- Click Edit settings
- Enable Swapping and select a datastore (ds1 in that example)
- Click Save
- Changes are active immediately, there is no need to reboot the host.
CLI Method
You can also activate Datastore Swapping with the esxcli sched swap system command:
# esxcli sched swap system set -n ds1 -d y # esxcli sched swap system get Datastore Active: true Datastore Enabled: true Datastore Name: ds1 Datastore Order: 1 Hostcache Active: false Hostcache Enabled: true Hostcache Order: 0 Hostlocalswap Active: false Hostlocalswap Enabled: true Hostlocalswap Order: 2
Another workaround that worked for me on vmware 67u3 iso to latest patch (I got the same error) was to first manually upgrade vmware tools light to latest version. Then the "esxcli software profile update" command workde.
Good advice, thanks. Helped me on a 4 GB stick, and now running 7.0b on my NUC7i3BNH.
In my case this didn't work. I ended up manually downloading the VIBs on a datastore in a directory and doing a loop install of the VIBs:
for i in $(cat *.vib); do esxcli software vib install -f -v /vmfs/volumes/datastore1/scratch/$i; done