业务执行时驱动报错

问题现象描述

在执行业务相关操作时,报错如图1所示。

图1 报错信息


原因分析

UCX业务注册RCache内存过大,超出了硬件缓冲区大小限制,解决方案中步骤一配置可以增大硬件缓冲区大小,步骤二使用多个网口的资源,也可以增大硬件缓冲区大小。

解决方法

  1. 需要在节点配置如下信息。

    1
    2
    3
    mst start
    mlxconfig -d 85:00.0 -y s PF_LOG_BAR_SIZE=8
    reboot
    

    85:00.0为网卡pcie号,可通过lspci | grep Mellanox查询。

  2. 网口需要组bond。

    1. 创建bond设备。
      1
      nmcli con add type bond ifname bond_01 mode 4
      
    2. 配置bond_01的IP地址。
      1
      2
      nmcli connection modify bond-bond_01 ipv4.addresses 10.5.5.131/24
      nmcli connection modify bond-bond_01 ipv4.method manual
      
    3. 增加slave网口,本例slave网口为“ens7f1”和“ens8f1”,请根据实际情况修改。
      1
      2
      nmcli con add type bond-slave ifname ens7f1 master bond-bond_01
      nmcli con add type bond-slave ifname ens8f1 master bond-bond_01
      
    4. 修改BONDING_OPTS配置。
      1. 打开“/etc/sysconfig/network-scripts/ifcfg-bond-bond_01”文件。
        1
        vim /etc/sysconfig/network-scripts/ifcfg-bond-bond_01
        
      2. “i”进入编辑模式,修改BONDING_OPTS配置。
        1
        2
        BONDING_OPTS="mode=4 miimon=100 xmit_hash_policy=layer3+4"
        MTU=4200
        

      3. “Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件
    5. 启用网络设备。
      1
      2
      3
      ifdown  bond-bond_01
      ifup bond-bond_01
      systemctl restart NetworkManager
      
    6. 在交换机将网口对应的端口组成trunk。具体交换机型号以及操作命令可联系对应网络IT负责人,可参考如下命令。
      • 配置交换机的接口为Trunk模式:
        Switch(config)# interface GigabitEthernet1/0/1
        Switch(config-if)# switchport mode trunk
        Switch(config-if)# switchport trunk allowed vlan 10,20

        该命令将端口GigabitEthernet1/0/1配置为Trunk模式,并允许VLAN 10和VLAN 20的流量通过。

      • 如果交换机间连接的是多个VLAN:
        Switch(config)# interface GigabitEthernet1/0/2
        Switch(config-if)# switchport mode trunk
        Switch(config-if)# switchport trunk allowed vlan 10-30

        该命令将端口GigabitEthernet1/0/2 配置为Trunk模式,并允许VLAN 10到VLAN 30的流量通过。