安装驱动
操作场景
基于vRoCE协议使用弹性网卡的EFI能力依赖OFED驱动(指定5.8-3.0.7.0-LTS版本)和vRoCE驱动,在启用了EFI后,您还需要完成相关驱动的安装后,才可以正常使用。
约束与限制
- RDMA资源限制
一个ctx是一块4k物理页,用于存放用RDMA的信息,ctx使用的数量越多,需要使用的物理空间就越大。vRoCE实例有两种不同的规格:1M或者4M。
您可以参考如下内容,查询物理空间大小。

例如,查询到物理空间是1M,一个ctx页大小是4k,算得可用ctx数量是256个,vRoCE驱动会预扣6个ctx,所以单vRoCE网卡支持的最大ctx数量是250个。
- 同节点通信限制
当前版本不支持同一节点内的vRoCE通信,例如,vRoCE流量指定的server/client ip均是同一节点。

Server进程:ib_send_bw
Client进程:ib_send_bw xx.xx.1.131
若Server和client运行在同一节点上,这类通信模型暂不支持。
安装OFED驱动
- 获取OFED驱动软件安装包。
- 访问https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/。
- 在页面正下方选择“Download”页签,单击“Archive Versions”。
选择5.8-3.0.7.0-LTS版本,并根据对应操作系统进行驱动下载。
表1 OFED驱动安装包兼容性说明 安装包版本
是否兼容
MLNX_OFED_LINUX-5.8-1.1.2.1
兼容
MLNX_OFED_LINUX-5.8-1.0.1.1
兼容
MLNX_OFED_LINUX-5.8-2.0.3.0
兼容
MLNX_OFED_LINUX-5.8-3.0.7.0
兼容
MLNX_OFED_LINUX-5.8-4.1.5.0
兼容
MLNX_OFED_LINUX-5.8-5.1.1.2
兼容
MLNX_OFED_LINUX-5.8-6.0.4.2
兼容
MLNX_OFED_LINUX-5.8-7.0.6.1
不兼容
- 安装OFED驱动。
- 执行以下命令,解压OFED安装包。
tar -zxvf MLNX_OFED_LINUX-5.8-3.0.7.0-xxx-x86_64.tgz
xxx为OFED驱动的安装包名称。
- 解压完成后,进入“MLNX_OFED_LINUX-5.8-3.0.7.0-xxx-x86_64”文件夹,执行以下命令进行安装。
./mlnxofedinstall --without-fw-update --force --add-kernel-support --skip-distro-check --distro hce --without-ucx --without-depcheck (hce)
./mlnxofedinstall --without-fw-update --without-ucx --force (CentOS)
./mlnxofedinstall --without-fw-update --force --add-kernel-support --without-ucx --skip-distro-check (EulerOS)
./mlnxofedinstall --force --all (Ubuntu22.04)
以CentOS系列为例:
[root@localhost MLNX_OFED_LINUX-5.8-3.0.7.0-xxx-x86_64]# ./mlnxofedinstall --without-fw-update --without-ucx --force Logs dir: /tmp/MLNX_OFED_LINUX.1479.logs General log file: /tmp/MLNX_OFED_LINUX.1479.logs/general.log Verifying KMP rpms compatibility with target kernel... Error: One or more required packages for installing MLNX_OFED_LINUX are missing. Please install the missing packages using your Linux distribution Package Management tool. Run: yum install fuse-libs tcsh tk createrepo
- 在安装过程中,如果提示缺少相关依赖包,执行以下命令,进行安装。
xxx为提示缺少的依赖包名称。
例如,根据上一步提示执行以下命令:
yum install fuse-libs tcsh tk createrepo
- 依赖包安装完成后,再次执行步骤2.b对应命令安装脚本。
若出现如下信息,表示安装成功。
图1 安装结果
- 安装成功后,执行以下命令,加载驱动。
若出现如下信息,表示加载成功。
[root@localhost MLNX_OFED_LINUX-5.8-3.0.7.0-xxx-x86_64.tgz]# /etc/init.d/openibd restart Uploading HCA driver: [ OK ] Loading HCA driver and Access Layer: [ OK ]
- 执行以下命令,使驱动生效。
- 执行以下命令,解压OFED安装包。
安装vRoCE驱动
- 获取vRoCE驱动软件安装包。
访问如下地址,根据ECS的实例规格以及操作系统,下载软件安装包并保存在相同目录下。
https://support.huawei.com/carrier/navi?coltype=software#col=software&detailId=PBI1-265311721&path=PBI1-253383977/PBI1-23710112/PBI1-23710137/PBI1-255213015表2 不同操作系统和对应安装包对应关系 实例规格
操作系统及内核版本
安装包名
C7e/C7h
CentOS 7.9
hiroce3-*1160*.rpm
kmod-hinic3-*1160*.rpm
kmod- hisdk3-*1160*.rpm
kmod-sssdk-*1160*.rpm
CentOS 7.6
hiroce3-*957*.rpm
kmod-hinic3-*957*.rpm
kmod- hisdk3-*957*.rpm
kmod-sssdk-*957*.rpm
Euler 2.9
hiroce3-*eulerosv2r9*.rpm
hinic3-*eulerosv2r9*.rpm
hisdk3-*eulerosv2r9*.rpm
sssdk-*eulerosv2r9*.rpm
Huawei Cloud EulerOS 2.0
hiroce3-*eulerosv2r11*.rpm
hinic3-*eulerosv2r11*.rpm
hisdk3-*eulerosv2r11*.rpm
sssdk-*eulerosv2r11*.rpm
Ubuntu 22.04_113
hiroce3-*113*ubuntu.amd64.deb
hinic3-*113*ubuntu.amd64.deb
hisdk3-*113*ubuntu.amd64.deb
sssdk-*113*ubuntu.amd64.deb
Ubuntu 22.04_136
hiroce3-*136*ubuntu.amd64.deb
hinic3-*136*ubuntu.amd64.deb
hisdk3-*136*ubuntu.amd64.deb
sssdk-*136*ubuntu.amd64.deb
aC8/aC9/aC9s/kC2
Huawei Cloud EulerOS 2.0
hiroce3-*eulerosv2r12*.rpm
hinic3-*eulerosv2r12*.rpm
hisdk3-*eulerosv2r12*.rpm
sssdk-*eulerosv2r12*.rpm
Ubuntu 22.04_113
hiroce3-*113*ubuntu.arm64.deb
hinic3-*113*ubuntu.arm64.deb
hisdk3-*113*ubuntu.arm64.deb
sssdk-*113*ubuntu.arm64.deb
Ubuntu 22.04_136
hiroce3-*136*ubuntu.arm64.deb
hinic3-*136*ubuntu.arm64.deb
hisdk3-*136*ubuntu.arm64.deb
sssdk-*136*ubuntu.arm64.deb
- 执行以下命令,依次安装vRoCE驱动安装包。
- 安装完成后,执行以下命令,使驱动生效。

