我使用Infiniband在RHEL 6.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呢?
好的,这是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
简单地用修复后的版本rdma-3.3-4更新软件包会更好。 更多细节在这里: http : //rhn.redhat.com/errata/RHBA-2012-1423.html
这里是更多完整的信息,寻求解决这个问题的人在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身份创build丢失的文件:
**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 ------------
在pipe理节点(即头节点,服务节点等)
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.validation文件是否在/etc/udev/rules.d的每个计算节点的文件夹中创build
**#ssh compute000 ls /etc/udev/rules.d | grep rdm *#90-rdma.rules ***
重新启动所有计算节点和pipe理节点。
注意: a。 在更改之后,用户在运行命令时仍然会得到这个结果
ibv_devices [root@master ~]# ibv_devices device node GUID ------ ---------------- mlx4_0 0002c901013029781
但不要担心只是运行你的首选mpi应用程序,并会没事的。
湾 问题在于,无论使用任何HCA供应商,都直接连接到操作系统。
C。 这似乎是由上游对rdma软件包所做的更改(不再有udev规则)引起的,infiniband设备是由内核以错误的权限创build的。 这个问题已经被CentOS 6.3和Scientific Linux 6.3的用户所报告
希望会帮助别人