存儲評論網

Proxmox vGPU 指南:您的 GPU 值得擁有的不僅僅是直通

企業  ◇  軟體

Proxmox 伺服器解決方案最近宣布其虛擬環境 (VE) 虛擬機器管理程式將支援 NVIDIA vGPU,為渲染、VDI、AI 和其他應用程式開闢了全新的 GPU 加速世界。加入我們,我們將審查並引導您了解虛擬機器管理程式的新功能集並評估其效能。

vGPU 支援有什麼大不了?

如果您不熟悉 NVIDIA 的 vGPU 軟體,它允許 GPU 的運算和記憶體資源在多個虛擬機器 (VM) 之間進行分區和分配。在這種設定中,虛擬機器交替使用 GPU 的處理能力並根據需要分配部分卡片的記憶體。即使客戶虛擬機器的工作負載強度發生變化,這種方法也能讓 GPU 保持尖峰使用率。

Proxmox vGPU L40S 安裝

開始之前...(先決條件)

在 Proxmox VE (PVE) 中啟動 GPU 虛擬化環境之前,您需要準備一些東西。與許多資料中心工具一樣,NVIDIA 的 vGPU 軟體並非免費。您需要購買註冊其虛擬 GPU 軟體的評估版,並建立 NVIDIA 企業帳戶。接下來,您必須取得相容 vGPU 的顯示卡,並從授權入口網站下載對應的驅動程式。請取得最新版本的“Linux KVM”驅動程式。至少需要下載以下驅動程式:

  • vGPU 軟體:18.0
  • 主機驅動程式:570.124.03
  • Linux 用戶端驅動程式:570.124.06
  • Windows 用戶端驅動程式:572.60

我們在這個計畫中利用了 NVIDIA L40S 和 Dell PowerEdge R760。

Proxmox vGPU NVIDIA GPU

此外,您還需要一台專用授權伺服器 (DLS) 或雲端授權伺服器 (CLS) 來啟動虛擬機器上的 vGPU 功能。點擊此處查看快速入門指南。

接下來,請確認伺服器的 UEFI(BIOS)設定已啟用正確的虛擬化功能。尋找VT-dAMD-vSR-IOV4G 以上解碼可調整大小的欄位以及備用路由 ID 解釋(ARI)設置,並確保所有設定均已啟用。

注意:您可能無法在 UEFI 選單中找到所有這些功能,因為有些功能可能不會對使用者開放。

最後,檢查您是否使用了合適版本的 Proxmox VE。 vGPU 功能至少需要 pve-manager 版本 8.3.4,核心 6.18.12-8-pve 或更新版本。您可以透過導覽至所需伺服器上的「摘要」標籤來檢查 PVE 節點的軟體版本,如下所示:

Proxmox vGPU VE 介面 1

擁有最多的主機(Proxmox Host vGPU 設定)

現在一切準備就緒,是時候設定 Proxmox VE 伺服器了。在 Proxmox VE 伺服器的 Web 介面中,按一下畫面左側的伺服器名稱並選擇「Shell」標籤。在出現的控制台視窗中鍵入此指令,完成後按 Enter:

apt 安裝 pve-nvidia-vgpu-helper

這將確保 vGPU 設定工具安裝在您的伺服器上,為 Proxmox vGPU 支援做好準備。在伺服器完成腳本安裝或通知您腳本已存在後,再執行一個命令來執行該工具。

pve-nvidia-vgpu-helper 設定

對任何問題回答“Y”,並繼續,直到控制台視窗返回並且腳本完成。透過導航至伺服器的「摘要」標籤並點擊「重新啟動」按鈕來快速重新啟動伺服器,或在「Shell」標籤控制台中鍵入重新啟動命令並按 Enter。

接下來,需要將NVIDIA的vGPU主機驅動程式載入到伺服器上。伺服器重新啟動完成後,使用SSH或SCP傳輸工具(例如WinSCP)將主機驅動程式複製到節點。

注意:如果您將所有驅動程式一起下載為壓縮 (.zip) 資料夾,則可能需要先解壓縮其內容,然後從「Host_Drivers」資料夾中選擇「.run」檔案。

將檔案放在伺服器的“/home”目錄中,並準備使用以下命令執行安裝程式。

cd /home chown root NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run chmod +X NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run ./NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run --dkms

注意:請將「NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run」替換為您下載的驅動程式的實際名稱。將檔案放置到“/home”目錄後,您可以使用“ls”指令顯示檔案名稱。

現在驅動程式已安裝在伺服器上,我們距離完成 Proxmox vGPU 設定的主機端僅剩幾步之遙!在將 GPU 標記為可在虛擬機器之間分割的裝置之前,我們必須啟用單一 I/O 虛擬化 (SR-IOV)。 NVIDIA 定義了此功能 為「…允許實體 PCIe 裝置透過 PCIe 匯流排多次出現的技術。該技術可實現具有獨立資源的裝置多個虛擬執行個體。」由於 SR-IOV 是現代 GPU 上基本 vGPU 功能所需的關鍵技術,因此請使用下列指令將其設定為在啟動時開啟:

systemctl enable --now pve-nvidia-sriov@ALL.service

最後,我們可以規劃出 GPU 的資源,並在虛擬機器之間整齊地分配它們。在 Proxmox VE 伺服器的 Web 介面上,按一下左上角的“資料中心”,然後向下捲動以選擇“資源對應”標籤。

按一下頁面「PCI 裝置」部分下方的「新增」按鈕,然後在下一個視窗的「名稱:」欄位中填入描述您正在對應的 GPU 的名稱。

接下來,勾選「與中介設備一起使用」框,並確保「節點映射」下拉式選單包含正在映射 GPU 的伺服器。向下捲動設備列表,確認所有設備 ID 的「供應商」欄位中都有「NVIDIA Corporation」。如果是,請點擊表格左上角的複選框選擇所有設備;否則,僅選擇以“NVIDIA Corporation”作為供應商的設備。

注意:如果您的系統安裝了多個 GPU,您可以使用目標伺服器上的「Shell」標籤中的「lspci」命令來確定每張卡對應的 ID。

當裝置選擇完成後,點擊彈出視窗右下角的「建立」按鈕確認您的選擇。您的 NVIDIA GPU 現在可以切割成 vGPU 供 Proxmox VE 伺服器的客戶使用!

為客戶機提供服務(將 vGPU 分配給虛擬機器)

所有部分都已準備就緒,我們可以開始在虛擬機器上分配和使用 vGPU。像往常一樣開始建立一個新的虛擬機,或使用現有的虛擬機。為了演示,我們將使用 Windows Server 2025 虛擬機器。

在 Proxmox VE 伺服器的 Web 介面中,使用您認為合適的任何方法(無 VNC 控制台、客戶機電源選單等)關閉虛擬機,然後按一下客戶的「硬體」標籤。

在點選「新增」按鈕後出現的下拉式選單中,選擇「PCI 裝置」。

在彈出的「新增:PCI 裝置」視窗中,在「裝置:」欄位中選擇您指派給資源對應 GPU 的名稱。

接下來,按一下「MDev Type:」欄位並觀察所呈現的中介設備類型選項清單。您可能會注意到每個選項都有一個數字和字母標記。此數字代表分配給客戶的 VRAM 數量(以 GB 為單位),而「A」、「B」和「Q」指的是 vGPU 的使用情況:

  • Q – 具有 RTX Enterprise 驅動程式的虛擬工作站(需要 RTX vWS 授權)
  • B – 虛擬桌面(需要 NVIDIA Virtual PC 授權或 RTX vWS 授權)
  • A – 應用程式解決方案(需要 NVIDIA 虛擬應用程式授權)

注意:您可以在這裡閱讀更多關於不同 vGPU 設定檔及其所需許可證的資訊。

為了本次演示,我們使用了「NVIDIA L40S-12Q」設定檔。選擇所需的中介設備類型後,勾選“PCI-Express”複選框並點擊藍色的“新增”按鈕即可完成。

現在,VM 已分配有 vGPU,但我們仍然需要安裝客戶驅動程式和授權令牌才能使一切順利進行。現在您可以啟動虛擬機器並登入。

登入後,將先前取得的 NVIDIA vGPU 客戶機驅動程式從 授權門戶 以您喜歡的任何方式(SMB、SCP、直接下載等)連接到 VM。或者,你可以使用以下軟體建立包含驅動程式的虛擬 CD-ROM 檔案 (.iso) 並將其上傳到 PVE 伺服器的儲存空間: ImgBurn 同時部署許多啟用 vGPU 的客戶機。

雙擊可執行檔來執行驅動程式安裝程式文件,然後按照出現的安裝功能表上的說明進行操作。

將驅動程式解壓縮到「解壓縮路徑:」欄位中的預設位置,並在出現提示時選擇「快速」安裝選項。

驅動程式安裝完成後,點選「CLOSE」按鈕退出選單。

接下來,我們需要在客戶機上啟動 vGPU 授權。根據您選擇專用許可證伺服器(DLS)還是雲端許可證伺服器(CLS)以及您的作業系統,啟動方法可能會有很大差異。關注 NVIDIA 許可證系統快速入門指南 以及 客戶端許可使用者指南 有關為您的特定設定啟動客戶端的詳細步驟。

我們使用了雲端許可證伺服器並收到了令牌文件以供客人使用。將此檔案移至用戶端並將其複製到「C:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken」資料夾。

接下來,需要重新啟動客戶機以完成啟動程序。

按照這裡詳述的所有主機和用戶端設定步驟,您應該準備好執行需要 GPU 的程式和應用程式。重新啟動後,不要忘記啟用遠端桌面協定 (RDP) 或在用戶端上安裝您最喜歡的遠端桌面軟體,以享受 GPU 加速的遠端觀看優勢!

啟動引擎(試用 Proxmox vGPU)

現在我們已經有了一些有虛擬 GPU 的虛擬伺服器,讓我們來試試看吧!我們的每個虛擬機器都配置了 8 個固定的 Intel Xeon Platinum 8580 vCPU(4 個超線程核心)、32 GB 的 DDR5 4800 MT/s 註冊 ECC RAM,以及具有 40 GB VRAM 的 NVIDIA L12S-12Q(虛擬工作站)vGPU 設定檔。您可以在下面看到虛擬機器的完整硬體配置:

Cinebench 2024

Cinebench 4 基於 Maxon 的 Cinema 2024D 建模和動畫軟體,提供了對 vGPU 上渲染性能的有趣且客觀的觀察。讓我們將 L40S 在「48Q」(全部 48 GB 的 VRAM)設定檔中的全部效能與一台虛擬機器和執行「12Q」設定檔的四台虛擬機器進行比較。

雖然讓一台虛擬機器獨佔整個 L40S 沒有多大意義,但我們可以看到,在單次 GPU 基準測試中,其效能令人印象深刻,達到了 21,147 分。然而,將 GPU 分成四種方式顯示了 NVIDIA 的時間分片方法對共享 GPU 的 CUDA 核心的影響,當在所有虛擬機器上同時執行基準測試時,單獨的分數範圍從 2,514 到 2,567。

在使用「12Q」設定檔的單一虛擬機器上重新執行測試,而其他三台虛擬機器處於空閒狀態,則分數回升至 15,133。這不完全是恢復到完整 GPU 的得分,但對於分區的 vGPU 來說仍然是值得尊敬的。

Blender 基準測試

讓我們繼續使用 Blender 進行一些渲染基準測試。與 Cinebench 2024 的趨勢類似,將 GPU 拆分為四種方式會導致整體效能顯著降低,與在同一設定檔中執行相同工作負載的單一虛擬機器相比。

正如 Monster 基準測試所證明的那樣,僅僅四台虛擬機器共享 GPU 的運算能力意味著單獨的渲染效能可能只有具有相同設定檔的單一虛擬機器的 8%。然而,我們確實觀察到一台虛擬機器在其他虛擬機器上取得了相當大的領先優勢——比表現最差的虛擬機器的得分高出 2.4 倍。

Junkshop 和 Classroom 基準測試也講述了類似的故事,四台虛擬機器中有三台的效能大幅下降,而一台客戶機的得分卻比其他虛擬機器高得多。

 

有趣的是,似乎有一段短暫的時間,一台虛擬機的 vGPU 被賦予了更高的優先級,並佔據了顯著的領先地位。例如,在課堂基準測試期間,我們的第二台 Windows Server 2025 VM(WIN2025-2)儘管同時運行,但其效能卻是同類產品的三倍多。雖然我們無法準確地確定這是由於 vGPU 軟體的調度還是 GPU 本身的性質造成的,但它凸顯了與 NVIDIA 對此卡採用的時間分片方法同義的一些效能異常。

結語

NVIDIA vGPU 軟體的設定和支援可能不如其他競賽平台那麼完善。儘管如此,對於已經運行 Proxmox 虛擬環境系統的組織和家庭實驗室來說,這是一個令人興奮且有價值的功能。儘管分割 GPU 資源時效能會顯著降低,但許多組織仍利用 NVIDIA 的 vGPU 技術,並確定共享 GPU 的好處大於此缺點。許多超大規模資料中心和空間受限的資料中心都採用了這種態度,將盡可能多的租戶(在本例中是帶有 vGPU 的虛擬機器)塞進盡可能最小的空間是最有效和最有利可圖的選擇。

Proxmox Server Solutions 近期快速擴展了軟體定義網路、Linux 6.11 核心支援以及專用資料中心管理系統等功能,展現了其顯著的進步,並證明其正在成為虛擬機器管理程式領域的有力競爭者。我們期待看到該領域持續發展,並期待很快能與您分享更多即將登陸 PVE 的令人興奮的工具和技術!

近視

參與 StorageReview

電子報| YouTube | PodcastiTunes / Spotify | Instagram | Twitter | TikTok | RSS訂閱

安德魯·瓦格

Andrew Waag 是 Linde plc 的分散式系統管理員,其興趣包括伺服器硬體、企業儲存系統和網路設備。他總是在尋找與家庭實驗室相關的新事物並嘗試虛擬化和儲存技術。