У меня 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?
решение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 Пятница 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**
и т. д.
3.Убедитесь, что файл создан в папке каждого вычислительного узла в/etc/udev/rules.d
**#ssh compute000 ls /etc/udev/rules.d | grep rdm
*#90-rdma.rules ***
4.Перезапустите все вычислительные узлы и узлы управления.
ПРИМЕЧАНИЕ: а. После изменения пользователь все равно получит этот результат при запуске команды
ibv_devices
[root@master ~]# ibv_devices
device node GUID
------ ----------------
mlx4_0 0002c901013029781
но не волнуйтесь, просто запустите предпочитаемое вами приложение MPI, и все будет в порядке.
b. Проблема заключается в том, что независимо от использования любого поставщика HCA, проблема напрямую связана с ОС.
c. Похоже, что это вызвано изменением, внесенным в upstream в пакет rdma (больше нет правил udev), устройства infiniband создаются ядром с неправильными разрешениями. Эта проблема была сообщена пользователями CentOS 6.3 и Scientific Linux 6.3
Надежда поможет другим
решение4
Думаю, вы попали в такую же ситуацию, как и я.
Я запустил rping и ib_write_bw, и получил такой вывод:
Не удалось выделить MR
это как сказал Дотан
Я подозреваю, что вы работаете как пользователь без прав root, и существует ограничение на количество страниц памяти, которые могут быть заблокированы (т.е. закреплены). Увеличение этого размера должно решить проблему.
Спасибо, Дотан.
решение простое, как сказал Дотанhttps://www.rdmamojo.com/2014/10/11/working-rdma-redhatcentos-7/
Отредактируйте файл /etc/security/limits.conf и добавьте следующие строки:
- soft memlock неограниченный
- жесткий memlock неограниченный