VMware publishes a guide called the Hardware Compatibility Guide (HCG), which lists the various hardware components that are supported by each version of ESX and ESXi. This very important guide is split up into different sub-guides which include systems (server make/models), storage devices (SAN/iSCSI/NFS) and I/O devices (NICs/Storage Controllers) and is updated frequently.
This guide is very important for two reasons. The first is that ESX and ESXi have a limited set of hardware device drivers that are installed and loaded into the VMkernel, and if you use hardware that there is no driver for, ESX or ESXi will not work with it. The second reason is that VMware only provides support for server hardware that is listed on the HCG. There is a lot of older hardware and other hardware brands and models that are not listed in the HCG that will work, but are not officially supported by VMware.
If you use hardware that is not listed in the HCL and call VMware support for assistance with an issue and the technician suspects that the problem is related to the unsupported hardware, then VMware will request that you open a support request with the hardware vendor instead.
VMware ESX technologies that require specific hardware
Because of VMware's limited hardware support you need to ensure that every single component that you use is listed in the guide, or your virtual architecture may not work. This includes server makes and models, network adapters, storage adapters and storage devices. In addition, for certain features to work you have to have very specific hardware that supports that feature. Here are some examples of features that require specific hardware:
- VMware vSphere requires 64-bit server hardware as well as the Intel-VT and AMD-V processor feature to run 64-bit virtual machines (VMs).
- Fault Tolerance only works with a limited amount of processor models from AMD and Intel.
- VMDirectPath only works with specific server chipsets that have the Intel VT-d or AMD IOMMU I/O virtualization feature.
- Enhanced VMotion Compatibility only works with certain processor models from AMD and Intel.
- Dynamic Voltage and Frequency Scaling (DVFS), which helps conserver power, only works with processors and chipsets that support changing CPU power modes (p-states).
- The Trusted Platform Module (TPM) security feature only supports servers with a TCG compliant BIOS and Intel's Trusted Execution Technology (TXT) or AMD's forthcoming Secure Execution Mode (SEM).
With all these decisions, architecting a new VMware ESX or ESXi server can be a very time-confusing, difficult, and sometimes overly-costly process. If you make a mistake when choosing hardware you may have to return some of it or buy something else which can cost you a lot of money. I've known people who have purchased new servers from popular vendors like Hewlett-Packard (HP_ only to discover that the storage controller is not supported, and consequently they could not install ESX or ESXi. I once ordered a HP network adapter with the special TCP/IP offload engine (TOE) to use as a hardware iSCSI initiator, only to find out that it was not supported, so I had to purchase another brand.
Selecting hardware for Hyper-V vs. VMware
Microsoft Hyper-V, on the other hand, supports a much wider range of hardware because the underlying operating system is Windows. If a hardware vendor has a driver for Windows, which most do, than you can use the hardware with Hyper-V. This in itself may cause some VMware customers to move to Hyper-V. A customer that buys equipment only to find out that they cannot use it with VMware may decide to switch the hypervisor instead of returning the hardware.
That said, VMware does require vendors to certify their hardware with vSphere before VMware will support it. Doing this gives VMware an edge over Hyper-V because VMware can can ensure driver stability.
Problems with hardware device drivers are the most common cause of crashes in operating systems. The device driver acts as a translator between the hardware device and the operating system. In virtualization, this process is even more important because a faulty driver can cause the crash of an entire host, which would crash all of the host's VMs as well.
Accessing and using VMware driver CDs for newer approved hardware drivers
Since hardware drivers are bundled into VMware's VMkernel, support for specific hardware is tied to each version of ESX and ESXi that VMware releases. If a specific driver is not part of vSphere 4.0 you might have to wait until 4.0 Update 1 for it to be included. The amount of time between releases is often six months, which can be a long time to wait to be able to use your hardware with vSphere. As a result, VMware has created driver CDs that contain custom drivers that can be used for newer hardware and their drivers, which may not yet be included in the VMkernel. These CDs can be used to add a driver during the ESX installation process, or you can install them after the initial ESX installation by using the vSphere CLI or Update Manager.
The driver CDs can also be downloaded from VMware's website as ISO images. Incidentally, the hardware compatibility guide makes a special notation next to listed devices that require a driver download from VMware's website.
Quick tips for ensuring VMware ESX hardware compatibility
Here are some pointers for making sure everything you order will work with VMware vSphere.
- When ordering a server, make sure the brand and model is listed in the Systems Compatibility Guide. Be aware that there may be multiple listings for a server based on different processor options.
- You can often choose from a variety of CPU options for a particular server. For example, HP DL380 G6 servers can be purchased with either an Intel Xeon 5500 or 5600 series processor. If you plan to use Fault Tolerance, only the 5500 series is supported.
If you click on a server model in the Systems Compatibility Guide and then click the Model/Release Details tab it will tell you if it supports Fault Tolerance; also check the VMware KnowledgeBase article "Processors and guest operating systems that support VMware Fault Tolerance" to see if the processor is listed. Almost all server CPUs today support 64-bit, but it doesn't hurt to check.
- Check AMD or Intel's websites to see which virtualization technology is supported with the processor that you are choosing. Once you pick a processor model it will give you all the details for that model, including support for Intel-VT/AMD-V.
- Checking support for VMDirectPath which is a bit tricky. Intel has been shipping servers with VT-d for a while now, but AMD is currently not shipping any servers with IOMMU (but will be in the future). Most server vendors will not list whether this feature is supported or not. You should check with the vendor to make sure this feature is available, and get it in writing, in case you order them and find out it isn't. This feature often is disabled in a server's BIOS and must be enabled before vSphere will be able to use it.
- For DVFS, check with the vendor to see if they support this feature, which allows the processor to change p-states to vary the processor frequency and voltage level. This feature is also configured in the server's BIOS as and is typically set to "OS Control" or "Custom" mode.
- Most of today's CPUs support Enhanced VMotion Compatibility but check the KB article "Enhanced VMotion Compatibility support" to make sure the processor you are ordering is listed.
- When it comes to storage and network adapters, always check the VMware Input/Output Compatibility Guide to make sure the adapter you are choosing is listed. Make no assumptions here as you may find that some new and popular adapters are not listed. Pay particular attention when ordering hardware iSCSI initiators, which are network adapters with TOE ; these are considered storage adapters in vSphere. Most supported vSphere adapters are QLogic adapters, which are sometimes rebranded under other vendors's names (i.e. IBM, Dell). Be careful with HP servers as most of the TOE adapters they sell will not be seen by vSphere as a storage adapter.
- VMware vSphere supports many advanced network adapter features like TCP/IP Checksum Offloading and TCP/IP Segmentation Offloading. Most NICs will support this but to be sure check the technical specifications with the NIC vendor to be sure.
- For storage adapters, be aware that while you can use SATA adapters in your servers, using RAID with SATA in vSphere is not supported. Also SAS 2.0 (6 Gb/s) controllers are only supported starting with vSphere 4.0 Update 1.
- The TPM feature in vSphere is not yet supported and the required hardware to use it is not yet available. While you can buy server TPM chips from vendors like HP today, they are not designed to work with vSphere. TPM should be fully supported in a future release of vSphere and supported hardware should be available from server manufacturers soon.
- For storage devices, be sure to check VMware's Storage/SAN compatibility guide. VMware supports a large number of storage devices, as evidenced by the guide's 780 pages, but the supported configurations can vary. Specific minimum firmware versions are required in some cases.
- Despite the fact that it might work, be aware that Boot from SAN is not officially supported yet with ESXi, although it may be in a future release. If you plan on booting ESXi from a USB flash drive, be aware that this method is only supported if you use vendor-specific flash drives that are sold as accessories to servers.
- Be aware that certain editions of vSphere are required to use certain features. For example, Fault Tolerance is only included with select editions. Other technologies, like VMDirectPath, will work with all editions.
There are also maximum memory per CPU and cores per CPU limits with certain vSphere editions. Check this general guide that compares vSphere editions or this more detailed guide on included features in each vSphere edition.
Food for thought: Getting hardware supported by vSphere is up to each hardware manufacturer, not VMware, so if you plan on buying hardware and do not see it listed on the VMware's guide be sure and contact the manufacturer. If it's newer hardware you may find out that they are working on getting it certified. If the manufacturer is not, and if the vendor gets enough requests from customers, it may inspire them to get the hardware certified.
Ordering hardware for use with VMware can be frustrating, but if you understand the requirements and what to look for it can make the process much easier. If you do feel overwhelmed, don't be afraid to ask VMware, the hardware vendor, the reseller or a partner for help.
Eric Siebert is a 25-year IT veteran with experience in programming, networking, telecom and systems administration. He is a guru-status moderator on the VMware community VMTN forums and maintains VMware-land.com, a VI3 information site.