单根I/O虚拟化(SingleRootI/OVirtualizationSR-IOV)是降低虚拟服务器成本的一项优化技术。SR-IOV是PCI-SIG推出的一项标准,是“虚拟通道”的一个技术实现,用于将一个PCIe设备虚拟成多个PCIe设备,每个虚拟PCIe设备如同物理PCIe设备一样向上层软件提供服务。
传统的虚拟服务器虚拟机管理程序提供虚拟机(VM)的资源,模拟每一台物理服务器的功能,使每个虚拟机独立的运行。对于I/O,即意味着每个虚拟机使用虚拟的I/O设备是由虚拟机管理程序提供的。虽然这非常适用于虚拟化,但这样通常情况下效率是不高的。
SR-IOV是一种不需要软件模拟就可以共享I/O设备I/O端口的物理功能的方法。这个过程创造了一系列I/O设备物理端口的虚拟功能。每个虚拟功能都被直接分配到一个虚拟机,因此实现了接近本机的性能。
传统的多核虚拟服务器管理程序执行以下步骤来处理收到的I/O:
- 一个CPU核心对数据包进行中断和检查,并确定由哪些VM来接受它。
- 服务于虚拟机的CPU核心进行中断和处理I/O。
- 最初的CPU核心将收到的数据包返回到正常的工作路径中。
而SR-IOV规范的目标是在绕过虚拟机参与数据迁移过程中实施标准化,为每个虚拟机提供独立内存空间、中断和DirectMemoryAccess(DMA)流。SR-IOV架构的设计允许一个I/O设备支持多个虚拟功能,同时将每个功能的硬件成本降至最低。SRIOV引入了两个新的功能类型:
- 物理功能(PhysicalFunctions,PFs):这是一些支持SR-IOV扩展功能的PCIe功能,被用于配置和管理SR-IOV功能特性。
- 虚拟功能(VirtualFunctions,VFs):这是一些“精简”的PCIe功能,包括数据迁移必需的资源,以及经过谨慎精简的配置资源集。他们不支持物理设备的管理。
虽然SR-IOV标准可以适用于网络和存储的I/O,在现在和将来对它的期望也仅仅在网络方面。虚拟服务器的性能问题主要集中在以太网流量上,通常虚拟服务器会产生大量的网络流量,而流量的增长就意味着成本的支出。相对于网络来讲,存储的I/O成本则可以忽略不计,不需要特别进行优化。
先进的管理解决方案
在改善虚拟机的性能上,传统的管理解决方案是直接管理I/O(或传递引导),这就要求为每个虚拟机分配一个唯一的物理端口,然后进行管理。这种方法的确可以提高性能,但却受到可以连接到物理服务器的端口数量的限制。
这样的后果之一就是网络适配器,交换机端口和电缆会变得很复杂,而且直接管理I/O也不能和虚拟机的迁移相互兼容。在虚拟机迁移的时候,需要手动的关闭和重启,显然这并不是最佳的优化方案。
SR-IOV提供了一项功能以多个独立物理设备呈现的机制。支持SR-IOV的设备可以配置成以多个虚拟功能形式呈现在PCI配置空间中,每个都有它们自己的PCI配置空间。然后VMM可以通过模拟配置空间来分配一个或者多个虚拟功能给虚拟机。
每个虚拟功能可以支持针对PCIe层中I/O相关功能的一个特有且单独的数据路径。在网络设备中使用SR-IOV可使一个端口(功能)的带宽分成更小的块,然后通过一个标准接口分配到特定虚拟机或者客户端中。为了进一步加强PCIe层中不同设备的可操作性,还创建了一个配置和管理的通用方法体系。这种资源的共享提高了在一个支持SR-IOV的PCIe设备上任何特定资源的总利用率,从而降低了虚拟系统的成本。最后,SR-IOV的是和虚拟机的迁移相互兼容的。
SR-IOV的系统建立在自身发展的过程。它不仅需要适配器,交换机和管理程序供应商的支持,同时也需要通过服务器厂商的支持。服务器厂商可以通过增加管理工具,来实现完全可靠的解决方案。目前,SR-IOV得到了RedHat的Linux6系统和SUSE的Linux11(以及后续版本)系统的支持,其他管理程序的供应商也被期望能够支持SR-IOV.
总的来说,SR-IOV实现了将PCI功能分配到多个虚拟接口以在虚拟化环境中共享一个PCI设备的资源。SR-IOV能够让网络传输绕过软件模拟层,直接分配到虚拟机。这样就降低了软加模拟层中的I/O开销。SR–IOV将会成为一个优化虚拟服务器的I/O的关键性技术,在最大程度上节约虚拟机的运行成本。SR-IOV将提供一个比多物理端口方案更具成本效益的解决方案。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
如何管理超融合系统中的虚拟机资源?
在一个典型的虚拟环境中,组织通常通过添加更多的硬件资源来停止资源争用。然而,在超融合基础设施中,这种方式是否适用将取决于你使用的是哪个供应商的解决方案。
-
单台虚拟机会引致虚拟化安全问题吗?
虚拟服务器和物理服务器一样,都需要做安全措施。从安全的角度看,系统管理员会认为虚拟机和物理服务器都是一样的安全。
-
使用超线程提升处理器性能
超线程能够提升处理器效率已经得到了证实,但是其并不适用于所有场景,而且现代处理器设计可能会令超线程成为明日黄花。
-
花钱购买虚拟服务器时的注意事项
购买虚拟服务器时,如何让你的钱花在刀刃上?这里教你从访问速度、IIS连接数等多方面辨别服务器上是否无限制地开设了多个虚拟主机。