Skip to main content

用户指南

Infiniband配置

最近更新时间:2024-08-22 10:34:08

操作场景

购买GPU云服务器后,如果其中包含Infiniband,请参考此文进行配置部署。

操作步骤

检查网卡

首先查看是否具有 Infiniband controller。

$ lspci | grep -i infiniband
00:07.0 Infiniband controller: Mellanox Technologies MT2910 Family [ConnectX-7]
如果成功返回上述信息,那么说明 InfiniBand(IB)网卡分配成功;若没有返回相应信息,则表明网卡可能未被正确识别或者分配失败。

安装驱动

  1. 使用Mellanox库配置APT,下载 Mellanox GPG key
$ wget -qO - http://www.mellanox.com/downloads/ofed/RPM-GPG-KEY-Mellanox | gpg --dearmor -o /usr/share/keyrings/GPG-KEY-Mellanox.gpg
  1. 创建 ∕etc∕apt∕sources.list.d∕mlnx. 列出文件并指定存储库位置
$ curl https://repo.download.nvidia.com/baseos/ubuntu/jammy/dgx-repo-files.tgz | sudo tar xzf - -C /
  1. 更新软件包。
$ sudo apt update
  1. 安装nvidia-manage-ofed软件包。
$ sudo apt install -y nvidia-manage-ofed
  1. 删除已安装的OFED组件。
$ sudo /usr/sbin/nvidia-manage-ofed.py -r ofed
  1. 添加Mellanox OFED组件。
$ sudo /usr/sbin/nvidia-manage-ofed.py -i mofed
  1. 执行完上述命令后,重启系统生效。
$ reboot

网络配置

  1. 查看IB网卡状态
$ ibstat
CA 'mlx5_0'
        CA type: MT4129
        Number of ports: 1
        Firmware version: 28.39.3004
        Hardware version: 0
        Node GUID: 0xa088c20300d6d136
        System image GUID: 0xa088c20300d6d136
        Port 1:
                State: Active
                Physical state: LinkUp
                Rate: 400
                Base lid: 189
                LMC: 0
                SM lid: 1
                Capability mask: 0xa751e848
                Port GUID: 0xa088c20300d6d136
                Link layer: InfiniBand
如果状态显示为“Active”或“LinkUp”,那么表明网卡已启动。若不是这种状态,可以尝试重启系统后再次进行检查。
  1. 查看IB网卡的网口
$ ibdev2netdev
mlx5_0 port 1 ==> ibs7 (Down)

$ ibstatus mlx5_0
Infiniband device 'mlx5_0' port 1 status:
        default gid:     fe80:0000:0000:0000:a088:c203:00d6:d136
        base lid:        0xbd
        sm lid:          0x1
        state:           4: ACTIVE
        phys state:      5: LinkUp
        rate:            400 Gb/sec (4X NDR)
        link_layer:      InfiniBand

可以看到IB 的网口名称是ibs7 ,后面一系列配置都需要此网口名称。

  1. 查看IB网段分配

查看实例信息 并跳转进入实例详情,在“设备(HPC)”提示处查看网段配置规则,可参考截图。

例如,网卡配置 100.0.n.4/24n根据需求自己设定。 

  1. 创建 Infiniband 配置

创建描述配置文件/etc/network/interfaces,如果不存在,请创建它。

$ cd /etc/network/
$ cat interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

创建描述配置文件/etc/network/interfaces.d,如果不存在,请创建它。

$ cd /etc/network/
$ ll
total 40
drwxr-xr-x   7 root root  4096 Mar  8 09:37 ./
drwxr-xr-x 152 root root 12288 Feb 19 07:46 ../
drwxr-xr-x   2 root root  4096 Dec 10 22:00 if-down.d/
drwxr-xr-x   2 root root  4096 Dec 10 22:00 if-post-down.d/
drwxr-xr-x   2 root root  4096 Dec 10 22:00 if-pre-up.d/
drwxr-xr-x   2 root root  4096 Jan 31 02:53 if-up.d/
-rw-r--r--   1 root root   241 Jan 31 02:50 interfaces
drwxr-xr-x   2 root root  4096 Mar  8 09:40 interfaces.d/

进入/etc/network/interfaces.d,创建文件ifcfg-ibs7 ,其中文件名称与配置内容中网卡涉及名称都需要改为ibs7,请仔细检查,保持一致性。

网卡配置 100.0.n.4/24,如果n=5,则IP地址配置为 address 100.0.5.4,/24对应的子网掩码为 netmask 255.255.255.0

$ cd /etc/network/interfaces.d
$ vim ifcfg-ibs7

auto ibs7
iface ibs7 inet static
	address 100.0.5.4
	netmask 255.255.255.0
	pre-up echo datagram > /sys/class/net/ibs7/mode || :
	pre-up /sbin/ifconfig ibs7 mtu 1500 || :

进入/etc/systemd/network/,创建文件10-ibs7.network ,其中文件名称与配置内容中网卡涉及名称都需要改为ibs7,请仔细检查,保持一致性。

网卡配置 100.0.n.4/24,如果n=5,则IP地址配置为Address=100.0.5.4/24

$ cd /etc/systemd/network/
$ vim 10-ibs7.network

[Match]
Name=ibs7

[Network]
Address=100.0.5.4/24

[Link]
MTUBytes=1500
  1. 更新网络配置并启用接口
$ netplan apply
$ ifconfig ibs7 up
  1. 检查IB网络尝试ping
$ ip -br a
lo               UNKNOWN        127.0.0.1/8 ::1/128 
eth0             UP             172.16.11.253/24 metric 100 fe80::222:10ff:fe94:6982/64 
ibs7             UP             100.0.5.4/24 fe80::a288:c203:d6:d136/64 

$ ping 100.0.5.4
PING 100.0.5.4 (100.0.5.4) 56(84) bytes of data.
64 bytes from 100.0.5.4: icmp_seq=1 ttl=64 time=0.129 ms
64 bytes from 100.0.5.4: icmp_seq=2 ttl=64 time=0.101 ms