Guía de administración para Oracle® VM Server for SPARC 3.3

Salir de la Vista de impresión

Actualización: Octubre de 2015
 
 

Creación y destrucción de funciones virtuales InfiniBand

Cómo crear una función virtual InfiniBand

Este procedimiento describe cómo crear una función virtual SR-IOV InfiniBand.

  1. Inicie una reconfiguración retrasada en el dominio raíz.
    primary# ldm start-reconf root-domain-name
  2. Active la virtualización de E/S estableciendo iov=on.

    Realice este paso solo si aún no está activada la virtualización de E/S para el bus que tiene la función física.

    primary# ldm set-io iov=on bus
  3. Cree una función virtual o más que estén asociadas a las funciones físicas de ese dominio raíz.
    primary# ldm create-vf pf-name

    Puede ejecutar este comando para cada función virtual que desea crear. También puede utilizar la opción –n para crear más de una función virtual a partir de la misma función física en un único comando. Consulte Example 7–6 y la página del comando man ldm(1M).

  4. Reinicie el dominio raíz.

    Ejecute uno de los siguientes comandos:

    • Reinicie el dominio raíz que no es primary.
      primary# ldm stop-domain -r root-domain
    • Reinicie el dominio raíz primary.
      primary# shutdown -i6 -g0 -y
Ejemplo 7-14  Creación de una función virtual InfiniBand

    En el ejemplo siguiente, se muestra información sobre la función física /SYS/MB/RISER1/PCIE4/IOVIB.PF0:

  • Esta función física se encuentra en la ranura 4 PCIe.

  • La cadena IOVIB indica que la función física es un dispositivo SR-IOV InfiniBand.

primary# ldm list-io
NAME                                      TYPE   BUS      DOMAIN   STATUS
----                                      ----   ---      ------   ------
pci_0                                     BUS    pci_0    primary
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

El siguiente comando muestra más detalles sobre la función física especificada. El valor maxvfs indica el número máximo de funciones virtuales que admite el dispositivo.

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

El siguiente ejemplo muestra cómo crear una función virtual estática. Primero, inicie una reconfiguración retrasada en el dominio primary y active la virtualización de E/S en el bus PCIe pci_0. Debido a que el bus pci_0 ya se ha asignado al dominio raíz primary, utilice el comando ldm set-io para activar la virtualización de E/S.

primary# ldm start-reconf primary
Initiating a delayed reconfiguration operation on the primary domain.
All configuration changes for other domains are disabled until the primary
domain reboots, at which time the new configuration for the primary domain
will also take effect.

primary# ldm set-io iov=on pci_0
-----------------------------------------------------------------------
Notice: The primary domain is in the process of a delayed reconfiguration.
Any changes made to the primary domain will only take effect after it reboots.
-----------------------------------------------------------------------

Ahora, utilice el comando ldm create-vf para crear una función virtual a partir de la función física /SYS/MB/RISER1/PCIE4/IOVIB.PF0.

primary# ldm create-vf /SYS/MB/RISER1/PCIE4/IOVIB.PF0
-----------------------------------------------------------------------
Notice: The primary domain is in the process of a delayed reconfiguration.
Any changes made to the primary domain will only take effect after it reboots.
----------------------------------------------------------------------
Created new vf: /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF0

Tenga en cuenta que puede crear más de una función virtual durante la misma reconfiguración retrasada. El siguiente comando crea una segunda función virtual:

primary# ldm create-vf /SYS/MB/RISER1/PCIE4/IOVIB.PF0
-----------------------------------------------------------------------
Notice: The primary domain is in the process of a delayed reconfiguration.
Any changes made to the primary domain will only take effect after it reboots.
-----------------------------------------------------------------------
Created new vf: /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF1

Por último, reinicie el dominio raíz primary para que se apliquen los cambios.

primary# shutdown -i6 -g0 -y
Shutdown started.

Changing to init state 6 - please wait
...

Cómo destruir una función virtual InfiniBand

Este procedimiento describe cómo destruir una función virtual SR-IOV InfiniBand.

Una función virtual se puede destruir si actualmente no está asignada a un dominio. Una función virtual solo se puede destruir en el orden secuencial inverso de creación, por lo que solo la última función virtual creada se puede destruir. La configuración resultante es validada por el controlador de la función física.

  1. Inicie una reconfiguración retrasada en el dominio raíz.
    primary# ldm start-reconf root-domain-name
  2. Destruya una función virtual o más que estén asociadas a las funciones físicas de ese dominio raíz.
    primary# ldm destroy-vf vf-name

    Puede ejecutar este comando para cada función virtual que desea destruir. También puede utilizar la opción –n para destruir más de una función virtual a partir de la misma función física en un único comando. Consulte Example 7–8 y la página del comando man ldm(1M).

  3. Reinicie el dominio raíz.

    Ejecute uno de los siguientes comandos:

    • Reinicie el dominio raíz que no es primary.
      primary# ldm stop-domain -r root-domain
    • Reinicie el dominio raíz primary.
      primary# shutdown -i6 -g0 -y
Ejemplo 7-15  Destrucción de una función virtual InfiniBand

El siguiente ejemplo muestra cómo destruir una función virtual InfiniBand estática, /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF1.

El comando ldm list-io muestra información sobre los buses, las funciones físicas y las funciones virtuales.

primary# ldm list-io
NAME                                      TYPE   BUS      DOMAIN STATUS
----                                      ----   ---      ------ ------
pci_0                                     BUS    pci_0    primary  IOV
...
/SYS/MB/RISER1/PCIE4/IOVIB.PF0            PF     pci_0    primary
...
/SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF0        VF     pci_0
/SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF1        VF     pci_0

Puede obtener más información sobre la función física y las funciones virtuales relacionadas ejecutando el comando ldm list-io -l.

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
[pci@400/pci@1/pci@0/pci@0/pciex15b3,673c@0,1]
/SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF1        VF     pci_0
[pci@400/pci@1/pci@0/pci@0/pciex15b3,673c@0,2]

Una función virtual se puede destruir únicamente si no está asignada a un dominio. La columna DOMAIN (DOMINIO) de la salida de ldm list-io -l muestra el nombre de cualquier dominio al que está asignada una función virtual. Además, las funciones virtuales se deben destruir en el orden inverso de su creación. Por lo tanto, en este ejemplo, se debe destruir la función virtual /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF1 antes de que se pueda destruir la función virtual /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF0.

Después de identificar la función virtual correspondiente, puede destruirla. Primero, inicie una reconfiguración retrasada.

primary# ldm start-reconf primary
Initiating a delayed reconfiguration operation on the primary domain.
All configuration changes for other domains are disabled until the primary
domain reboots, at which time the new configuration for the primary domain
will also take effect.

primary# ldm destroy-vf /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF1
-----------------------------------------------------------------------
Notice: The primary domain is in the process of a delayed reconfiguration.
Any changes made to the primary domain will only take effect after it reboots.
-----------------------------------------------------------------------

Durante una reconfiguración retrasada, puede emitir más de un comando ldm destroy-vf. Por lo tanto, también puede destruir la función virtual /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF0.

Por último, reinicie el dominio raíz primary para que se apliquen los cambios.

primary# shutdown -i6 -g0 -y
Shutdown started.

Changing to init state 6 - please wait
...