我在 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 規則:
/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
答案2
最好直接使用修復後的版本 rdma-3.3-4 更新軟體包。更多詳細資訊請參閱此處: http://rhn.redhat.com/errata/RHBA-2012-1423.html
答案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.以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**
ETC
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 供應商,都是直接連接到作業系統的。
C。這似乎是由 rdma 套件上游所做的更改引起的(不再有 udev 規則),核心使用錯誤的權限創建了 infiniband 設備。 CentOS 6.3 和 Scientific Linux 6.3 的使用者已回報此問題
希望能幫助別人
答案4
我想你也會遇到跟我類似的情況。
我運行了 rping 和 ib_write_bw,輸出如下
無法分配MR
正如 Dotan 所說
我懷疑您正在以非 root 使用者身分工作,並且可以鎖定(即固定)的記憶體頁數量有限制。增加這個大小應該可以解決問題。
謝謝多坦
解決方案很簡單,正如 Dotan 所說https://www.rdmamojo.com/2014/10/11/working-rdma-redhatcentos-7/
編輯檔案 /etc/security/limits.conf 並新增以下行:
- 軟記憶體鎖 無限
- 硬記憶體鎖 無限