私のシステムには2つのインフィニバンドデバイスがあり、そのうちの1つには両方のポートがあります。
$> 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
さて、蓋で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'
このエラーメッセージの理由がわかりません。私は何かが足りないのですか?
対応する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
の権限を緩和します)。
SOでのタイプミスかもしれませんが、LIDを10x22
として指定しています。 LIDは16進数であると想定されているため、1は無関係です。 0x22
である必要があります。