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
|
内核必须支持vfio, vfio_iommu_type1, vfio_pci 等模块
检查Kernel加载 IOMMU 相关的内核模块
|
QEMU必须2.0版本以上
centos8.4自带qemu版本4.2.0,BVT环境已升级至8.0.2,且QEMU需要重新编译
configure ./
|
QEMU替换步骤
example
|
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个;
|
ens4f0单个网口虚拟出6个VF
|
lspci命令行输出
|
永久生效还需要
创建文件 /etc/modprobe.d/mlx5.conf
,并添加以下内容:
cat /etc/modprobe.d/mlx5.conf
|
为VF接口创建一个udev 规则
/etc/udev/rules.d/ens4f0.rules,使创建的VF持久化
cat /etc/udev/rules.d/ens4f0.rules
|
重新加载 mlx5_core 内核模块以使配置生效:
modprobe -r mlx5_core && modprobe mlx5_core
|
保存生效后,可以查看到VF,例如:
$ ip link show
|
查看RDMA链接状态
$ ip link show
|
网口下层Link Layer: Ethernet表示RoCE协议
|
ibv_devinfo -v
的输出中,每个网络接口都可能包含多个 GID(Global Identifier),每个 GID 表示一个全局唯一标识符,用于唯一标识 InfiniBand 网络中的节点或端口。其中,每个 GID 都会指定一个协议版本,如 RoCE v1 或 RoCE v2。
在 ibv_devinfo -v
命令的输出中
- 如果看到
transport: Ethernet
,则表示使用以太网协议; - 如果同时看到
RoCE v1
或RoCE v2
,则说明使用了 RoCE 协议;
ibv_devinfo -v |grep GID
|
更多参考:文章来源:https://www.toymoban.com/news/detail-823154.html
QEMU官网 Download QEMU - QEMU文章来源地址https://www.toymoban.com/news/detail-823154.html
到了这里,关于RDMA在KVM实现条件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!