随着虚拟化服务器部署的不断增加,虚拟化技术继续着在特别是I/O性能方面的变革。整个行业将大量工作投入到通过使用虚拟化技术提高硬件资源利用(例如应用执行)的有效性上。Single Root I/O Virtualization and Sharing Specification(SR-IOV)详细规定了PCI Express规范套件扩展能让虚拟化环境中的多个系统图像(SI)或者虚拟机(VM/Guest)共享PCI硬件资源。
I/O虚拟化目标
虚拟化方面有很多趋势推动着对更高效I/O虚拟化解决方案的需求:
•由于通过Intel Virtualization Technology(Intel VT)降低了虚拟机管理器(Virtual Machine Monitor,VMM),通过Intel微架构和多核处理器提高了能源效率,因此每台服务器中的虚拟机数量也随之增加
•增强的处理能力和服务器利用率要求有更高速和可扩展的I/O
•设备直接内存访问的隔离增强了安全性和鲁棒性
•由于处理器中的硬件辅助功能(包括Intel VT-x)削减了处理器端的软件开销并弥补了本地性能的不足,在虚拟机之间对高性能I/O设备的基于软件的共享是不够的。
因此,一款一体化的虚拟化解决方案的目标就是提供:
•与环境运行在单独物理服务器上时相同的隔离功能
•支持可利用I/O设备上物理资源所需虚拟机数量的可扩展性。另外还为I/O操作提供了接近本机的性能
Intel Virtualization Technology for Connectivity
Intel Virtualization Technology for Connectivity是Intel最新的虚拟化技术。这个I/O虚拟化技术的结合体通过加强虚拟服务器中主机CPU与I/O设备的通信来提升整体系统性能,降低了CPU利用率和系统延迟,同时提高了网络和I/O吞吐量。
Intel以太网适配器支持Intel VT for Connectivity,该技术包括:
•PCI-SIG SR-IOV实施
•虚拟机设备队列(Virtual Machine Device Queues,VMDq)
•Intel I/O加速技术(Intel I/O Acceleration Technology,Intel I/OAT)
目前的情况
到目前为止,行业中所有针对虚拟化服务器的技术都是通过软件模拟共享和虚拟化网络适配器的一个物理端口,以满足虚拟机的I/O需求。模拟软件的多个层为虚拟机作了I/O决策,因此导致环境中出现瓶颈并影响I/O性能。另外它还影响到一台物理服务器上运行的虚拟机数量以均衡系统的I/O性能。
解决问题
目前的I/O虚拟化技术存在诸多挑战。这些挑战包括:
•在虚拟化服务器上的高I/O性能影响
•需要软件模拟层来处理所有通信和处理信息,从而提高CPU利用率
•通过单CPU内核分散中断和数据给系统造成了一个I/O瓶颈