En esta sección, se describe cómo identificar las funciones físicas y virtuales InfiniBand, y cómo correlacionar la vista de Logical Domains Manager y Oracle Solaris de las funciones físicas y virtuales InfiniBand.
En el ejemplo siguiente, se muestran diferentes maneras de mostrar información sobre la función física /SYS/MB/RISER1/PCIE4/IOVIB.PF0. El nombre de una función física que incluye la cadena IOVIB indica que se trata de un dispositivo SR-IOV InfiniBand.
primary# ldm list-io NAME TYPE BUS DOMAIN STATUS ---- ---- --- ------ ------ pci_0 BUS pci_0 primary IOV niu_0 NIU niu_0 primary /SYS/MB/RISER0/PCIE0 PCIE pci_0 primary EMP /SYS/MB/RISER1/PCIE1 PCIE pci_0 primary EMP /SYS/MB/RISER2/PCIE2 PCIE pci_0 primary EMP /SYS/MB/RISER0/PCIE3 PCIE pci_0 primary OCC /SYS/MB/RISER1/PCIE4 PCIE pci_0 primary OCC /SYS/MB/RISER2/PCIE5 PCIE pci_0 primary EMP /SYS/MB/SASHBA0 PCIE pci_0 primary OCC /SYS/MB/SASHBA1 PCIE pci_0 primary OCC /SYS/MB/NET0 PCIE pci_0 primary OCC /SYS/MB/NET2 PCIE pci_0 primary OCC /SYS/MB/RISER0/PCIE3/IOVIB.PF0 PF pci_0 primary /SYS/MB/RISER1/PCIE4/IOVIB.PF0 PF pci_0 primary /SYS/MB/NET0/IOVNET.PF0 PF pci_0 primary /SYS/MB/NET0/IOVNET.PF1 PF pci_0 primary /SYS/MB/NET2/IOVNET.PF0 PF pci_0 primary /SYS/MB/NET2/IOVNET.PF1 PF pci_0 primary /SYS/MB/RISER0/PCIE3/IOVIB.PF0.VF0 VF pci_0 primary /SYS/MB/RISER0/PCIE3/IOVIB.PF0.VF1 VF pci_0 primary /SYS/MB/RISER0/PCIE3/IOVIB.PF0.VF2 VF pci_0 iodom1 /SYS/MB/RISER0/PCIE3/IOVIB.PF0.VF3 VF pci_0 iodom1 /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF0 VF pci_0 primary /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF1 VF pci_0 primary /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF2 VF pci_0 iodom1 /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF3 VF pci_0 iodom1
El comando ldm list-io -l proporciona información más detallada sobre el dispositivo de la función física especificada, /SYS/MB/RISER1/PCIE4/IOVIB.PF0. El valor maxvfs indica que el número máximo de funciones virtuales que admite el dispositivo físico es 64. Para cada función virtual asociada con la función física, la salida muestra lo siguiente:
Nombre de la función
Tipo de función
Nombre del bus
Nombre de dominio
Estado opcional de la función
Ruta del dispositivo
Esta salida de ldm list-io -l muestra que VF0 y VF1 están asignadas al dominio primary, y que VF2 y VF3 están asignadas al dominio de E/S iodom1.
primary# ldm list-io -l /SYS/MB/RISER1/PCIE4/IOVIB.PF0 NAME TYPE BUS DOMAIN STATUS ---- ---- --- ------ ------ /SYS/MB/RISER1/PCIE4/IOVIB.PF0 PF pci_0 primary [pci@400/pci@1/pci@0/pci@0/pciex15b3,673c@0] maxvfs = 64 /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF0 VF pci_0 primary [pci@400/pci@1/pci@0/pci@0/pciex15b3,673c@0,1] /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF1 VF pci_0 primary [pci@400/pci@1/pci@0/pci@0/pciex15b3,673c@0,2] /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF2 VF pci_0 iodom1 [pci@400/pci@1/pci@0/pci@0/pciex15b3,673c@0,3] /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF3 VF pci_0 iodom1 [pci@400/pci@1/pci@0/pci@0/pciex15b3,673c@0,4]
En esta sección, se describe cómo identificar los dispositivos SR-IOV InfiniBand.
Utilice el comando ldm list-io -l para mostrar el nombre de la ruta del dispositivo Oracle Solaris que está asociado con cada función física y cada función virtual.
primary# ldm list-io -l /SYS/MB/RISER1/PCIE4/IOVIB.PF0 NAME TYPE BUS DOMAIN STATUS ---- ---- --- ------ ------ /SYS/MB/RISER1/PCIE4/IOVIB.PF0 PF pci_0 primary [pci@400/pci@1/pci@0/pci@0/pciex15b3,673c@0] maxvfs = 64 /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF0 VF pci_0 primary [pci@400/pci@1/pci@0/pci@0/pciex15b3,673c@0,1] /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF1 VF pci_0 primary [pci@400/pci@1/pci@0/pci@0/pciex15b3,673c@0,2] /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF2 VF pci_0 iodom1 [pci@400/pci@1/pci@0/pci@0/pciex15b3,673c@0,3] /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF3 VF pci_0 iodom1 [pci@400/pci@1/pci@0/pci@0/pciex15b3,673c@0,4]
Use el comando dladm show-phys -l para establecer una coincidencia entre cada instancia de IP mediante InfiniBand (IPoIB) y su tarjeta física. Por ejemplo, el siguiente comando muestra las instancias de IPoIB que utilizan la tarjeta en la ranura PCIE4, que es la misma tarjeta que se muestra en el ejemplo anterior de ldm list-io -l.
primary# dladm show-phys -L | grep PCIE4 net5 ibp0 PCIE4/PORT1 net6 ibp1 PCIE4/PORT2 net19 ibp8 PCIE4/PORT1 net9 ibp9 PCIE4/PORT2 net18 ibp4 PCIE4/PORT1 net11 ibp5 PCIE4/PORT2
Cada dispositivo adaptador de canal de host (HCA) InfiniBand tiene un ID único global (GUID). También hay GUID para cada puerto (normalmente, hay dos puertos para un HCA). Un GUID de un HCA InfiniBand identifica el adaptador de manera exclusiva. El GUID de puerto identifica de manera exclusiva cada puerto del HCA y desempeña un rol similar al de una dirección MAC de un dispositivo de red. Las herramientas de diagnóstico y herramientas de gestión InfiniBand utilizan estos GUID de 16 dígitos hexadecimales.
Use el comando dladm show-ib para obtener información sobre el GUID de los dispositivos SR-IOV InfiniBand. Las funciones físicas y virtuales del mismo dispositivo tienen valores relacionados de GUID de HCA. El dígito hexadecimal 11 del GUID del HCA muestra la relación entre una función física y sus funciones virtuales. Tenga en cuenta que en las columnas HCAGUID y PORTGUID se suprimen los ceros iniciales.
Por ejemplo, la función física PF0 tiene dos funciones virtuales, VF0 y VF1, que se asignan al dominio primary. El dígito hexadecimal 11 de cada función virtual se incrementa en un valor de uno respecto de la función física relacionada. Por lo tanto, si el GUID de PF0 es 8, los GUID de VF0 y VF1 serán 9 y A, respectivamente.
La siguiente salida del comando dladm show-ib muestra que los enlaces net5 y net6 pertenecen a la función física PF0. Los enlaces net19 y net9 pertenecen a VF0 del mismo dispositivo, mientras que net18 y net11 pertenecen a VF1.
primary# dladm show-ib LINK HCAGUID PORTGUID PORT STATE PKEYS net6 21280001A17F56 21280001A17F58 2 up FFFF net5 21280001A17F56 21280001A17F57 1 up FFFF net19 21290001A17F56 14050000000001 1 up FFFF net9 21290001A17F56 14050000000008 2 up FFFF net18 212A0001A17F56 14050000000002 1 up FFFF net11 212A0001A17F56 14050000000009 2 up FFFF
El dispositivo en la siguiente salida de dladm show-física muestra la relación entre los enlaces y los dispositivos de puerto InfiniBand subyacentes (ibpX).
primary# dladm show-phys LINK MEDIA STATE SPEED DUPLEX DEVICE ... net6 Infiniband up 32000 unknown ibp1 net5 Infiniband up 32000 unknown ibp0 net19 Infiniband up 32000 unknown ibp8 net9 Infiniband up 32000 unknown ibp9 net18 Infiniband up 32000 unknown ibp4 net11 Infiniband up 32000 unknown ibp5
Utilice el comando ls -l para mostrar las rutas reales de los dispositivos de puerto InfiniBand (puerto IB). Un dispositivo de puerto IB es un elemento secundario de una ruta de dispositivo que se muestra en la salida de ldm list-io -l. Una función física tiene una dirección de unidad de una sola parte, como pciex15b3,673c@0, mientras que las funciones virtuales tienen una dirección de unidad de dos partes, pciex15b3,1002@0,2. La segunda parte de la dirección de la unidad tiene un valor de uno más alto que el número de la función virtual. (En este caso, el segundo componente es 2, por lo que este dispositivo corresponde a la función virtual 1). La siguiente salida muestra que /dev/ibp0 es una función física y /dev/ibp5 es una función virtual.
primary# ls -l /dev/ibp0 lrwxrwxrwx 1 root root 83 Apr 18 12:02 /dev/ibp0 -> ../devices/pci@400/pci@1/pci@0/pci@0/pciex15b3,673c@0/hermon@0/ibport@1,0,ipib:ibp0 primary# ls -l /dev/ibp5 lrwxrwxrwx 1 root root 85 Apr 22 23:29 /dev/ibp5 -> ../devices/pci@400/pci@1/pci@0/pci@0/pciex15b3,1002@0,2/hermon@3/ibport@2,0,ipib:ibp5
Puede utilizar el comando ibv_devices de OpenFabrics para ver el nombre del dispositivo de OpenFabrics y el GUID del nodo (HCA). Cuando hay funciones virtuales presentes, la columna Type (Tipo) indica si la función es física o virtual.
primary# ibv_devices device node GUID type ------ ---------------- ---- mlx4_4 0002c90300a38910 PF mlx4_5 0021280001a17f56 PF mlx4_0 0002cb0300a38910 VF mlx4_1 0002ca0300a38910 VF mlx4_2 00212a0001a17f56 VF mlx4_3 0021290001a17f56 VF