RDMA在KVM实现条件

博客介绍了KVM支持VF passthrough的条件,包括CPU需支持Intel VT - d或AMD - Vi技术、内核支持相关模块、QEMU 2.0版本以上、libvirt 1.2.9或更高版本。还提及KVM支持SR - IOV,介绍了查看网卡物理端口最大支持创建VF数量的方法及相关配置生效步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

KVM 支持VF passthrough条件

CPU必须支持 Intel VT-d 或 AMD-Vi(IOMMU)技术

demsg要包含下述两部分

  • DMAR: Intel(R) Virtualization Technology for Directed I/O
  • DMAR: IOMMU enabled

检查CPU是否支持VT-d或AMD-Vi

# dmesg |grep -e "DMAR" -e "IOMMU"|grep -e "Virtualization" -e enabled

[    0.000000] DMAR: IOMMU enabled

[    0.001068] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.

[    1.150702] DMAR: Intel(R) Virtualization Technology for Directed I/O

内核必须支持vfiovfio_iommu_type1vfio_pci 等模块

检查Kernel加载 IOMMU 相关的内核模块

[root@stgExt1 qemu]# lsmod|grep -e vfio -e iommu

vfio_pci               61440  0

vfio_virqfd            16384  1 vfio_pci

vfio_iommu_type1       36864  0

vfio                   36864  2 vfio_iommu_type1,vfio_pci

irqbypass              16384  422 vfio_pci,kvm

QEMU必须2.0版本以上

centos8.4自带qemu版本4.2.0,BVT环境已升级至8.0.2,且QEMU需要重新编译

configure ./

./configure --prefix=/usr/local/qemu_rdma/ --enable-debug --enable-kvm --enable-vnc --target-list=x86_64-softmmu --enable-spice --enable-spice-protocol --enable-vnc --enable-usb-redir --enable-rdma

QEMU替换步骤

example

ln -sf /usr/local/qemu_rdma/bin/qemu-system-x86_64 /usr/libexec/qemu-kvm

setenforce 0

libvirt 版本是 1.2.9 或更高版本

centos8.4自带libvirt 版本为6.0.0

KVM支持SR-IOV

我们把SR-IOV创建出的虚拟网卡称为VF,如下命令可以查看网卡物理端口ens4f0/1(称PF)最大支持创建的VF均为8个;

KVM支持SR-IOV

我们把SR-IOV创建出的虚拟网卡称为VF,如下命令可以查看网卡物理端口ens4f0/1(称PF)最大支持创建的VF均为8个;

# cat /sys/class/net/ens4f0/device/sriov_totalvfs

8

# cat /sys/class/net/ens4f1/device/sriov_totalvfs

8

ens4f0单个网口虚拟出6个VF

# echo 6 > /sys/class/net/ens4f0/device/sriov_numvfs

# lspci|grep Mellanox

b1:00.0 Ethernet controller: Mellanox Technologies MT2894 Family [ConnectX-6 Lx]

b1:00.1 Ethernet controller: Mellanox Technologies MT2894 Family [ConnectX-6 Lx]

b1:00.2 Ethernet controller: Mellanox Technologies ConnectX Family mlx5Gen Virtual Function

b1:00.3 Ethernet controller: Mellanox Technologies ConnectX Family mlx5Gen Virtual Function

b1:00.4 Ethernet controller: Mellanox Technologies ConnectX Family mlx5Gen Virtual Function

b1:00.5 Ethernet controller: Mellanox Technologies ConnectX Family mlx5Gen Virtual Function

b1:00.6 Ethernet controller: Mellanox Technologies ConnectX Family mlx5Gen Virtual Function

b1:00.7 Ethernet controller: Mellanox Technologies ConnectX Family mlx5Gen Virtual Function

# ip link |grep ens4

261: ens4f0v0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000

262: ens4f0v1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000

263: ens4f0v2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000

264: ens4f0v3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000

265: ens4f0v4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000

266: ens4f0v5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000

18: ens4f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000

19: ens4f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000

# ip link show ens4f0v0

261: ens4f0v0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000

    link/ether 56:ba:79:b5:fb:3a brd ff:ff:ff:ff:ff:ff

[root@stgExt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值