InfinibandをRHEL6.3で実行しました
[root@master ~]# ibv_devinfo
hca_id: mthca0
transport: InfiniBand (0)
fw_ver: 4.7.927
node_guid: 0017:08ff:ffd0:6f1c
sys_image_guid: 0017:08ff:ffd0:6f1f
vendor_id: 0x08f1
vendor_part_id: 25208
hw_ver: 0xA0
board_id: VLT0060010001
phys_port_cnt: 2
port: 1
state: PORT_ACTIVE (4)
max_mtu: 2048 (4)
active_mtu: 2048 (4)
sm_lid: 2
port_lid: 3
port_lmc: 0x00
link_layer: InfiniBand
port: 2
state: PORT_DOWN (1)
max_mtu: 2048 (4)
active_mtu: 512 (2)
sm_lid: 0
port_lid: 0
port_lmc: 0x00
link_layer: InfiniBand
ただし、rootとしてのみ機能します。
スーパーユーザー以外から試したところ、何も得られませんでした:
[nicolas@master ~]$ ibv_devices
device node GUID
------ ----------------
mthca0 001708ffffd06f1c
では、通常のユーザーがinfinibandを使用できるようにするにはどうすればよいですか?
わかりました、これはRHEL6.3リリースのバグです
Udevルールがありません:
/etc/udev/rules.d/90-rdma.rules
KERNEL=="umad*", SYMLINK+="infiniband/%k"
KERNEL=="issm*", SYMLINK+="infiniband/%k"
KERNEL=="ucm*", SYMLINK+="infiniband/%k", MODE="0666"
KERNEL=="uverbs*", SYMLINK+="infiniband/%k", MODE="0666"
KERNEL=="uat", SYMLINK+="infiniband/%k", MODE="0666"
KERNEL=="ucma", SYMLINK+="infiniband/%k", MODE="0666"
KERNEL=="rdma_cm", SYMLINK+="infiniband/%k", MODE="0666"
https://www.centos.org/modules/newbb/viewtopic.php?topic_id=38586&forum=55 を参照してください
修復されたバージョンのrdma-3.3-4でパッケージを更新することをお勧めします。詳細はこちら: http://rhn.redhat.com/errata/RHBA-2012-1423.html
あなたは私のような状況に陥ると思います。
Rpingとib_write_bwを実行し、次のような出力を使用しました。
MRを割り当てることができませんでした
これはDotanが言った通りです
Root以外のユーザーとして作業していて、ロックできる(つまり固定されている)メモリページの量に制限があると思われます。このサイズを大きくすると、問題が解決するはずです。
ありがとうDotan
ここでDotanが言ったように、解決策は簡単です https://www.rdmamojo.com/2014/10/11/working-rdma-redhatcentos-7/
ファイル/etc/security/limits.confを編集し、次の行を追加します。
- ソフトメムロック無制限
- 無制限のハードmemlock
rH 6.3 Linux 2.6.32-279.9.1.el6.x86_64#1SMP金8月31日09:04:24EDT 2012 x86_64 x86_64 x86_64 GNU/Linuxで直面しているこの問題を解決しようとしている人のためのより完全な情報はここにあります
**#ibstat**
CA 'mlx4_0'
CA type: MT4099
Number of ports: 2
Firmware version: 2.10.700
Hardware version: 0
Node GUID: 0x0002c90300129780
System image GUID: 0x0002c901013029781
Port 1:
State: Active
Physical state: LinkUp
Rate: 56
Base lid: 1
LMC: 0
SM lid: 1
Capability mask: 0x0251486a
Port GUID: 0x0002c901013029781
Link layer: InfiniBand
1.不足しているファイルをrootとして作成します。
**vi /etc/udev/rules.d/90-rdma.rules**
------------ cut here ------------
KERNEL=="umad*", SYMLINK+="infiniband/%k"
KERNEL=="issm*", SYMLINK+="infiniband/%k"
KERNEL=="ucm*", SYMLINK+="infiniband/%k", MODE="0666"
KERNEL=="uverbs*", SYMLINK+="infiniband/%k", MODE="0666"
KERNEL=="uat", SYMLINK+="infiniband/%k", MODE="0666"
KERNEL=="ucma", SYMLINK+="infiniband/%k", MODE="0666"
KERNEL=="rdma_cm", SYMLINK+="infiniband/%k", MODE="0666"
------------ cut here ------------
管理ノード(つまり、ヘッドノード、サービスノードなど)
2.このファイルをsshまたは任意の優先方法で、クラスター内の任意の計算ノードにコピーします。
**#ssh compute000 cp /home/90-rdma.rules /etc/udev/rules.d/90-rdma.rules**
**#ssh compute001 cp /home/90-rdma.rules /etc/udev/rules.d/90-rdma.rules**
**#ssh compute002 cp /home/90-rdma.rules /etc/udev/rules.d/90-rdma.rules**
**#ssh compute003 cp /home/90-rdma.rules /etc/udev/rules.d/90-rdma.rules**
**#ssh compute004 cp /home/90-rdma.rules /etc/udev/rules.d/90-rdma.rules**
等
3.ファイルが/etc/udev/rules.d
のすべての計算ノードのフォルダーに作成されていることを確認します
**#ssh compute000 ls /etc/udev/rules.d | grep rdm
*#90-rdma.rules ***
4.すべての計算ノードと管理ノードを再起動します。
注: a。変更後も、コマンドを実行すると、ユーザーはこの結果を取得します
ibv_devices
[root@master ~]# ibv_devices
device node GUID
------ ----------------
mlx4_0 0002c901013029781
ただし、好みのmpiアプリケーションを実行するだけで問題はありません。
b。問題は、HCAベンダーの使用に関係なく、OSに直接接続されています。
c。これは、rdmaパッケージのアップストリームで行われた変更(udevルールがなくなった)が原因であると思われます。インフィニバンドデバイスは、間違ったアクセス許可でカーネルによって作成されます。この問題は、CentOS6.3およびScientificLinux6.3のユーザーによって報告されています。
希望は他の人を助けるでしょう