如果 vSphere IaaS control plane 環境中的 ESXi 主機具有一或多個 NVIDIA GRID GPU 圖形裝置,則可以將虛擬機設定為使用 NVIDIA GRID 虛擬 GPU (vGPU) 技術。您還可以在 ESXi 主機上設定其他 PCI 裝置,使其可用於傳遞模式下的虛擬機器。

vSphere IaaS control plane 中部署具有 vGPU 的虛擬機器

NVIDIA GRID GPU 圖形裝置專為最佳化複雜的圖形作業而設計,可讓其以高效能執行而不會造成 CPU 超載。NVIDIA GRID vGPU 會在多個虛擬機器 (作為獨立的啟用 vGPU 的傳遞裝置) 之間共用單一實體 GPU,從而提供前所未有的圖形效能、成本效益和擴充性。

考量事項

使用 NVIDIA vGPU 時,需考量下列事項:
  • 三區域 主管 不支援具有 vGPU 的虛擬機器。
  • ESXi 主機進入維護模式時,由虛擬機器服務管理且具有 vGPU 裝置的虛擬機器會自動關閉電源。這可能會暫時影響在虛擬機器中執行的工作負載。當主機結束維護模式後,虛擬機器會自動開啟電源。
  • DRS 在叢集的主機之間以廣度優先的方式發佈 vGPU 虛擬機器。如需詳細資訊,請參閱vSphere 資源管理指南中的 vGPU 虛擬機器的 DRS 放置

需求

若要設定 NVIDIA vGPU,請遵循下列需求:

  • 確認 ESXi《VMware 相容性指南》的支援之列,然後向廠商確認主機是否符合電源和組態需求。
  • 在至少一個處於直接共用模式的裝置上設定 ESXi 主機圖形裝置。請參閱vSphere 資源管理說明文件中的〈設定主機圖形〉
  • 用於具有 vGPU 裝置的虛擬機器的內容程式庫必須包含開機模式設定為 EFI 的映像,例如 CentOS。
  • 安裝 NVIDIA vGPU 軟體。NVIDIA 提供包含下列元件的 vGPU 軟體套件。

    如需詳細資訊,請參閱適當的 NVIDIA 虛擬 GPU 軟體說明文件。

使用 vSphere Client 將 vGPU 裝置新增至虛擬機器類別

建立或編輯現有虛擬機器類別,以新增 NVIDIA GRID 虛擬 GPU (vGPU)。

必要條件

必要權限:
  • 命名空間.修改叢集範圍的組態
  • 命名空間.修改命名空間組態
  • 虛擬機器類別.管理虛擬機器類別

程序

  1. 建立或編輯現有虛擬機器類別。
    選項 動作
    建立新的虛擬機器類別
    1. vSphere Client 主功能表中,選取工作負載管理
    2. 按一下服務索引標籤,然後按一下虛擬機器服務窗格上的管理
    3. VM 服務頁面上,按一下VM 類別,然後按一下建立 VM 類別
    4. 依照提示進行操作。
    編輯虛擬機器類別
    1. vSphere Client 主功能表中,選取工作負載管理
    2. 按一下服務索引標籤,然後按一下虛擬機器服務窗格上的管理
    3. VM 服務頁面上,按一下VM 類別
    4. 在現有的虛擬機器類別窗格中,按一下管理,然後按一下編輯
    5. 依照提示進行操作。
  2. 組態頁面上,按一下虛擬硬體索引標籤,按一下新增裝置,然後選取 PCI 裝置
    [新增裝置] 功能表中的 [PCI 裝置] 選項
  3. 裝置選取頁面上的可用裝置清單中選取 NVIDIA GRID vGPU,然後按一下選取
    該裝置將顯示在 [虛擬硬體] 頁面上。
  4. 按一下進階參數索引標籤,然後使用以下屬性和值設定參數。
    選項 敘述
    參數
    pciPassthru0.cfg.enable_uvm 1
    pciPassthru1.cfg.enable_uvm 1
    為進階參數新增屬性和值
  5. 檢閱您的組態,然後按一下完成

結果

虛擬機器類別窗格上的 PCI 裝置標籤指出虛擬機器類別已啟用 vGPU。

虛擬機器類別窗格上的「PCI 裝置」標籤

使用資料中心 CLI 將 vGPU 裝置新增至虛擬機器類別

除了 vSphere Client 之外,您還可以使用資料中心 CLI (DCLI) 命令新增 vGPU 和進階組態。

如需有關 DCLI 命令的詳細資訊,請參閱使用資料中心 CLI 建立和管理虛擬機器類別

程序

  1. 使用 root 使用者帳戶登入 vCenter Server,然後輸入 dcli +i 以在互動模式下使用 DCLI。
  2. 執行下列命令以建立虛擬機器類別。
    在以下範例中, my-class 虛擬機器類別包括兩個 CPU、2048 MB 記憶體以及一個具有兩個範例 vGPU 設定檔 ( mockup-vmiop-8cmockup-vmiop) 的 VirtualMachineConfigSpec。extraConfig 欄位 pciPassthru0.cfg.enable_uvmpciPassthru1.cfg.enable_uvm 設定為 1。
    dcli +i +show-unreleased com vmware vcenter namespacemanagement virtualmachineclasses create --id my-class --cpu-count 2 --memory-mb 2048 --config-spec '{"_typeName":"VirtualMachineConfigSpec","deviceChange":[{"_typeName":"VirtualDeviceConfigSpec","operation":"add","device":{"_typeName":"VirtualPCIPassthrough","key":20,"backing":{"_typeName":"VirtualPCIPassthroughVmiopBackingInfo","vgpu":"mockup-vmiop-8c"}}},{"_typeName":"VirtualDeviceConfigSpec","operation":"add","device":{"_typeName":"VirtualPCIPassthrough","key":20,"backing":{"_typeName":"VirtualPCIPassthroughVmiopBackingInfo","vgpu":"mockup-vmiop"}}}],"extraConfig":[{"_typeName":"OptionValue","key":"pciPassthru0.cfg.enable_uvm","value":{"_typeName":"string","_value":"1"}},{"_typeName":"OptionValue","key":"pciPassthru1.cfg.enable_uvm","value":{"_typeName":"string","_value":"1"}}]}'
    

vSphere IaaS control plane 中的虛擬機器中安裝 NVIDIA 客體驅動程式

如果虛擬機器包含為 vGPU 設定的 PCI 裝置,則在 vSphere IaaS control plane 環境中建立虛擬機器並將其開機後,請安裝 NVIDIA vGPU 圖形驅動程式以完全啟用 GPU 作業。

必要條件

  • 部署具有 vGPU 的虛擬機器。確保虛擬機器 YAML 檔案參考具有 vGPU 定義的虛擬機器類別。請參閱在 vSphere IaaS control plane 中部署虛擬機器
  • 確認已從 NVIDIA 下載網站下載 vGPU 軟體套件、解壓縮套件,並備妥客體磁碟機元件。如需相關資訊,請參閱適當的 NVIDIA 虛擬 GPU 軟體說明文件。
    備註: 驅動程式元件的版本必須與 vSphere 管理員安裝在 ESXi 主機上的 vGPU Manager 版本相對應。

程序

  1. 將 NVIDIA vGPU 軟體 Linux 驅動程式套件 (例如 NVIDIA-Linux-x86_64-version-grid.run) 複製到客體虛擬機器。
  2. 在嘗試執行驅動程式安裝程式之前,請先終止所有應用程式。
  3. 啟動 NVIDIA vGPU 驅動程式安裝程式。
    sudo ./NVIDIA-Linux-x86_64-version-grid.run
  4. 接受 NVIDIA 軟體授權合約,然後選取以自動更新 X 組態設定。
  5. 確認已安裝該驅動程式。
    例如,
    ~$ nvidia-smi
    Wed May 19 22:15:04 2021
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 460.63       Driver Version: 460.63       CUDA Version: 11.2     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |                               |                      |               MIG M. |
    |===============================+======================+======================|
    |   0  GRID V100-4Q        On   | 00000000:02:00.0 Off |                  N/A|
    | N/AN/AP0    N/A/  N/A|    304MiB /  4096MiB |      0%      Default |
    |                               |                      |                  N/A|
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+

vSphere IaaS control plane 中部署具有 PCI 裝置的虛擬機器

除了 vGPU 之外,您還可以在 ESXi 主機上設定其他 PCI 裝置,使其可在傳遞模式下供虛擬機器使用。

vSphere IaaS control plane 支援動態 DirectPath I/O 裝置。使用動態 DirectPath I/O,虛擬機器可以直接存取連線到主機的實體 PCI 和 PCIe 裝置。您可以使用動態 DirectPath I/O 將多個 PCI 傳遞裝置指派給一個虛擬機器。每個傳遞裝置都可以透過其 PCI 廠商和裝置識別碼來指定。
備註: 為 PCI 傳遞裝置設定動態 DirectPath I/O 時,請將 PCI 裝置連線至主機,並將其標記為可用於傳遞。請參閱 vSphere 網路說明文件中的 〈對主機上的網路裝置啟用傳遞〉