中兴服务器迈络思NS312网卡down掉网口物理指示灯不熄灭解决方法--NS312型号ConnectX-4 Lx

中兴服务器迈络思NS312网卡down掉网口物理指示灯不熄灭解决方法–NS312型号ConnectX-4 Lx

中兴服务器做网卡倒卡测试时,出现如下问题:
中兴服务器迈络思网卡,卡片NS312,型号ConnectX-4 Lx,万兆网卡在执行ifdown或ip link set up ens2等down掉网口的命令时,并不会物理down物理网口,down掉后,物理网口指示灯依然是亮的。这样的话在网卡绑定bond时,用的是model2的话,就无法通过倒卡测试。会给后期运维带来麻烦。

倒卡测试:
网卡绑定bond,如:bond1绑定的是eth0 eth1 eth2 eth3 四个网口,当排列组合down掉其中三个时,bond1要能够正常工作。

注意:
model4模式的bond不会有该问题,可以通过修改交换机的 最短时间间隔设置(交换机lacp绑定端口,启用 lacp timeout short 设置间隔时间),中兴服务器默认设置的是30秒。

为了解决model2模式的bond,无法通过倒卡测试问题,则通过物理down掉网口的方式实现。
服务器物理网口指示灯亮与熄灭是网卡固件决定,用ifconfig ethx down(协议层down)时,如果还需要关闭网口ethx的发光(物理down),需要做如下设置

步骤如下:

  1. 下载麦洛斯网卡MFT工具
    麦洛斯网卡MFT工具下载路径
    https://network.nvidia.com/products/adapter-software/firmware-tools/
    MFT download center

  2. MFT工具上传及安装
    a. 将工具包mft-4.22.1-11-x86_64-rpm.tgz,上传到服务器Linux操作系统指定的目录下。
    例如上传到 /home/mft 目录下。

    -- 创建 mft目录
    mkdir -p /home/mft
    

    b. 使用root用户解压MFT工具压缩包。

    # 进入上传rpm包的目录
    cd /home/mft
    
    # 解压MFT工具包
    tar -zxvf mft-4.22.1-11-x86_64-rpm.tgz
    

    c. 安装MFT工具。

    # 进入工具目录
    cd mft-4.22.1-11-x86_64-rpm/
    
    # 执行安装脚本。 (注:如果是非root用户,执行安装前需要先授权,命令:chmod +x *)
    ./install.sh --oem
    

    如果在安装的时候,提示安装不了,则需要先在服务器安装提示缺失的应用。如下在安装 mft-4.22.1-11-x86_64-rpm时要先安装rpm-build。
    rpm-build

    # 安装 rpm-build
    yum -y install rpm-build
    

    如果你的机器没有配置yum源,那么需要自己去配置一个,如果实在是配不了,也没有本地yum源包,那么就去下载一个安装吧。

  3. 关闭网卡默认设置

    # 启动MFT工具
    mst start
    # 扫描系统中Mellanox网卡---此命令只扫描mellanox网卡
    mst status
    

    如下图所示,网卡设备为/dev/mst/mt4117_pciconf0(标红的需要注意,不同网卡显示数字不同,如pciconf1、pciconf2)
    本机有2个网卡mt4117_pciconf0、mt4117_pciconf1(根据自己的服务器的实际网卡个数来)
    mst-pciconf

     # 关闭网卡的网口默认设置,有几个网卡就执行几个
     # 关闭 0 的网卡默认设置
      mlxconfig -d /dev/mst/mt4117_pciconf0 q
      
     # 关闭 1 的网卡默认设置
      mlxconfig -d /dev/mst/mt4117_pciconf1 q
    

    找到KEEP_ETH_LINK_UP_P1 和KEEP_ETH_LINK_UP_P2 两个参数信息,默认设置为True(1)
    (P1和P2分别代表网卡的两个网口)

     # 执行设置命令,将参数由 True(1) 改成 False(0)
     	# 设置 0 网卡的网口down物理灭灯
        mlxconfig -d /dev/mst/mt4117_pciconf0 set KEEP_ETH_LINK_UP_P1=0
        mlxconfig -d /dev/mst/mt4117_pciconf0 set KEEP_ETH_LINK_UP_P2=0
        
    	# 设置 1 网卡的网口down物理灭灯
        mlxconfig -d /dev/mst/mt4117_pciconf1 set KEEP_ETH_LINK_UP_P1=0
        mlxconfig -d /dev/mst/mt4117_pciconf1 set KEEP_ETH_LINK_UP_P2=0
    

    KEEP_ETH_LINK_UP_P

    	# 重启系统
         reboot
    
  4. 网卡物理层置down

    # ethx为需要down的网口
    ifconfig ethx down 
    # 查询网口状态,并观察网口灯状态是否熄灭了
    ethtool ethx 
    
  5. 倒卡测试
    11.11.0.25 :本服务器能够通过vlan:bond1.122 ping通的地址
    bond1.122:是bond1下的子网口 122
    eth2、eth3:是bond1绑定的两个物理网卡网口

    # 倒卡测试,将bond1 的eth2 up、 eth3 down
    ip  link set up eth2 & ip link set down eth3 & ping -I bond1.122 -c 100 -i 0.1 11.11.0.25
    
    # 倒卡测试,将bond1 的eth2 down、 eth3 up
    ip  link set down eth2 & ip link set up eth3 & ping -I bond1.122 -c 100 -i 0.1 11.11.0.25
    
    # 倒卡测试,将bond1 的eth2 up、 eth3 up
    ip  link set up eth2 & ip link set up eth3 & ping -I bond1.122 -c 100 -i 0.1 11.11.0.25