# 安装驱动
#### 操作场景
基于vRoCE协议使用弹性网卡的EFI能力依赖OFED驱动（指定5.8-3.0.7.0-LTS版本）和vRoCE驱动，在启用了EFI后，您还需要完成相关驱动的安装后，才可以正常使用。
#### 约束与限制
- RDMA资源限制 ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002528871559.png "点击放大")
  一个ctx是一块4k物理页，用于存放用RDMA的信息，ctx使用的数量越多，需要使用的物理空间就越大。vRoCE实例有两种不同的规格：1M或者4M。
  您可以参考如下内容，查询物理空间大小。
  ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002526741655.png "点击放大")
  例如，查询到物理空间是1M，一个ctx页大小是4k，算得可用ctx数量是256个，vRoCE驱动会预扣6个ctx，所以单vRoCE网卡支持的最大ctx数量是250个。
  
- 同节点通信限制 当前版本不支持同一节点内的vRoCE通信，例如，vRoCE流量指定的server/client ip均是同一节点。
  ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002529144509.png "点击放大")
  Server进程：ib_send_bw
  Client进程：ib_send_bw xx.xx.1.131
  若Server和client运行在同一节点上，这类通信模型暂不支持。
  
 
#### 安装OFED驱动
1. 获取OFED驱动软件安装包。
   1. 访问<https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/>。
   
   2. 在页面正下方选择"Download"页签，单击"Archive Versions"。
      选择5.8-3.0.7.0-LTS版本，并根据对应操作系统进行驱动下载。
      表1OFED驱动安装包兼容性说明 
      | 安装包版本                       | 是否兼容 |
      |:---|:---|
      | 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 | 不兼容  |
         
      
    
2. 安装OFED驱动。
   1. 执行以下命令，解压OFED安装包。 **tar -zxvf** **MLNX_OFED_LINUX-5.8-3.0.7.0-*xxx*-x86_64.tgz**
      *xxx*为OFED驱动的安装包名称。
      
   
   2. 解压完成后，进入"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
      ```
      
   
   3. 在安装过程中，如果提示缺少相关依赖包，执行以下命令，进行安装。 **yum install** ***xxx***
      *xxx*为提示缺少的依赖包名称。
      例如，根据上一步提示执行以下命令：
      **yum install fuse-libs tcsh tk createrepo**
      
   
   4. 依赖包安装完成后，再次执行步骤[2.b]对应命令安装脚本。
      若出现如下信息，表示安装成功。
      图1安装结果   
      ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002526508725.png "点击放大") 
   
   5. 安装成功后，执行以下命令，加载驱动。 **/etc/init.d/openibd restart**
      若出现如下信息，表示加载成功。
      ```
      [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 ]
      ```
      
   
   6. 执行以下命令，使驱动生效。 **reboot**
      
    
 
#### 安装vRoCE驱动
1. 获取vRoCE驱动软件安装包。 访问如下地址，根据ECS的实例规格以及操作系统，下载软件安装包并保存在相同目录下。
   [https://support.huawei.com/carrier/navi?coltype=software#col=software\&detailId=PBI1-265311721\&path=PBI1-253383977/PBI1-23710112/PBI1-23710137/PBI1-255213015](https://support.huawei.com/carrier/idpRedirect?redirect=https%253A%252F%252Fsupport.huawei.com%252Fcarrier%252Fnavi%253Fcoltype%253Dsoftware%2523col%253Dsoftware%2526detailId%253DPBI1-265311721%2526path%253DPBI1-253383977%252FPBI1-23710112%252FPBI1-23710137%252FPBI1-255213015)
   表2不同操作系统和对应安装包对应关系 
   | 实例规格             | 操作系统及内核版本                                                        | 安装包名                                                                                                                                                                                                                                                                                                |
   |:---|:---|:---|
   | C7e/C7h          | CentOS 7.9 内核版本号：3.10.0-1160        | hiroce3-\*1160\*.rpm kmod-hinic3-\*1160\*.rpm kmod- hisdk3-\*1160\*.rpm kmod-sssdk-\*1160\*.rpm                             |
   | C7e/C7h          | CentOS 7.6 内核版本号：3.10.0-957       | hiroce3-\*957\*.rpm kmod-hinic3-\*957\*.rpm kmod- hisdk3-\*957\*.rpm kmod-sssdk-\*957\*.rpm                                 |
   | C7e/C7h          | Euler 2.9 内核版本号：4.18.0-147          | hiroce3-\*eulerosv2r9\*.rpm hinic3-\*eulerosv2r9\*.rpm hisdk3-\*eulerosv2r9\*.rpm sssdk-\*eulerosv2r9\*.rpm                 |
   | C7e/C7h          | Huawei Cloud EulerOS 2.0 内核版本号：5.10.0-60及以上版本               | hiroce3-\*eulerosv2r11\*.rpm hinic3-\*eulerosv2r11\*.rpm hisdk3-\*eulerosv2r11\*.rpm sssdk-\*eulerosv2r11\*.rpm             |
   | C7e/C7h          | Ubuntu 22.04_113 内核版本号：5.15.0-113   | hiroce3-\*113\*ubuntu.amd64.deb hinic3-\*113\*ubuntu.amd64.deb hisdk3-\*113\*ubuntu.amd64.deb sssdk-\*113\*ubuntu.amd64.deb |
   | C7e/C7h          | Ubuntu 22.04_136 内核版本号：5.15.0-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 内核版本号：5.10.0-60及以上版本                 | hiroce3-\*eulerosv2r12\*.rpm hinic3-\*eulerosv2r12\*.rpm hisdk3-\*eulerosv2r12\*.rpm sssdk-\*eulerosv2r12\*.rpm             |
   | aC8/aC9/aC9s/kC2 | Ubuntu 22.04_113 内核版本号：5.15.0-113  | hiroce3-\*113\*ubuntu.arm64.deb hinic3-\*113\*ubuntu.arm64.deb hisdk3-\*113\*ubuntu.arm64.deb sssdk-\*113\*ubuntu.arm64.deb |
   | aC8/aC9/aC9s/kC2 | Ubuntu 22.04_136 内核版本号：5.15.0-136   | hiroce3-\*136\*ubuntu.arm64.deb hinic3-\*136\*ubuntu.arm64.deb hisdk3-\*136\*ubuntu.arm64.deb sssdk-\*136\*ubuntu.arm64.deb |
      
   
2. 执行以下命令，依次安装vRoCE驱动安装包。 **rpm -ivh \*.rpm --nodeps**
   
3. 安装完成后，执行以下命令，使驱动生效。 **reboot**
   
 
#### 查看vRoCE网卡
您可以通过hiroce3工具获取vRoCE网卡信息。
1. 远程登录ECS。 详细内容，请参见[Linux ECS登录方式概述](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0013771089.html)。
   
2. 执行以下命令，查看vRoCE网卡信息。 **hiroce3 gids**
   图2返回结果   
   ![](https://support.huaweicloud.com/usermanual-ecs/zh-cn_image_0000002494429080.png "点击放大") 
 
