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)网卡分配成功;若没有返回相应信息,则表明网卡可能未被正确识别或者分配失败。
安装驱动
- 使用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
- 创建
∕etc∕apt∕sources.list.d∕mlnx.
列出文件并指定存储库位置
$ curl https://repo.download.nvidia.com/baseos/ubuntu/jammy/dgx-repo-files.tgz | sudo tar xzf - -C /
- 更新软件包。
$ sudo apt update
- 安装nvidia-manage-ofed软件包。
$ sudo apt install -y nvidia-manage-ofed
- 删除已安装的OFED组件。
$ sudo /usr/sbin/nvidia-manage-ofed.py -r ofed
- 添加Mellanox OFED组件。
$ sudo /usr/sbin/nvidia-manage-ofed.py -i mofed
- 执行完上述命令后,重启系统生效。
$ reboot
网络配置
- 查看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”,那么表明网卡已启动。若不是这种状态,可以尝试重启系统后再次进行检查。
- 查看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
,后面一系列配置都需要此网口名称。
- 查看IB网段分配
请 查看实例信息 并跳转进入实例详情,在“设备(HPC)”提示处查看网段配置规则,可参考截图。
例如,网卡配置 100.0.n.4/24
,n根据需求自己设定。
- 创建 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
- 更新网络配置并启用接口
$ netplan apply
$ ifconfig ibs7 up
- 检查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