我們一位用戶在對(duì)自家VDI桌面的GPU卡進(jìn)行升級(jí)后,發(fā)現(xiàn)無(wú)法啟動(dòng)帶有vGPU的虛擬機(jī),報(bào)錯(cuò)如下:

于是用戶與我們的工程師聯(lián)系排查問(wèn)題,我們的虛擬化工程師第一反應(yīng)會(huì)不會(huì)是GPU卡驅(qū)動(dòng)沒(méi)有安裝好,經(jīng)過(guò)排查確認(rèn)驅(qū)動(dòng)正常,可以使用nvidia-smi命令:
[root@localhost:~] nvidia-smi
Thu Mar 3 11:57:58 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.82 Driver Version: 470.82 CUDA Version: N/A |
|-------------------------------+----------------------+----------------------+
| 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 NVIDIA A16 On | 00000000:3F:00.0 Off | 0 |
| 0% 57C P8 16W / 62W | 0MiB / 15105MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
| 1 NVIDIA A16 On | 00000000:40:00.0 Off | 0 |
| 0% 59C P8 15W / 62W | 0MiB / 15105MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
| 2 NVIDIA A16 On | 00000000:41:00.0 Off | 0 |
| 0% 46C P8 15W / 62W | 0MiB / 15105MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
| 3 NVIDIA A16 On | 00000000:42:00.0 Off | 0 |
| 0% 39C P8 15W / 62W | 0MiB / 15105MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
接著我們的虛擬化工程師懷疑是不是GPU卡的ECC沒(méi)關(guān)閉導(dǎo)致的異常,經(jīng)查用戶使用的是nVidia A16 GPU卡,在對(duì)A16的參數(shù)進(jìn)行查詢確認(rèn)后,發(fā)現(xiàn)是支持vGPU模式下開啟ECC功能。

具體關(guān)于ECC的描述可以參考官方文檔:
NVIDIA Virtual GPU Software Packaging,Pricing, and Licensing Guide中也有對(duì)ECC的描述:
接著考慮到用戶之前使用的GPU卡型號(hào)比較老,ESXi版本較低,我們也對(duì)虛擬機(jī)的兼容性進(jìn)行了升級(jí),但是仍然相同錯(cuò)誤,無(wú)法啟動(dòng)。
在對(duì)ESXi及vCenter進(jìn)行一些列檢查后并未發(fā)現(xiàn)問(wèn)題,突然我們一位工程師提到會(huì)不會(huì)是SR-IOV沒(méi)有開,在NVIDIA vGPU 12.0版本以后部署安裝vGPU需要啟用SR-IOV,可以參考官方文檔:
https://docs.nvidia.com/grid/12.0/grid-vgpu-user-guide/index.html#prereqs-vgpu
在對(duì)BIOS設(shè)置進(jìn)行檢查后,果然SR-IOV功能處于disable狀態(tài)。

我們將其打開并重新引導(dǎo)ESXi操作系統(tǒng)后,安裝了vGPU的虛擬機(jī)終于正常運(yùn)行了起來(lái)!
