3.6. 使用 nmstatectl配置 IPoIB 连接
您可以使用 nmstatectl 工具通过 Nmstate API 配置 IP over InfiniBand (IPoIB)连接。Nmstate API 确保设置配置后结果与配置文件匹配。如果有任何失败,nmstatectl 会自动回滚更改以避免系统处于不正确的状态。
先决条件
- 在服务器上安装一个 InfiniBand 设备。
- 加载 InfiniBand 设备的内核模块。
流程
创建包含以下内容的 YAML 文件,如
~/create-IPoIB-profile.yml:interfaces: - name: mlx4_ib0.8002 type: infiniband state: up ipv4: enabled: true address: - ip: 192.0.2.1 prefix-length: 24 dhcp: false ipv6: enabled: true address: - ip: 2001:db8:1::1 prefix-length: 64 autoconf: false dhcp: false infiniband: base-iface: "mlx4_ib0" mode: datagram pkey: "0x8002" routes: config: - destination: 0.0.0.0/0 next-hop-address: 192.0.2.254 next-hop-interface: mlx4_ib0.8002 - destination: ::/0 next-hop-address: 2001:db8:1::fffe next-hop-interface: mlx4_ib0.8002IPoIB 连接现在有以下设置:
-
IPOIB 设备名称:
mlx4_ib0.8002 -
基本接口(父):
mlx4_ib0 -
InfiniBand 分区键:
0x8002 -
传输模式:data
gram -
静态 IPv4 地址:
192.0.2.1,子网掩码为/24 -
静态 IPv6 地址:
2001:db8:1::1,子网掩码为/64 -
IPv4 默认网关:
192.0.2.254 -
IPv6 默认网关:
2001:db8:1::fffe
-
IPOIB 设备名称:
将设置应用到系统:
# nmstatectl apply ~/create-IPoIB-profile.yml
验证
显示
mlx4_ib0.8002设备的 IP 设置:# ip address show mlx4_ib0.8002 ... inet 192.0.2.1/24 brd 192.0.2.255 scope global noprefixroute ib0.8002 valid_lft forever preferred_lft forever inet6 2001:db8:1::1/64 scope link tentative noprefixroute valid_lft forever preferred_lft forever显示
mlx4_ib0.8002设备的分区密钥(P_Key):# cat /sys/class/net/mlx4_ib0.8002/pkey 0x8002显示
mlx4_ib0.8002设备的模式:# cat /sys/class/net/mlx4_ib0.8002/mode datagram