Let's have a look at some of the principal differences in storage, networking (drives), and other factors when trying to upgrade or install on unsupported hardware, the latest VMware ESXi 7.0 hypervisor. This post lists some TOP differences between ESXi 6.7 and ESXi 7.0.
First of all, VMware ESXi 7.0 has a completely new partition layout. As such, you can't revert back (via [Shift-R] to initiate the recovery mode and eventually recover the previous ESXi version. The ESXi 7.0 has only 4 different partitions compared to the previous release which has had 8.
Concerning CPU, VMware limits the number of cores per license to 32 (unlimited before) so if you buy a 1CPU license you will only be able to have CPU with 32 cores, otherwise, you'll need 2 licenses. If the CPU has more than 32 cores, additional (per-CPU) licenses are required. For example, for 48 core CPU, you'll need 2 licenses.
This affects not only paid VMware vSphere/ESXi as ESXi Free version according to the latest VMware vSphere 7 licensing PDF concerning VMware ESXi Hypervisor says that:
There are no restrictions on the number of physical CPUs per host and on the amount of RAM per server/host
However, I would not put my hand in the fire for that, and if someone who has a possibility to test with let's say 48 core CPU, I'd be grateful to hear back…
TOP differences between ESXi 6.7 and ESXi 7.0 – The details
Previously you could install ESXi on small, 1 GB USB sticks. However, ESXi 7.0 rises these requirements to more than 3GB of disk space (Exactly 3.72 GB to be correct). The recommended size is actually 32 Gb. What's interesting is the fact that while the size of the boot partition (100MB) does not change, the other partitions sizes change depending on which size of media is used for the installation.
The examples from VMware show media size from 4Gb to 128 and over and as you can see, if you have a, for example, an SSD drive with over 128Gb, the remaining space can be used for creating a local datastore.
Img. courtesy of VMware
Apart from HDD, SSD, and NVMe, you can also use boot from a SAN LUN.
The minimal requirements are:
- 8GB for USB sticks or SD devices (4Gb if you're upgrading from ESXi 6.7).
- 32GB for other boot devices like hard disks, or flash media like SSD or NVMe devices.
- A boot device must not be shared between ESXi hosts.
VMware ESXi 7.0 phased out some drivers so during installation or upgrade you might have problems finding your network devices. There are some discussions and solutions for some popular ESXi hardware, such as Intel NUCs, where you'll have to download a VIB and install it or recreate your ESXi installation ISO.
But in this post, we won't go into details as we don't have that hardware in the lab. Better do your own research (DYOR) if you facing issues. I know that as a workaround (or addition) you can install a VIB for USB NICs provided as a VMware Fling, in case your hardware isn't fully supported or if you're facing issues with your network card.
This Fling supports the most popular USB network adapter chipsets found in the market. The ASIX USB 2.0 gigabit network ASIX88178a, ASIX USB 3.0 gigabit network ASIX88179, Realtek USB 3.0 gigabit network RTL8152/RTL8153 and Aquantia AQC111U.
Many Linux drivers and packages did not make it to the ESXi 7.0 ISO.
On the image below you can see that ESXi 6.7 U3 has 144 packages and drivers in total while ESXi 7.0 has only 75! That's a lot less -:)
During the upgrade to vSphere/ESXi 7 you might get this message:
ERROR The CPU in this host is not supported by ESXi 7.0.0. Please refer to the VMware Compatibility Guide (VCG) for the list of supported CPUs.
vSphere 7.0 no longer supports the following processors:
- Intel Family 6, Model = 2C (Westmere-EP)
- Intel Family 6, Model = 2F (Westmere-EX)
You can fix it with what's called a CPU “mask” where you actually hide the identity of CPU and pass through the identity of a supported CPU so ESXi can boot up and run. Note that this is not supported by VMware so if you do that you should only run lab environment or some monitoring workloads.
You'll need to append an ESXi boot option which will allow you to bypass the unsupported CPU during the installation/upgrade. Just use SHIFT+O and append the following line:
If you want, you can modify the original ESXi Installation ISO so you don't see the message at all:
On ISO image go to this section and look for:
\UPGRADE\PRECHECK.PY script that is responsible for verification of the CPU during installation/upgrade:
Checkline 1720 allowLegacyCPU = True
Remember that ESXi 7.0 requires the NX/XD bit to be enabled for the CPU in the BIOS and to support 64-bit virtual machines, support for hardware virtualization (Intel VT-x or AMD RVI) must be enabled on x64 CPUs. This is already known and I assume that folks that are datacenter admins already know this, but just in case, I prefer to say that again.
ESXi needs at least two CPU cores, which is quite minimal.
Upgrades and event. problems
As for upgrades, a part of an outdated CPU or network drivers due to the Linux vmkernel stack change. In fact, since vSphere 5.5, VMware introduced the Native driver stack with the plan to move away from the VMKlinux driver stack. And you see, now we're getting closer.
Using only Native drivers allows for overall VMkernel CPU utilization and memory usage savings, while providing support for new hardware device features like RDMA and support for 100GbE NICs.
Many people (including me in the past) are running ESXi on commodity hardware with Realtek 8168/8169 NICs. Those NICs no longer works.
Upgrade from ESXi 6.7 to 7.0 via Offline Zip File
Download the VMware vSphere Hypervisor (ESXi) Offline Bundle and copy it to the datastore visible by the host. Then run the following command via Putty SSH window:
esxcli software profile update -d /vmfs/volumes/[DATASTORE]/VMware-ESXi-7.0.0-15843807-depot.zip -p ESXi-7.0.0-15843807-standard
Upgrade from ESXi 6.7 to 7.0 via the Internet
Enter those commands, one after the other:
esxcli network firewall ruleset set -e true -r httpClientesxcli software profile update -p ESXi-7.0.0-15843807-standard -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xmlesxcli network firewall ruleset set -e false -r httpClient
If you want to check which versions for ESXi 7.0 are contained within a remote depot, please use this command:
esxcli software sources profile list -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml | grep ESXi-7.0.0
You should see at least two different versions there. One with and one without. Pick the one you wish.
Unless it is for lab environments, you should only use hardware certified for vSphere 7.0. If your hardware is not certified for vSphere 7.0 it's better to stay on 6.7 and patch as long as you can.
More from ESX Virtualization
- vSphere 7.0 Download Now Available
- vSphere 7.0 Page [All details about vSphere and related products here]
- VMware vSphere 7.0 Announced – vCenter Server Details
- VMware vSphere 7.0 DRS Improvements – What's New
- Upgrade from ESXi 6.7 to 7.0 ESXi Free
- USB Network Native Driver for ESXi Released as Fling
- What is VMware Skyline?
- What is vCenter Server 7 Multi-Homing?