There was an issue that was reported last November where ESXi 8.0 Update 2 was not detecting the onboard Apple NVMe device during an upgrade and I am happy to share the mentioned fix will be available as part of the pending release of ESXi 8.0 Update 2b release, which is schedule for today (02/29/24)!
Release day! π
(Pending) vSphere 8.0 Update 2b release is currently being staged to CDN ... just logged into my vCenter Server & you can see breadcrumbs. Give it till PST evening for bits/RN to be available
vCenter π: https://t.co/wV6OTFq1dA
ESXi π: https://t.co/yD5tD9qThk pic.twitter.com/64G7a8PP5K
β William Lam (@lamw.bsky.social | @*protected email*) (@lamw) February 29, 2024
When you boot into the ESXi 8.0 Update 2b installer, you should now see the Apple NVMe device, which may also contain your ESXi installation and you will be able to select it and upgrade!
Disclaimer: Support for ESXi on Apple Hardware (Mac Pro and Mac Mini) has officially concluded with ESXi 7.x, so this is purely for informational and/or for homelab use purposes.
I was wondering, if I upgrade my homelab to 8.0 update 2b while using the free license I got prior the recent Broadcom change, will it break my host?
Nope, nothing should change as its still same base version
That's great to hear William, thanks!
Do you know at what version should we expect our existing free and permanent licenses to stop working?
Do you expect all 8.x updates to remain compatible with pre-Broadcom permanent licenses?
I can't comment on what may or may not change in the future but typically ESXi licenses issued are fully compatible within the major release (including patch/update releases), so I don't expect changes there
Why the huge jump in build numbers for this release William?
Hopefully it didn't take engineering 47 million iterations to fix this π
ESXi 8.0 U2 - 22380479
ESXi 8.0 U2b - 69171464
Funny. At least it's not that bad π
VMware ESXi 8.0 Update 2b | 29 FEB 2024 | Build 23305546
vCenter Server 8.0 Update 2b | 29 FEB 2024 | GA ISO Build 23319993
Thats great William.
Aside from building a bootable installer, will it also be ok to just use the update command via CLI to update?
esxcli software profile update -p ESXi-8.0U2b-23305546-standard -d https://hostupdate.vmware.com/software/V
UM/PRODUCTION/main/vmw-depot-index.xml
Thank you.
Yup, no changes there and it would break bunch of other things
For me this release (8u2b) is very important, as it should fix the CBT bug with hot-adding disks.
Hey Christopher, do you happen to have a link to the issue and can confirm it was resolved? Thanks.
Release notes mention it. Resolved issues:
PR 3316967: Changed Block Tracking (CBT) might not work as expected on a hot extended virtual disk
Problem for those not aware:
https://kb.vmware.com/s/article/95965
https://kb.vmware.com/s/article/95940
Confirmed successful in-place ESXi update on a 2018 Mac mini w/ 2TB Apple SSD, from ESXi-8.0U1c-22088125-standard to ESXi-8.0U2b-23305546-standard using the CLI command:
esxcli software profile update -p ESXi-8.0U2b-23305546-standard -d https://hostupdate.vmware.com/software/V
UM/PRODUCTION/main/vmw-depot-index.xml
The internal Apple SSD Datastore, using the "nvme-community-driver_1.0.1.0-3vmw.700.1.0.15843807-component-18902434" as well as an external TB3 PCI Samsung NVME Drive, using the "nvme-pcie" driver, have loaded properly and correctly, and all the VM's are accessible and operational!
My thanks to William for staying on top of this, and to the VMware developers for allowing the unsupported Mac mini's to breathe fresh versions a bit longer!
Sadly failing to update here on my Dell SFF OptiPlex 7090.
2024-03-03T23:01:46Z In(14) esxupdate[2167625]: Error parsing https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/esx/vmw/vmw-ESXi-8.0.0-metadata.zip:
2024-03-03T23:01:46Z In(14) esxupdate[2167625]: Successfully executed cmd: localcli --plugin-dir /usr/lib/vmware/esxcli/int/ networkinternal firewall firewallRuleset set --ruleset-id esxupdate --service-name esxupdate --enabled false
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: Traceback (most recent call last):
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: File "/usr/lib/vmware/esxcli-software", line 1135, in
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: main()
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: File "/usr/lib/vmware/esxcli-software", line 1122, in main
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: ret = CMDTABLE[command](options)
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: File "/usr/lib/vmware/esxcli-software", line 491, in ProfileUpdateCmd
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: livePatcher = Transaction.LivePatcherMount.InitProfileInstallUpdate(
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: File "/lib64/python3.8/site-packages/vmware/esximage/Transaction.py", line 2521, in InitProfileInstallUpdate
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: newPatcherComp, newPatcherVibs = _getPatcherForProfileCmd(profileName,
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: File "/lib64/python3.8/site-packages/vmware/esximage/Transaction.py", line 2933, in _getPatcherForProfileCmd
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: newProfile, _ = Transaction.GetProfileAndMetaFromSources(
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: File "/lib64/python3.8/site-packages/vmware/esximage/Transaction.py", line 1518, in GetProfileAndMetaFromSources
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: meta = Transaction.GetMetadataFromUrls(metadataUrls, depotUrls)
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: File "/lib64/python3.8/site-packages/vmware/esximage/Transaction.py", line 170, in GetMetadataFromUrls
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: meta.Merge(Transaction.ParseDepots(depotUrls),
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: File "/lib64/python3.8/site-packages/vmware/esximage/Transaction.py", line 154, in ParseDepots
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: dc.ConnectDepots(depotUrls, ignoreerror=False)
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: File "/lib64/python3.8/site-packages/vmware/esximage/DepotCollection.py", line 339, in ConnectDepots
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: return self._connectDepots(depotUrls, timeout,
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: File "/lib64/python3.8/site-packages/vmware/esximage/DepotCollection.py", line 437, in _connectDepots
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: metanode = self.ParseMetadata(metaurl, metaFile,
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: File "/lib64/python3.8/site-packages/vmware/esximage/DepotCollection.py", line 1000, in ParseMetadata
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: metanode.ReadMetadataZip(localpath, validate=validate)
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: File "/lib64/python3.8/site-packages/vmware/esximage/Metadata.py", line 182, in ReadMetadataZip
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: getattr(self, dn).AddFromJSON(content, validate)
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: File "/lib64/python3.8/site-packages/vmware/esximage/ConfigSchema.py", line 282, in AddFromJSON
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: jsonStr = byteToStr(jsonStr)
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: File "/lib64/python3.8/site-packages/vmware/esximage/Utils/Misc.py", line 28, in byteToStr
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: return "".join(['%c' % c for c in byteString])
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: File "/lib64/python3.8/site-packages/vmware/esximage/Utils/Misc.py", line 28, in
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: return "".join(['%c' % c for c in byteString])
2024-03-03T23:01:46Z Er(11) esxupdate[2167625]: MemoryError
Meant to say, I'm only 1 build behind, as on ESXi-8.0U2-22380479-standard.
Maintenance mode, rebooted, and tried again.
Sadly, still fails.
Will, make sure to use "ESXi-8.0U2b-23305546-standard", as that build has the fix!
You also need to allow http client access via your firewall then disable it, so the commands are:
#esxcli network firewall ruleset set -e true -r httpClient
#esxcli software profile update -p ESXi-8.0U2b-23305546-standard -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
#esxcli network firewall ruleset set -e false -r httpClient
#reboot
The update will take a while then say "Succeeded need to reboot". Close the firewall then reboot. The reboot command automatically shuts down the VM's properly and then reboots the host.
Worked a treat for me on a 2018 Mac mini w/ 2TB Apple NVMe SSD.
SamoTech, I have have another custom host running 7.0u3, will this work to update it too?
Hey Greivin, yes, the process works the same however the main command to update ESXi will need to include the correct v7.x build number.
To find the v7.x build numbers to use in the update command just issue this:
#esxcli software sources profile list -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml | grep -i ESXi-7
You'll get a list of ESXI v7.X updates available, so just look for the newest one with "-standard" so you get the tools included. Then replace it in the update command I posted before, but remember to 1st enable http and then also disable it afterwards for security. You can always disable it after the reboot, but don't forget....
Thanks for the reply.
ESXi-8.0U2b-23305546-standard is the build that I am trying to install that is giving me the MemoryError.
Just tried again and same.
Notice that first error:
Error parsing https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/esx/vmw/vmw-ESXi-8.0.0-metadata.zip:
It's not liking this zip.
I've checked internally as we've had few other reports of this issue and it is due to size of the update metadata that is causing the parsing resources to go beyond what ESXCLI is configured with by default. The recommended workaround is to download the offline depot and update that directly rather than updating via online depot
I was able to find a workaround as I was also hitting this issue in my homelab, details posted https://williamlam.com/2024/03/quick-tip-using-esxcli-to-upgrade-esxi-8-x-throws-memoryerror-or-got-no-data-from-process.html and I've also shared this back w/Engr
William, it worked for me on my 2018 Mac mini, maybe a setting needs to be tuned?
I can confirm that I have customized the original 8.0U1c USB install media, but this customization actually reduced the space in "OSDATA" instead of taking the defaults which use a lot more space.
I edited the /EFI/BOOT/BOOT.CFG to keep the installer from taking too much space for the OSDATA partition, and changed the " kernelopt=" line to read:
kernelopt=runweasel systemMediaSize=min autoPartitionOSDataSize=20480 cdromBoot
Maybe this is why the online depot update worked for me?
Awesome, thanks for the work-around. Successfully upgraded now π
I see a lot of disconnections from the internal drive like:
Lost access to volume 65b4e580-207bbaf6-91c0-cc2db702b02c ( NVME 1TB ) due to connectivity issues. Recovery attempt is in progress and outcome will be reported shortly.
Lost access to volume 6454e066-0743dd54-c99b-38f9d302e6ed ( Internal DS ) due to connectivity issues. Recovery attempt is in progress and outcome will be reported shortly.
I don't know if it's a known issue, but I'm going to downgrade to 8.0U1, before the upgrade was working perfect.