Virtualization! It’s everywhere in the information technology community recently. Every vendor has a product that is somehow tied to virtualization. Be it IaaS, PaaS or SaaS or XaaS, the four building blocks that should be kept in mind should be – Network, Storage, Processing and RAM. A restructuring will always be required, but how soon it is restructured depends upon the Planning.
We all are pretty sure about VMware Network Adapter Types for Virtual Machines and most of us choose VMXNET 3 or E1000e, however it’s good to know about third type of adaptor – SR-IOV Passthrough.
Single Root I/O Virtualization (SR-IOV) Passthrough was introduced in vSphere 5.5. One may ask, so, what’s PCI passthrough then? - PCI passthrough allows the VM to bypass the hypervisor and access the PCI device directly on the Host.
SR-IOV is a PCI standard which can give virtual machines shared access to physical network cards installed in the hypervisor. SR-IOV is the next level to PCI passthrough. Instead of assigning exclusive right of the device to the VM directly, the device (Physical Function) is shared or ‘partitioned’ (Virtual Function). Once partitioned, it is shared among multiple VMs. For instance: a single 10Gbps NIC could be ‘passed through’ to a couple of virtual machines for direct access, and at the same time it could be attached to a vSwitch being used by other VMs with virtual NICs and vmkernel ports too.
These are the pre-requisite before doing so-
- Compatible CPU that supports Intel VT-d or AMD-Vi
- Should be enabled in the BIOS
- SR-IOV capable network card
- ESXi driver that supports it
Figure1. IO Device compatibility can be checked through here.
Enable the same at Hypervisor layer:
Once enabled at the Hardware layer, it must be enabled at the Hypervisor layer as well. Login to the Hypervisor, In the “Physical Adapters” section of the Web Client or H5 client, you’ll see a column reading “SR-IOV Status”.
Fig 1.1 Enable SR-IOV at Hypervisor.
The number of virtual functions specified here equate to how many times this NIC can be virtually partitioned. If set to 2, it can be assigned to two different VMs.
Reboot the Hypervisor and you would see the SR-IOV VF’s
2. Configure VMs to use it (VM has to be powered-off)
Higher bandwidth and lower latency are certainly the primary consideration for using SR-IOV, however keep in mind vMOTION, snapshots and backups will not work.