This will be a series of post covering more advanced vSphere concepts in depth and different design considerations that we need to take care before the implementation. This post will be an introduction to Hardware design considerations that we must oblige too. All the hardware compatibilities are listed in VMware Compatibility Guide Tool which is best source.
Hardware for Use with VMware vSphere 6
We must consider CPU compatibility for VMware vMotion which in turn affects advanced features such as DRS, DPM and Fault Tolerance. Intel and AMD processors include hardware features to assist virtualization and improve performance. We can check the compatibility in VMware Hardware Compatibility Guide list before designing our vSphere Environment. The following features are beneficial in various Hardware Components for our vSphere Implementation.
1) Hardware-assisted CPU virtualization called as VT-x in Intel processors or AMD-V in AMD processors, automatically traps sensitive events and instructions, eliminating the software overhead of monitoring, this in turn provides virtual machine monitor (VMM) the option of using either hardware-assisted virtualization or binary translation.
2) MMU virtualization addresses the overheads due to memory management unit (MMU) virtualization, it provides hardware support to virtualize the MMU. Without hardware-assisted MMU virtualization, the guest operating system maintains guest virtual memory to guest physical memory address mappings in guest page tables, while ESXi maintains shadow page tables that directly map guest virtual memory to host physical memory addresses, This shadow page tables also can be avoided with MMU virtualization
3) I/O MMU virtualization also called Intel Virtualization Technology for Directed I/O (VT-d) and AMD I/O Virtualization (AMD-Vi or IOMMU) allows virtual machines to have direct access to hardware I/O devices, such as network cards, storage controllers (HBAs), and GPUs.
Performance is greatly impacted because of Back-end storage misconfigurations before our implementation, Storage performance that is not up to the expectation is most often due to the result of configuration issues with underlying storage devices rather than an issue with ESXi. Storage performance is a vast topic that depends on workload, hardware, vendor, RAID level, cache size, stripe size. etc. If Storage performance is not satisfactory Consider providing vSphere Flash Infrastructure layer, can be composed of PCIe flash cards or SAS- or SATA-connected SSD drives, with the PCIe flash cards typically performing better than the SSD drives. VAAI can improve storage scalability, can reduce storage latency for several types of storage operations, can reduce the ESXi host CPU utilization for storage operations, and can reduce storage network traffic. Below Images from VMware vSphere 6 advanced features shows the features for SAN and NAS based Storage.
Local storage performance might be improved with write-back cache. If your local storage has write-back
cache installed, make sure it’s enabled and contains a functional battery module.
Hardware Networking Considerations
The understanding of the physical aspects of Networking is vital for our successful Implementation. VMware recommends NICs that are 10Gb/s Full Duplex Speed will provide optimum performance especially if its a virtual desktop, we must make sure all cables and switches are capable of the same speed and that the switches are not configured to a lower speed.
Multiple physical NICs can be added to a single vSwitch and the physical NICs connected as NIC team. NIC teams can provide passive failover in the event of hardware failure or network outage and also increases performance by distributing the traffic across those physical network adapters.If Link Aggregation Control Protocol is feature on our physical switch then we must take advantage of it and enable that on our vSwitch.
Hardware BIOS Settings Considerations
The default hardware setting might not be the optimized for our Virtual environment. We must take steps for making custom settings described below for getting the best performance from our vSphere environment.
1) We must update the Bios to its latest version and all hardware firmwares as well before we begin our Implementation.
2) We must enable all cores in all sockets of the servers
3) We must enable all the above mentioned hardware assisted virtualization features such as VT-x, AMD-V, EPT, RVI
4) Finally if our Processor supports Turbo Boost we must enable it along with hyper-threading as well.