This article can also be found in the Premium Editorial Download "IT in Europe: Finding a home for Flash."
Download it now to read this article plus other related content.
I/O virtualization is about virtualizing the I/O path between a server and a storage device, and is therefore complementary to server virtualization. When we virtualize, we decouple the logical presentation of a device from the physical device itself to use the resources more effectively or to share expensive resources. This can be done by splitting the device into smaller logical units, combining devices into larger units or by representing the devices as multiple devices. This concept can apply to anything that uses an adapter in a server, such as a network interface card (NIC), RAID controller, FC HBA, graphics card and PCI Express (PCIe)-based solid-state storage. For example, NIC teaming is one way of combining devices into a single, “larger” device. Virtual NICs are a way to represent multiple devices from a single device.
A pair of related technologies known as Single Root I/O Virtualization (SR-IOV) and Multi-Root I/O Virtualization (MR-IOV) are beginning to be implemented. SR-IOV is closer to becoming a reality than MR-IOV, but both provide some interesting benefits. These technologies work with server virtualization and allow multiple operating systems to natively share PCIe devices. SR-IOV is designed for multiple guest operating systems within a single virtual server environment to share devices, while MR-IOV is designed for multiple physical servers (which may have guest virtual machines) to share devices.
MR-IOV takes I/O virtualization a step further and extends this capability across multiple physical servers. This is accomplished by extending the PCIe bus into a chassis external to the servers, possibly at the top of the rack; all the servers in the rack would then connect to this PCIe chassis using a relatively simple PCIe bus extender adapter. Network, graphics or other adapters, especially expensive adapters, can then be placed into the external chassis to allow sharing of the adapters by multiple servers.
An interesting application of this type of technology would be to use SR-IOV- or MR-IOV-capable RAID controllers or SAS/Serial Advanced Technology Attachment (SATA) adapters for moving guest VMs without the need for a SAN. Also, imagine an SR-IOV-capable NIC that could service requests for connections between guest virtual machines that were in the same physical server, eliminating the need for an external switch.
The long pole in this tent is getting support from the hypervisor vendors. As of this writing, only Red Hat Enterprise Linux 6 supports SR-IOV for a limited set of NICs. Microsoft has been rather tight-lipped about features in the next version of Windows, but it wouldn’t be too surprising to see some SR-IOV support in the next version of Windows Hyper-V. It’s not known at this time if SR-IOV support will show up in VMware products anytime soon.
BIO: Dennis Martin has been working in the IT industry since 1980, and is the founder and president of Demartek, a computer industry analyst organization and testing lab.
This was first published in October 2011