NVIDIA以太网卡ConnectX-4/5/6 使用 KVM虚拟化时如何配置 SR-IOV?

目录

一、概述

二、配置步骤总结

三、前提条件

四、详细配置步骤

4.1. 在固件上启用 SR-IOV

4.2 在MLNX_OFED驱动程序上启用 SR-IOV

4.3、虚拟机管理 


一、概述

SR-IOV全称Single Root I/O Virtualization,是一种IO虚拟化技术。为了减少平台资源开销,PCI-SIG开发了SR-IOV技术。SR-IOV使多个系统镜像(System Image,SI) 能够共享PCI硬件资源。系统镜像SI指的是软件,例如用于执行应用程序的操作系统或I/O设备驱动程序。

所以,有了SR-IOV,一个物理PCIe设备就可以虚拟出多个虚拟PCIe设备,然后将虚拟PCIe设备直通到各虚拟机,以实现单个物理PCIe设备支撑多虚拟机的应用场景。

为了提高硬件资源利用率,在硬件和SI之间,插入一个叫做虚拟化中介(Virtualization medium,VI)的软件,VI可以是VMM或hypervisor,如下图所示。

VI拥有底层硬件的唯一所有权。每个SI可用的硬件资源跟workload或客户策略有关。这种方法可以用于很多环境,但I/O密集型的workload会有严重的性能下降。每次I/O 操作 (inbound或outbound)都会被VI拦截和处理,这增加了大量的平台资源开销。

因此,SR-IOV技术的好处是:

  1. 避免VI参与主要数据移动操作——DMA、内存空间访问、中断处理等。
  2. 通过Single Root PCI Manager (SR-PCIM) 控制SR-IOV资源配置和管理的标准化方法。
  3. 通过在设备内配置大量 I/O Function来降低硬件要求和相关成本。
  4. 将SR-IOV与其他 I/O 虚拟化技术(例如地址转换服务 (ATS)、 ATPT技术以及中断重映射技术)集成,以创建强大、完整的 I/O 虚拟化解决方案。

下图是一个支持 SR-IOV 的平台示例。

SR-IOV通用平台配置由以下功能元素组成:

SR-PCIM (Single Root PCI Manager):软件,负责配置SR-IOV扩展能力、管理PFs和VFs、以及处理相关错误事件和整体设备的控制,例如功耗管理和热插拔服务。

可选的Translation Agent (TA):TA是负责将PCIe事务中的地址转换为相关平台物理地址的硬件 (或软硬件的组合)。TA可能包含Address Translation Cache (ATC) 以加速访问转换表。TA还可以支持Address Translation Services(ATS),它使 PCIe Function能够在DMA访问相关内存之前获得转换地址。

可选的Address Translation and Protection Table(ATPT):ATPT包含TA访问的一组地址转换,以处理PCIe请求——DMA Read、DMA Write或中断请求。

可选的Address Translation Cache (ATC):ATC可以存在于两个位置 – 位于TA内,可集成在 RC 内或位于其上方;或位于PCIe设备内。在 RC 中,ATC可以加速translation查找。在设备内,ATC通过ATS技术填充,表明它们包含转换地址的 PCIe 事务可能会绕过平台的 ATC,以提高性能而不影响与ATPT相关技术的好处。

可选的Access Control Services (ACS):ACS定义了PCIe拓扑中的一组控制点,以确定TLP是否应正常路由、阻塞或重定向。在支持SR-IOV的系统中,ACS可用于防止分配给VI或不同SI的设备的Functions相互或配对设备进行通信。重定向可以允许Translation Agent在做出对等转发决定之前转换Upstream内存TLP地址。可选的ACS P2P Egress Control可以提供选择性阻塞。ACS 受制于与ATS的交互。

Physical Function(PF):PF是一种PCIe function,它支持SR-IOV功能并且可由SR-PCIM、VI 或SI访问。

Virtual Function(VF):VF是一种轻量级PCIe function,可由SI直接访问。至少,与Function主要数据移动相关的资源可供SI使用。配置资源应限于受信任的软件组件,例如 VI 或 SR-PCIM。一个 VF 可以由不同的SI 串行共享,(即一个VF可以分配给一个 SI,然后重置并分配给另一个SI)。一个 VF 可以有选择地从一个 PF 迁移到另一个PF。迁移过程可以通过PCIe定义的配置控制来推动。

与 PF 关联的所有VF必须与PF具有相同的设备类型(例如相同的网络设备类型或相同的存储设备类型)。

二、配置步骤总结

SR-IOV 配置包括以下步骤:

1. 在服务器 BIOS 中启用虚拟化 (SR-IOV)(先决条件)

2. 在网卡Firmware固件中启用 SR-IOV

3. 在MLNX_OFED驱动程序中启用 SR-IOV

4. 设置 VM虚拟机

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术瘾君子1573

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值