我的系统有 2 个 Infiniband 设备,其中一个设备的两个端口均已启用。
$> ibstatus
Infiniband device 'mlx4_0' port 1 status:
default gid: fe80:0000:0000:0000:0002:c903:000f:0a9f
base lid: 0x22
sm lid: 0x1
state: 4: ACTIVE
phys state: 5: LinkUp
rate: 20 Gb/sec (4X DDR)
link_layer: IB
Infiniband device 'mlx4_0' port 2 status:
default gid: fe80:0000:0000:0000:0002:c903:000f:0aa0
base lid: 0x23
sm lid: 0x1
state: 4: ACTIVE
phys state: 5: LinkUp
rate: 20 Gb/sec (4X DDR)
link_layer: IB
Infiniband device 'mlx4_1' port 1 status:
default gid: fe80:0000:0000:0000:0002:c903:000f:0a6b
base lid: 0x0
sm lid: 0x0
state: 1: DOWN
phys state: 2: Polling
rate: 10 Gb/sec (4X)
link_layer: IB
Infiniband device 'mlx4_1' port 2 status:
default gid: fe80:0000:0000:0000:0002:c903:000f:0a6c
base lid: 0xd
sm lid: 0x2
state: 4: ACTIVE
phys state: 5: LinkUp
rate: 10 Gb/sec (4X)
link_layer: IB
现在,当我通过 lid 检查 ib 端口状态时,
$> ibportstate -L 10x22 enable
ibwarn: [14836] mad_rpc_open_port: can't open UMAD port ((null):0)
ibportstate: iberror: failed: Failed to open '(null)' port '0'
我不确定此错误消息的原因。我是否遗漏了什么?
答案1
相应的设备文件是否umad
存在(通常是这样的/dev/infiniband/umad0
)?
此外,在我可以访问的系统上,权限/dev/infiniband/umad0
默认设置为普通用户无法访问它们:
crw-rw---- 1 root root 231, 0 Feb 1 16:00 /dev/infiniband/umad0
因此您可以用来sudo
运行您的命令(或放宽的权限/dev/infiniband/umad0
)。
答案2
这可能只是 SO 上的拼写错误,但您将 LID 指定为10x22
。由于 LID 应该是十六进制数,因此 1 是多余的。它应该只是一个0x22
。