RHEL 6.3でInfinibandを実行しました
[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 を使用できるようにするにはどうすればよいでしょうか?
答え1
これはRHEL 6.3リリースのバグです
Udev ルールが見つかりません:
ルール
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
答え2
修復されたバージョン rdma-3.3-4 でパッケージを更新する方がよいでしょう。詳細はこちらをご覧ください: RHBA 2012 リリース ノート
答え3
RH 6.3 Linux 2.6.32-279.9.1.el6.x86_64 で発生したこの問題を解決しようとしている人のためのより完全な情報がここにあります #1 SMP Fri Aug 31 09:04:24 EDT 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. 不足しているファイルをルートとして作成します。
**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 ルールがなくなった) が原因であると思われます。infiniband デバイスは、カーネルによって間違った権限で作成されます。この問題は、CentOS 6.3 および Scientific Linux 6.3 のユーザーによって報告されています。
希望は他人を助ける
答え4
あなたも私と同じような状況に陥ると思います。
rpingとib_write_bwを実行したところ、次のような出力が返されました。
MRを割り当てられませんでした
これはドタンが言った通りだ
非ルート ユーザーとして作業しており、ロック (つまり固定) できるメモリ ページの量に制限があると思われます。このサイズを増やすと、問題は解決するはずです。
ありがとう、ドタン
解決策は簡単です。ここでドタンが言ったようにhttps://www.rdmamojo.com/2014/10/11/working-rdma-redhatcentos-7/
/etc/security/limits.conf ファイルを編集し、次の行を追加します。
- ソフト メモリロック 無制限
- ハード メモリロック 無制限