13.8.7. 使用命令行配置 IPoIB
首先确定是否需要重命名默认 IPoIB 设备,如果需要,请按照 第 13.5.2 节 “70-persistent-ipoib.rules 的使用” 部分中的说明使用 udev 重命名规则重命名设备。通过删除 the
ib_ipoib
内核模块,然后重新载入它,用户可以强制重命名 IPoIB 接口而不重新启动:
~]$ rmmod ib_ipoib ~]$ modprobe ib_ipoib
设备具有所需的名称后,管理员可以使用首选编辑器创建
ifcfg
文件,以控制设备。带有静态 IPv4
寻址的典型 IPoIB 配置文件如下:
~]$ more ifcfg-mlx4_ib0
DEVICE=mlx4_ib0
TYPE=InfiniBand
ONBOOT=yes
HWADDR=80:00:00:4c:fe:80:00:00:00:00:00:00:f4:52:14:03:00:7b:cb:a1
BOOTPROTO=none
IPADDR=172.31.0.254
PREFIX=24
NETWORK=172.31.0.0
BROADCAST=172.31.0.255
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
MTU=65520
CONNECTED_MODE=yes
NAME=mlx4_ib0
DEVICE 字段必须与任何 udev 重命名规则中创建的自定义名称匹配。NAME 条目不需要与设备名称匹配。如果启动 GUI 连接编辑器,则 NAME 字段用于向用户显示此连接的名称。TYPE 字段必须是 InfiniBand,才能正确处理 InfiniBand 选项。CONNECTED_MODE 为 yes
或 no
,其中 yes
将使用连接模式,并且 no
将使用数据报模式进行通信(请参阅 第 13.8.2 节 “了解 IPoIB 通信模式”部分)。
对于
P_Key
接口,这是典型的配置文件:
~]$ more ifcfg-mlx4_ib0.8002
DEVICE=mlx4_ib0.8002
PHYSDEV=mlx4_ib0
PKEY=yes
PKEY_ID=2
TYPE=InfiniBand
ONBOOT=yes
HWADDR=80:00:00:4c:fe:80:00:00:00:00:00:00:f4:52:14:03:00:7b:cb:a1
BOOTPROTO=none
IPADDR=172.31.2.254
PREFIX=24
NETWORK=172.31.2.0
BROADCAST=172.31.2.255
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
MTU=65520
CONNECTED_MODE=yes
NAME=mlx4_ib0.8002
对于所有 P_Key
接口文件,PHYSDEV 指令是必需的,且必须是父设备的名称。PKEY 指令必须设置为 yes
,而 PKEY_ID
必须是接口的编号(添加有或不带 0x8000
个成员身份)。但是,设备名称必须是 PKEY_ID
的四位十六进制表示法和 0x8000
成员资格位(使用逻辑 OR 运算符): NAME=${PHYSDEV}.$((0x8000 | $PKEY_ID))
默认情况下,文件中的
PKEY_ID
被视为十进制数字,转换为十六进制数,然后使用逻辑 OR 运算符与 0x8000
运算符合并,以达到该设备的正确名称,但用户可以通过将标准的 0x
前缀添加到该数字,以十六进制指定 PKEY_ID
。