Puede configurar un puerto para permitir el acceso directo de SR-IOV y, a continuación, crear instancias de OpenStack que usen adaptadores de red física.

Importante: Esta función solo está disponible en VMware Integrated OpenStack Carrier Edition. Para obtener más información, consulte Licencias de VMware Integrated OpenStack.

Requisitos previos

  • Habilite SR-IOV en vSphere. Consulte Habilitar SR-IOV en un adaptador físico de host en Redes de vSphere.
  • Cree un clúster de proceso dedicado para los dispositivos de SR-IOV. Las reglas de DRS no se aplican a estos dispositivos.
  • Para mantener la persistencia de la dirección MAC de un dispositivo físico, agregue su clúster como un nodo informático antes de habilitar el acceso directo en el dispositivo. Si ya se habilitó el acceso directo, puede deshabilitarlo, reiniciar el clúster y volver a habilitar el acceso directo.
  • Habilite las funciones de VMware Integrated OpenStack Carrier Edition. Consulte Habilitar funciones de Carrier Edition.

Procedimiento

  1. Inicie sesión en Integrated OpenStack Manager como el usuario de root.
    ssh root@mgmt-server-ip
  2. Edite la configuración de proceso para Nova.
    viocli update nova-compute
  3. Añada la siguiente información en la sección nova_compute.
    pci:
      passthrough_whitelist:
        type: multistring
        values:
        - '{"product_id": "*", "vendor_id": "*", "physical_network": "*"}'
    
  4. Si utiliza una implementación de NSX-T Data Center, agregue el parámetro dvs_moid en la sección vmware.
    dvs_moid: sriov-vds-moid
    Establezca el valor de dvs_moid como el identificador de objeto administrado (Managed Object Identifier, MOID) del conmutador distribuido asociado con el clúster de proceso para dispositivos de SR-IOV.
  5. Abra el cuadro de herramientas y establezca la contraseña de la cuenta de admin.
    toolbox
    export OS_PASSWORD=admin-password
  6. Cree una red de proveedor para los dispositivos de SR-IOV.
    • Para las implementaciones de NSX Data Center for vSphere, cree una VLAN o una red de grupo de puertos.
    • Para las implementaciones de NSX-T Data Center, cree una VLAN o una red opaca.
    neutron net-create network-name --tenant-id project-uuid --provider:network_type {vlan | portgroup | nsx-net} --provider:physical_network physical-id [--provider:segmentation_id vlan-id]
    Opción Descripción
    network-name

    Introduzca un nombre para la red.

    --tenant-id

    Especifique el UUID del proyecto para el que se va a crear el puerto. Puede encontrar el UUID de un proyecto ejecutando el comando openstack project list.

    --provider:network_type

    Introduzca vlan para una red VLAN, portgroup para una red de grupo de puertos o nsx-net para una red opaca.

    --provider:physical_network
    • Para una red VLAN en NSX Data Center for vSphere, especifique el MOID del conmutador distribuido.
    • Para una red VLAN en NSX-T Data Center, especifique el UUID de la zona de transporte VLAN.
    • Para una red de grupo de puertos, especifique el MOID del grupo de puertos.
    • Para una red opaca, especifique el UUID del conmutador lógico.
    --provider:segmentation_id

    Si desea crear una red basada en VLAN, introduzca el identificador de VLAN.

  7. Cree una subred en la red externa.
    neutron subnet-create network-id --tenant-id project-uuid --name subnet-name
    Opción Descripción
    network-id

    Especifique el UUID de la red en la que se va a crear la subred. Puede encontrar el UUID de una red ejecutando el comando openstack network list.

    --tenant-id

    Especifique el UUID del proyecto para el que se va a crear la subred.

    --name

    Introduzca un nombre para la subred.

  8. Cree un puerto habilitado para acceso directo mediante el parámetro --vnic_type direct.
    neutron port-create network-id --tenant-id project-uuid --name port-name --vnic_type direct
    Opción Descripción
    network-id

    Especifique el UUID de la red en la que se va a crear el puerto. Puede encontrar el UUID de una red ejecutando el comando openstack network list.

    --tenant-id

    Especifique el UUID del proyecto para el que se va a crear el puerto.

    --name

    Introduzca un nombre para el puerto.

    Nota: La seguridad del puerto no es compatible con puertos habilitados para acceso directo, y se deshabilitará automáticamente para el puerto que se creó.

Resultados

Puede configurar instancias con el puerto creado en este procedimiento para permitirles utilizar dispositivos de SR-IOV.