permitir infiniband para usuarios no root

permitir infiniband para usuarios no root

Tengo Infiniband ejecutándose en 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

pero solo funciona como root.

al intentarlo con un usuario que no es superusuario, no obtuve nada:

[nicolas@master ~]$ ibv_devices
device                 node GUID
------              ----------------
mthca0              001708ffffd06f1c

Entonces, ¿cómo permitir que los usuarios habituales utilicen infiniband?

Respuesta1

Ok, esto es un error en la versión RHEL 6.3.

Falta la regla 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"

verhttps://www.centos.org/modules/newbb/viewtopic.php?topic_id=38586&forum=55

Respuesta2

Es mejor simplemente actualizar el paquete con la versión reparada, rdma-3.3-4. Más detalles aquí: http://rhn.redhat.com/errata/RHBA-2012-1423.html

Respuesta3

aquí hay información más completa para las personas que buscan resolver este problema que enfrentan en RH 6.3 Linux 2.6.32-279.9.1.el6.x86_64 #1 SMP viernes 31 de agosto 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.Cree el archivo que falta como raíz:

**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 ------------

en el nodo de gestión (es decir, nodo principal, nodo de servicio, etc.)

2. Copie este archivo mediante ssh o cualquier método preferido en cualquier nodo informático del clúster.

**#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.Verifique que el archivo se haya creado en la carpeta de cada nodo de cálculo en/etc/udev/rules.d

**#ssh compute000 ls /etc/udev/rules.d | grep rdm 
*#90-rdma.rules ***

4.Reinicie todos los nodos de computación y de administración.

NOTA: a. Después del cambio, el usuario seguirá obteniendo este resultado cuando ejecute el comando.

ibv_devices

[root@master ~]# ibv_devices
    device                 node GUID
    ------              ----------------
    mlx4_0              0002c901013029781

pero no te preocupes, simplemente ejecuta tu aplicación mpi preferida y todo estará bien.

b. El problema es que, independientemente del uso de cualquier proveedor de HCA, está directamente conectado al sistema operativo.

C. Esto parece deberse a un cambio realizado en el paquete rdma (no más reglas udev), el kernel crea los dispositivos infiniband con los permisos incorrectos. Este problema ha sido informado por usuarios de CentOS 6.3 y Scientific Linux 6.3.

La esperanza ayudará a otros.

Respuesta4

Supongo que te metes en una situación similar a la mía.

Ejecuté rping e ib_write_bw, con el resultado como

No se pudo asignar MR

Esto es como Dotan dijo que

Sospecho que está trabajando como usuario no root y hay un límite en la cantidad de páginas de memoria que se pueden bloquear (es decir, fijar). Aumentar este tamaño debería resolver el problema.

gracias dotan

La solución es simple, como dijo aquí Dotan.https://www.rdmamojo.com/2014/10/11/working-rdma-redhatcentos-7/

Edite el archivo /etc/security/limits.conf y agregue las siguientes líneas:

  • memlock suave ilimitado
  • memlock duro ilimitado

información relacionada