What is I/O Virtualization (IOV)?
- Server Virtualization (we all know this one) - consolidating physical servers into virtual server that run on many fewer physical servers
- Desktop Virtualization - virutalizing desktops and running them on servers
- Network Virtualization - creating virtual networks inside the software that don't require any physical network hardware (a must-have for server virtualization)
Instead, let's talk about a topic that has been fascinating me lately and that is I/O Virtualization (or IOV).
What is I/O Virtualization?
Just as you decouple an operating system from the hardware with server virtualization, you decouple network and storage communications from it's typical hardware cable path, network/storage switches, and network/storage adaptors with I/O Virtualization.
In my opinion, understanding IOV can best be described with pictures and math.
Here is how the typical server datacenter "does IO" today:
- Network - between 1-4+ Ethernet network connections that require individual NICs, Ethernet cables, and switch ports
- SAN - a large majority of servers are redundantly connected to a fibre channel (FC) SAN that requires individual HBAs, FC cables, and FC switch ports
The theory with IOV is to take a single cable (or two if you want redundancy) and consolidate all the network and SAN connections onto that single, high-speed cable (does it sound similar to consolidating many smaller servers onto a single high-capacity server?).
Here's what it would look like:
I like it because it just makes things simple and that's how thing should be in a datacenter.
In this graphic, you'll find some additional benefits of IOV: