Puede configurar una instancia con varios perfiles de vGPU o crear instancias con diferentes perfiles de vGPU en el mismo nodo de proceso para Nova.

Existe compatibilidad limitada para configurar varios perfiles de vGPU y se aplican las siguientes limitaciones a vSphere y VMware Integrated OpenStack:
  • No se puede establecer profile_fb_size_kb en enteros grandes, como 2097152 en el CR de proceso para Nova.
  • No se puede encender máquinas virtuales con diferentes perfiles de vGPU en el mismo ESXi al mismo tiempo. Si solo hay una tarjeta gráfica en el host ESXi, debe apagar la máquina virtual con vgpu-profileA antes de ejecutar una máquina virtual con vgpu-profileB.
  • No debe encender una instancia con dos perfiles de vGPU diferentes.
  • Para encender una instancia con dos perfiles de vGPU idénticos, debe tener un mínimo de dos tarjetas gráficas GPU no acopladas y la tarjeta gráfica debe proporcionar soporte solo para un perfil de vGPU específico. Por ejemplo, para la tarjeta gráfica NVIDIA Tesla T4, solo puede crear una instancia con dos perfiles grid_t4_16q. No hay compatibilidad para otros perfiles de vGPU.
  • Para los ESXi configurados con una tarjeta gráfica de RAM gráfica 16-G, solo admite la ejecución de ocho instancias con perfiles grid_t4_2q, o cuatro instancias con grid_t4_4q. La RAM gráfica total no puede superar el valor especificado.
  • VMware Integrated OpenStack no puede detectar ni especificar qué tarjeta gráfica puede usar para la creación de máquinas virtuales. En algunos casos, debe asegurarse de que haya una tarjeta gráfica disponible para arrancar una instancia con un perfil de vGPU que sea diferente de las instancias en ejecución. El administrador puede utilizar validate_instance_vgpu y el comando list_vms_by_device para obtener la información de los dispositivos que pueden utilizar ESXi. Para liberar la tarjeta gráfica, debe usar shutt off instance from openstack.
  • Para una configuración de perfil de GPU predeterminada en nova-compute.conf como gpu_profile: grid_t4-2q, puede arrancar la instancia con vmware:vgpu=1 y vmware:vgpu_profiles=grid_t4-2q. Sin embargo, no se recomienda arrancar una instancia de ambas formas dentro del mismo nodo de proceso para Nova.
  • No hay compatibilidad para el redimensionamiento y la migración.

Procedimiento

  1. Para obtener una lista de los perfiles de vGPU compatibles, dentro del nodo de proceso para Nova, puede ejecutar el comando en un pod de proceso para Nova específico.
    +--------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    
    |  Host Name   |                                                                                                   Profile Names                                                                                                   |
    
    +--------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    
    | 10.196.4.135 | [grid_t4-8q, grid_t4-8c, grid_t4-8a, grid_t4-4q, grid_t4-4c, grid_t4-4a, grid_t4-2q, grid_t4-2b4, grid_t4-2b, grid_t4-2a, grid_t4-1q, grid_t4-1b4, grid_t4-1b, grid_t4-1a, grid_t4-16q, grid_t4-16c, grid_t4-16a] |
    
    +--------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    También puede ejecutar el comando en VMware Integrated OpenStack Manager.
    osctl exec -it    <compute-pod-name> -- bash -c "export PYTHONWARNINGS=\"ignore:Unverified HTTPS request\" && nova-manage --config-file /tmp/share/nova-compute.conf --config-file /etc/nova/nova.conf --log-file /tmp/nova-manage.log graphic list_vgpus"
  2. Cree máquinas virtuales con diferentes perfiles de vGPU sin volver a configurar el proceso para Nova.

    Asegúrese de que haya dos tarjetas gráficas en un host ESXi o que haya dos ESXi con una tarjeta gráfica instalada.

    1. Configure nova-compute.conf como se describe en vGPU NVIDIA GRID.
    2. Cree un tipo y establezca la propiedad vmware:vgpu_profiles.
      openstack flavor create --public --disk 20 --ram 4096 --vcpus 2 --property "vmware:vgpu_profiles=grid_t4-4q" gpu_flavor_4q
    3. Arranque una instancia desde gpu_flavor_4q.
      openstack server create --flavor gpu_flavor_4q --image Photo3 --network net1 gpu_inst1
    4. Cree un tipo y establezca la propiedad vmware:vgpu_profiles con un perfil diferente.
      openstack flavor create --public --disk 20 --ram 4096 --vcpus 2 --property "vmware:vgpu_profiles=grid_t4-8a" gpu_flavor_8a
    5. Arranque una instancia desde gpu_flavor_8a.
      openstack server create --flavor gpu_flavor_8a --image Photo3 --network net1 gpu_inst2
  3. Cree una instancia con dos perfiles de vGPU.
    1. Configure nova-compute.conf como se describe en vGPU NVIDIA GRID.
    2. Cree un tipo y establezca la propiedad vmware:vgpu_profiles con dos perfiles de vGPU.
      openstack flavor create --public --disk 20 --ram 4096 --vcpus 2 --property "vmware:vgpu_profiles=grid_t4-16q,grid_t4-16q" gpu_flavor_2_profiles
    3. Arranque una instancia desde gpu_flavor_2_profiles.
      openstack server create --flavor gpu_flavor_2_profiles --image Photo3 --network net1 gpu_inst3
  4. Apague algunas instancias para liberar espacio de tarjeta gráfica.

    Cuando no haya tarjetas gráficas sin utilizar, debe apagar algunas instancias si desea arrancar instancias con diferentes perfiles de vGPU.

    1. Valide la solución para los proveedores de recursos que no tienen coincidencia.
      Si ve los siguientes registros, esto significa que algunos proveedores de recursos no coinciden en el uso de GPU en ESXi.
      osctl exec -it <compute-pod-name> -- bash -c "export PYTHONWARNINGS=\"ignore:Unverified HTTPS request\" && nova-manage --config-file /tmp/share/nova-compute.conf --config-file /etc/nova/nova.conf graphic validate_instance_vgpu --fix true
      Cambie los registros de la siguiente manera:
      instance 718bb1c4-c0ec-40a9-9ebd-c9ab97e85c9d's graphic_str NVIDIATesla T4 (host_40478:0000:03 does not match provider NVIDIATesla T4 (host_40478:0000:82
      Fix the provider for instance 718bb1c4-c0ec-40a9-9ebd-c9ab97e85c9d
      move 9b2901c2-3646-5cef-9664-81c6483d5687 to 95e5f2c3-54ad-51f9-9002-66dc8b93ce5c
      
      Para solucionar el problema, agregue el comando --fix.
      instance 9e7c44f9-129a-4264-ab40-d369e6b8dab9 matches
      instance ba155ebc-b59b-4b7a-80f8-4afbd98cd1aa matches
      instance 30c57985-56c9-43bb-96be-305eb5e4742e matches
      instance 609cbc58-8a34-4d52-962c-4acc2496994c matches
      Done
    2. Enumera las máquinas virtuales con dispositivos GPU dentro del nodo de proceso para Nova. Puede ejecutar este comando en un pod de proceso para Nova específico.
      nova-manage --config-file /tmp/share/nova-compute.conf --config-file /etc/nova/nova.conf graphic list_vms_by_device
      
      +--------------+----------------+--------------+-------------------------------------------------------+---------------+
      | Host Name | Device Name | pciId | VM Name | Profile Names |
      +--------------+----------------+--------------+-------------------------------------------------------+---------------+
      | 10.196.4.135 | NVIDIATesla T4 | 0000:03:00.0 | inst_def-3 (718bb1c4-c0ec-40a9-9ebd-c9ab97e85c9d) | [grid_t4-2q] |
      | 10.196.4.135 | NVIDIATesla T4 | 0000:03:00.0 | inst_def-2 (9e7c44f9-129a-4264-ab40-d369e6b8dab9) | [grid_t4-2q] |
      | 10.196.4.135 | NVIDIATesla T4 | 0000:03:00.0 | inst_def-5 (ba155ebc-b59b-4b7a-80f8-4afbd98cd1aa) | [grid_t4-2q] |
      | 10.196.4.135 | NVIDIATesla T4 | 0000:82:00.0 | yingji-t4-4q-1 (7b6769b4-015f-4d3d-ad0e-ab2236cb9343) | [grid_t4-4q] |
      | 10.196.4.135 | NVIDIATesla T4 | 0000:82:00.0 | yingji-t4-4q-3 (8c853458-539f-4b08-b208-518c88f24e86) | [grid_t4-4q] |
      | 10.196.4.135 | NVIDIATesla T4 | 0000:82:00.0 | yingji-t4-4q-2 (8db11b02-45ac-4837-8e82-2ebe0b84bd08) | [grid_t4-4q] |
      +--------------+----------------+--------------+-------------------------------------------------------+---------------+
      
      For the instance with 2 grid_t4-16q profiles, the display looks like below.
      
      +--------------+----------------+--------------+---------+----------------------------+
      
      |  Host Name   |  Device Name   |    pciId     | VM Name |       Profile Names        |
      
      +--------------+----------------+--------------+---------+----------------------------+
      
      | 10.196.4.135 | NVIDIATesla T4 | 0000:03:00.0 |  vm-08  | [grid_t4-16q, grid_t4-16q] |
      
      | 10.196.4.135 | NVIDIATesla T4 | 0000:82:00.0 |  vm-08  | [grid_t4-16q, grid_t4-16q] |
      
      +--------------+----------------+--------------+---------+----------------------------+
      
      Para la instancia con dos perfiles grid_t4-16q, la pantalla tiene el aspecto siguiente:
      +--------------+----------------+--------------+---------+----------------------------+
      
      |  Host Name   |  Device Name   |    pciId     | VM Name |       Profile Names        |
      
      +--------------+----------------+--------------+---------+----------------------------+
      
      | 10.196.4.135 | NVIDIATesla T4 | 0000:03:00.0 |  vm-08  | [grid_t4-16q, grid_t4-16q] |
      
      | 10.196.4.135 | NVIDIATesla T4 | 0000:82:00.0 |  vm-08  | [grid_t4-16q, grid_t4-16q] |
      
      +--------------+----------------+--------------+---------+----------------------------+
      Ejecute el comando en VMware Integrated OpenStack Manager.
      osctl exec -it <compute-pod-name> -- bash -c "export PYTHONWARNINGS=\"ignore:Unverified HTTPS request\" && nova-manage --config-file /tmp/share/nova-compute.conf --config-file /etc/nova/nova.conf --log-file /tmp/nova-manage.log graphic list_vms_by_device"
    3. En el resultado podemos ver que hay dos tarjetas gráficas con la dirección (0000:03:00.0 y 0000:82:00.0) en el host 10.196.4.135. Las dos cuadrículas de perfil utilizadas son grid_t4-2q y grid_t4-4q. Por lo tanto, no hay ninguna tarjeta gráfica disponible por instancia con otros perfiles. Para arrancar la instancia con otro perfil de vGPU, debe liberar alguna tarjeta gráfica. Para liberar el dispositivo con 0000:03:00.0 en 10.196.4.135, debe apagar las instancias inst_def-3, inst_def-2 y inst_def-5. Debe usar el comando OpenStack en el cuadro de herramientas.
      Nota: No apague las máquinas virtuales desde la consola web de vCenter.
      openstack server stop inst_def-3 inst_def-2 inst_def-5