在2012年芝加哥存储决策会议(Storage Decisions Chicago)上,Demartek LLC公司的创始人和总裁Dennis Martin作了一篇题为"存储网络的变革:下一代数据中心的下一代存储网络"的演讲,Demartek LLC公司总部位于科罗拉多州阿瓦达(Arvada, Colo.),他探讨了I/O虚拟化(I/O virtualization,IOV)和实现它所需的部件,以及这项技术是如何使IT公司受益的。请观看视频并阅读Martin的评论,进一步了解关于使用SR-IOV(Single Root IOV)和MR-IOV(Multi Root IOV)规范来实现I/O虚拟化以及这两种规范如何用于网卡(NIC)、磁盘阵列控制器(RAID controller)和光纤通道主机总线适配器(Fibre Channel host bus adapter,FC HBA)使数据中心更有效率的问题。服务器
I/O虚拟化与服务器虚拟化并不相同,而是其补充。拿虚拟服务器来讲,虚拟化是把物理设备从逻辑设备分离。虚拟机(VM)的好处是你能够很容易把它们整合在一块儿而不须要为其单独购买新硬件,这样能够把它们装到另外一台服务器上。网络
你所作的就是用一台硬件并把它看成多个硬件使用。它看上去像一台服务器,但它实际上是软件。你能够将东西组合、分离等,这就是一般所说的虚拟化。ide
考虑一下I/O的问题。若是安装在服务器插槽上的NIC、RAID控制器、FC HBA或者其它任何东西你均可以如此的话会怎么样?若是你能够虚拟化、分离、组合或者重整的话会怎么样?spa
例如,你能够进行网卡聚合(NIC teaming),这样可使网络链接看上去如同一个2个分叉、4个分叉或者任何你想设定的分叉的管子同样。orm
咱们把这个问题再提高一个层次。这个特定的状况称做SR-IOV。在这幅图里面有一个盒子,在盒子里面有3个虚拟机,是一款服务器虚拟机管理器(hypervisor)软件------选择你喜欢的厂商------以及某一款适配卡。注意,我并无说是网卡仍是HBA,而是任何一款能插入PCIe(PCI Express)总线的适配卡。视频
要是没有SR-IOV而你又须要这样作,那么VM须要将适配卡共享,那是什么安排这种共享?是hypervisor?那hypervisor是否妨碍了这种作法?是的。所以,你想要作的就是把全部的管理工做卸载到这个适配卡上,这就是SR-IOV的概念。有了SR-IOV技术,带SR-IOV功能的适配卡具备管理这些虚拟链接的智能,而hypervisor不须要进行管理,这意味着你从CPU得到几个周期(cycle)处理其它事情,由于如今已经卸载到这个适配卡上了。所以,你能够再在这台机器上安装一个VM或者安装一个较大的应用。htm
考虑一下NIC、FC HBA、磁盘控制器和RAID控制器。考虑一下像PCIe固态硬盘(SSD)之类昂贵的东西。要是你能够对全部客户机(guest)共享它们而实际上你不须要hypervisor帮你作,你只经过硬件便可作到,会怎么样?ci
如今咱们再把这个问题提高到更高的层次并突破它。这是一幅与SR-IOV例子很是类似的图,但与多个VM运行在一台物理机不一样,你有3台物理机,每台都运行多个VM。在这种状况下,经过把一块适配卡安装在外部PCIe机箱里,这块适配卡能够被3台物理机共享。这是MR-IOV的状况。所以,若是单台物理机用不满这个8个分叉的FC管子,那2台或者3台服务器应该能够用满了。get
考虑一下另一台只有插槽在里面的服务器------没有CPU,只有插槽------把10个分叉的网络适配器、16个分叉的FC HBA卡或任何东西装进去,在服务器上装一块PCIe卡,再往机箱接一根线缆,而后接到外面的这块卡上。虚拟机
如今你能够共享这些卡。考虑一下光纤通道存储局域网(FC SAN)。在SAN里面,全部存储都在外面,没有一台服务器有专用的存储;你只是将它划分红一个池,说:“这些逻辑单元号(Logic Unit Number,LUN)归这里,那些逻辑单元号归那里。”同理,只是如今是这些卡。你并不是真的拥有FC HBA卡、10个分叉的网络适配器或者磁盘阵列控制器。它不被服务器所拥有,但被服务器使用。