對於Ubuntu作業系統GPU計算型執行個體(即ebmgn7、ebmgn7e),如果您採用安裝包方式安裝了nvidia-fabricmanager服務,則apt-daily服務可能會自動更新已安裝的軟體包,使得該軟體版本與Tesla驅動版本不一致,產生版本相容性問題,導致nvidia-fabricmanager服務啟動失敗,最終影響GPU無法正常使用,本文介紹這種情況的解決方案。
問題現象
採用 安裝包方式 安裝nvidia-fabricmanager服務後,查看該服務狀態時,出現如下報錯資訊,該情況會導致GPU無法正常使用。
root@xxx:~# systemctl status nvidia-fabricmanager
× nvidia-fabricmanager.service - NVIDIA fabric manager service
Loaded: loaded (/lib/systemd/system/nvidia-fabricmanager.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Mon 2024-09-09 18:05:58 CST; 22s ago
Process: 36178 ExecStart=/usr/bin/nv-fabricmanager -c /usr/share/nvidia/nvswitch/fabricmanager.cfg (code=exited, status=1/FAILURE)
CPU: 66ms
Sep 09 18:05:58 iZ2xxx0d5fZ systemd[1]: Starting NVIDIA fabric manager service...
Sep 09 18:05:58 iZ2xxx fZ nv-fabricmanager[36180]: fabric manager NVIDIA GPU driver interface version 550.90.07 don't match with driver version 550.54.15. Please up
Sep 09 18:05:58 iZ2xxx fZ nv-fabricmanager[36180]: fabric manager NVIDIA GPU driver interface version 550.90.07 don't match with driver version 550.54.15. Please up
Sep 09 18:05:58 iZ2xxx fZ systemd[1]: nvidia-fabricmanager.service: Control process exited, code=exited, status=1/FAILURE
Sep 09 18:05:58 ixxxd5fZ systemd[1]: nvidia-fabricmanager.service: Failed with result 'exit-code'.
Sep 09 18:05:58 iZ2xxx5fZ systemd[1]: Failed to start NVIDIA fabric manager service.
問題原因
在Ubuntu系統的GPU執行個體上,通過安裝包方式安裝了nvidia-fabricmanager服務後,由於apt-daily服務會自動更新nvidia-fabricmanager軟體,使得該軟體版本與Tesla驅動版本不一致,基於版本相容性問題,導致nvidia-fabricmanager服務啟動失敗,最終影響GPU無法正常使用。
解決方案
nvidia-fabricmanager軟體版本必須與Tesla驅動版本一致,才能確保GPU的正常運行。為了預防或解決nvidia-fabricmanager軟體版本與Tesla驅動版本不一致帶來的GPU無法使用問題,請參考以下操作。
-
查看nvidia-fabricmanager軟體和Tesla驅動版本資訊。
-
執行以下命令,查看nvidia-fabricmanager軟體版本資訊。
sudo dpkg --list |grep nvidia-fabricmanager本樣本以nvidia-fabricmanager軟體版本為
550.90.07為例,其中,nvidia-fabricmanager-550為軟體包名稱,550.90.07為軟體版本。ii nvidia-fabricmanager-550 550.90.07-1 amd64 Fabric Manager for NVSwitch based systems. -
執行以下命令,查看Tesla驅動版本資訊。
nvidia-smi本樣本以Tesla驅動版本為
550.90.07為例。NVIDIA-SMI 550.90.07 Driver Version: 550.90.07 CUDA Version: 12.4 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 A10 On | 00000000:00:07.0 Off | 0 0% 35C P8 9W / 150W | 1MiB / 23028MiB | 0% Default | | | N/A | Processes: GPU GI CI PID Type Process name GPU Memory ID ID Usage No running processes found
-
-
確認當前nvidia-fabricmanager版本與Tesla驅動版本是否一致。
-
如果兩版本一致,繼續執行下一步。
-
如果兩版本不一致,請選擇以下任一方案:
-
升級Tesla驅動確保與nvidia-fabricmanager版本保持一致。具體操作,請參見升級NVIDIA Tesla驅動。
-
卸載當前nvidia-fabricmanager服務並重新安裝後,繼續執行下一步。
說明如需瞭解如何卸載nvidia-fabricmanager服務,請參見步驟1:卸載nvidia-fabricmanager服務。
-
-
-
執行以下命令,禁止nvidia-fabricmanager軟體被自動更新或升級。
本樣本以
nvidia-fabricmanager-550軟體包名稱為例,請替換成您實際的nvidia-fabricmanager軟體包名稱。sudo apt-mark hold nvidia-fabricmanager-550顯示結果如下,表示nvidia-fabricmanager軟體已禁止更新。
nvidia-fabricmanager-550 set on hold. -
執行以下命令,確認
nvidia-fabricmanager軟體更新已被鎖定(hold)。sudo apt-mark showhold例如結果顯示
cloud-init和nvidia-fabricmanager-550資訊,表示相應的軟體更新已被鎖定。