扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
单根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将提供一个比多物理端口方案更具成本效益的解决方案。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者