Sie können eine -Instanz mit mehreren vGPU-Profilen konfigurieren oder -Instanzen mit unterschiedlichen vGPU-Profilen im selben Nova Compute-Knoten erstellen.

Die Konfiguration mehrerer vGPU-Profile wird nur begrenzt unterstützt und die folgenden Einschränkungen gelten für vSphere aud VMware Integrated OpenStack:
  • Sie können profile_fb_size_kb nicht auf eine große Ganzzahl wie 2097152 in Nova Compute CR festlegen.
  • Sie können virtuelle Maschinen mit unterschiedlichen vgpu-Profilen auf ESXi nicht gleichzeitig einschalten. Wenn nur eine Grafikkarte auf dem ESXi-Host vorhanden ist, müssen Sie die virtuelle Maschine mit vgpu-profileA ausschalten, bevor Sie eine virtuelle Maschine mit vgpu-profileB ausführen.
  • Sie dürfen keine Instanz mit zwei verschiedenen vgpu-Profilen einschalten.
  • Um eine Instanz mit zwei gleichen vgpu-Profilen einzuschalten, müssen Sie über mindestens zwei nicht aktivierte GPU-Grafikkarten verfügen und die Grafikkarte darf nur Unterstützung für ein bestimmtes vgpu-Profil bieten. Beispielsweise kann für die Grafikkarte NVIDIA Tesla T4 nur eine Instanz mit zwei grid_t4_16q-Profilen erstellt werden. Es gibt keine Unterstützung für andere vgpu-Profile.
  • Für ESXi, das mit einer Grafikkarte mit 16-G-Grafik-RAM konfiguriert ist, werden nur acht Instanzen mit grid_t4_2q-Profilen oder vier Instanzen mit grid_t4_4q unterstützt. Der gesamte Grafik-RAM darf den angegebenen Wert nicht überschreiten.
  • VMware Integrated OpenStack kann nicht ermitteln oder angeben, welche Grafikkarte für die VM-Erstellung verwendet werden kann. In einigen Fällen müssen Sie sicherstellen, dass eine Grafikkarte zum Starten der Instanz mit vgpu-profile verfügbar ist, die sich von den ausgeführten Instanzen unterscheidet. Der Administrator kann die Befehle validate_instance_vgpu und list_vms_by_device verwenden, um die Informationen der Geräte abzurufen, die ESXi verwenden können. Um die Grafikkarte freizugeben, müssen Sie shutt off instance from openstack verwenden.
  • Für eine Standard-GPU-Profileinstellung in nova-compute.conf wie gpu_profile: grid_t4-2q können Sie die Instanz sowohl mit vmware:vgpu=1 als auch mit vmware:vgpu_profiles=grid_t4-2q starten. Es wird jedoch nicht empfohlen, die Instanz auf beide Arten innerhalb desselben Nova Compute-Knotens zu starten.
  • Es gibt keine Unterstützung für Größenänderung und Migration.

Prozedur

  1. Zum Auflisten unterstützter vgpu-Profilen können Sie innerhalb des Nova Compute-Knotens den Befehl in einem bestimmten Nova Compute-Pod ausführen.
    +--------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    
    |  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] |
    
    +--------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    Sie können den Befehl auch im VMware Integrated OpenStack Manager ausführen.
    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. Erstellen Sie VMs mit unterschiedlichen vgpu-Profilen, ohne Nova Compute neu zu konfigurieren.

    Stellen Sie sicher, dass sich zwei Grafikkarten in einem ESXi-Host befinden oder zwei ESXi mit einer installierten Grafikkarte vorhanden sind.

    1. Konfigurieren Sie nova-compute.conf wie in NVIDIA GRID vGPU beschrieben.
    2. Erstellen Sie einen Typ und legen Sie die Eigenschaft vmware:vgpu_profiles fest.
      openstack flavor create --public --disk 20 --ram 4096 --vcpus 2 --property "vmware:vgpu_profiles=grid_t4-4q" gpu_flavor_4q
    3. Starten Sie eine Instanz von gpu_flavor_4q.
      openstack server create --flavor gpu_flavor_4q --image Photo3 --network net1 gpu_inst1
    4. Erstellen Sie einen Typ und legen Sie die Eigenschaft vmware:vgpu_profiles mit einem anderen Profil fest.
      openstack flavor create --public --disk 20 --ram 4096 --vcpus 2 --property "vmware:vgpu_profiles=grid_t4-8a" gpu_flavor_8a
    5. Starten Sie eine Instanz von gpu_flavor_8a.
      openstack server create --flavor gpu_flavor_8a --image Photo3 --network net1 gpu_inst2
  3. Erstellen Sie eine -Instanz mit zwei vgpu-Profilen.
    1. Konfigurieren Sie nova-compute.conf wie in NVIDIA GRID vGPU beschrieben.
    2. Erstellen Sie einen Typ und legen Sie die Eigenschaft vmware:vgpu_profiles mit zwei vgpu-Profilen fest.
      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. Starten Sie eine Instanz von gpu_flavor_2_profiles.
      openstack server create --flavor gpu_flavor_2_profiles --image Photo3 --network net1 gpu_inst3
  4. Schalten Sie einige Instanzen aus, um Speicherplatz auf der Grafikkarte freizugeben.

    Wenn keine nicht verwendeten Grafikkarten vorhanden sind, müssen Sie einige Instanzen ausschalten, wenn Sie Instanzen mit unterschiedlichen vgpu-Profilen starten möchten.

    1. Validieren Sie den Fix für die nicht übereinstimmenden Ressourcenanbieter.
      Wenn die folgenden Protokolle angezeigt werden, bedeutet dies, dass einige Ressourcenanbieter nicht mit der GPU-Verwendung in ESXi übereinstimmen.
      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
      Ändern Sie die Protokolle wie folgt:
      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
      
      Um das Problem zu beheben, fügen Sie den Befehl --fix hinzu.
      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. Listet virtuelle Maschinen mit GPU-Gerät innerhalb des Nova Compute-Knotens auf. Sie können diesen Befehl in einem bestimmten Nova Compute-Pod ausführen.
      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] |
      
      +--------------+----------------+--------------+---------+----------------------------+
      
      Für die Instanz mit zwei grid_t4-16q-Profilen sieht die Anzeige wie folgt aus:
      +--------------+----------------+--------------+---------+----------------------------+
      
      |  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] |
      
      +--------------+----------------+--------------+---------+----------------------------+
      Führen Sie den Befehl in VMware Integrated OpenStack Manager aus.
      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. Anhand der Ausgabe ist ersichtlich, dass zwei Grafikkarten mit Adresse (0000:03:00.0 und 0000:82:00.0) auf dem Host 10.196.4.135 vorhanden sind. Die beiden verwendeten Profilraster sind grid_t4-2q und grid_t4-4q. So ist beispielsweise keine Grafikkarte für Instanzen mit anderen Profilen verfügbar. Um die Instanz mit einem anderen vgpu-Profil zu starten, müssen Sie eine Grafikkarte freigeben. Um das Gerät mit der Adresse 0000:03: 00.0 auf 10.196.4.135 freizugeben, müssen Sie die Instanzen inst_def-3, inst_def-2 und inst_def-5 ausschalten. Sie müssen den OpenStack-Befehl in der Toolbox verwenden.
      Hinweis: Schalten Sie die virtuellen Maschinen nicht über die vCenter-Webkonsole aus.
      openstack server stop inst_def-3 inst_def-2 inst_def-5