What is SR-IOV and how can it be deployed on a virtualized server?
Single-root I/O virtualization (SR-IOV) is actually the core technology that underlies I/O and connectivity virtualization by allowing a single I/O resource to be shared efficiently between multiple virtual machines. In effect, SR-IOV allows a single "root device" (such as an Ethernet controller) to appear as multiple devices which can then be managed and provisioned to different virtual workloads. SR-IOV is so important to virtualization that it has actually been embraced as an extension to the PCI Express (PCIe) specification.
SR-IOV basically works by defining a series of physical and virtual functions on the network adapter. The network adapter’s physical function (PF) defines the device and its SR-IOV abilities and is related to the hypervisor. Each virtual function (VF) then shares the device’s resources, such as local memory and the network port, with other VFs. The idea is that the PF and each VF receive unique PCI Express requester IDs (PCIe RIDs) which the hypervisor can use to differentiate network traffic and handle interrupts. This allows traffic to flow from each virtual machine through the unique VF to the underlying root PF without having any impact on other VFs. Virtual machine traffic is isolated and can share the NIC without disrupting one another. And network traffic bypasses the hypervisor’s software switch layer which reduces I/O overhead and improves performance.
Deploying SR-IOV requires a supporting hypervisor such as Hyper-V or ESXi along with a suitable network adapter and server. The server requires BIOS support for SR-IOV along with a NIC with a SR-IOV-compliant network chip such as Intel’s 82599EB dual 10 GigE controller. Older servers may require a firmware update to provide adequate SR-IOV support. Drivers will be required to interface the operating system to the NIC. For example, Windows Server 2012 provides native SR-IOV drivers including Emulex 10 GigE OneConnect, Broadcom 10 GigE 57712, and Intel 10 GigE X520 controllers. Other suitable drivers may also be available directly from the network adapter vendor.
Dig Deeper on Network virtualization
Related Q&A from Stephen J. Bigelow
Just because software passes functional tests doesn't mean it works. Dig into stress, load, endurance and other performance tests, and their ... Continue Reading
Don't neglect form factor as part of your data center server selection. Instead, figure out what type of environment you need and learn which server ... Continue Reading
Learn how load balancing in the cloud differs from a traditional network traffic distribution, and explore the different services available from AWS,... Continue Reading