環境信息
服務器型號 |
系統版本 |
驅動版本 |
Dell R740xd |
ESXi6.5u3 15177306 |
NVIDIA-VMware-440.87-1OEM.650.0.0.4598673.x86 |
Dell R940xa |
ESXi6.5u3 15177306 |
NVIDIA-VMware-440.87-1OEM.650.0.0.4598673.x86 |
GPU型號 |
Nvidia Tesla V100 |
|
備注:驅動版本和系統版本一定要對應,系統版本必須是ESXi6.5u3或以上,建議使用6.7版本 |
一、ESXi主機配置
1、ESXi主機安裝GPU驅動
ESXi主機開啟ssh,用winscp軟件將驅動傳到主機下,遷移或者關閉主機上所有虛擬機,然后將主機置入維護模式,並安裝驅動
安裝驅動,返回值successfully則表示安裝成
卸載驅動用如下命令
查看驅動是否安裝成功
2、修改BIOS設置
將 Memory Mapped I/O Base 設置為 512 GB(默認為 56 TB)或 12 TB(如果服務器的 RAM 大於 512 GB):重新引導系統后生效
此問題在 R740 用戶硬件手冊中介紹如下:
Memory Mapped I/O above 4 GB - 啟用或禁用要求大量內存的 PCIe 設備支持。僅 64 位操作系統可啟用此選項。此選項默認為已啟用。
Memory Mapped I/O above Base - 當設置為 12 TB 時,系統將 MMIO 庫映射到 12 TB。需要 44 位 PCIe 尋址的操作系統可啟用此選項。
當設置為 512 GB 時,系統將 MMIO 庫映射到 512 GB,並將最大內存支持減少到低於 512 GB。僅針對 4 GPU DGMA 問題啟用此選項。此選項默認設置為 56 TB
注意:設置此選項會將內存限制為512GB(如果已設置為512GB)
3、查看GPU信息
使用命令nvidia-smi查看是否顯示GPU信息,如下:
4、vCenter設置圖形共享模式
在確認驅動狀態沒問題以后,我們登陸vCenter,定位到主機-配置-圖形,編輯主機圖形設置,可以看到默認是共享模式,也就是vsga,我們需要切換到“直接共享“才能使用vGPU。
2種GPU分配策略,在有多個GPU的時候生效。
默認最佳性能模式,會在所有可能的GPU上去運行虛擬機,即VM1運行在GPU1、VM2運行在GPU2,以此類推,盡可能平均的分布虛擬機,不會讓GPU閑着。
GPU整合模式,會在一個GPU核心上運行先啟動的虛擬機,直到當前GPU沒有資源才會去使用下一個GPU核心,這個模式多用在同一台服務器上運行多個vGPU profile的情況下。
除了主機的圖形選項,針對每個GPU也都可以單獨設置共享模式,第一次使用需要在這里再切換一下,主要是需要重啟xorg服務來改變配置,不同vSphere版本界面可能不能,部分vSphere 6.5早期版本需要手動重啟xorg服務
二、虛擬機配置vGPU
版本兼容性列表
1、windows配置vGPU
系統版本:win2008R2、win2012R2、win2016R2(win2012R2官網沒有企業版,所以只能安裝標准版)
系統安裝完成后關閉防火牆,打開遠程桌面。
注:虛擬機添加vGPU安裝驅動后,虛擬桌面連接失效,必須開啟遠程桌面連接或刪除共享pci直通
安裝驅動后Nvidia控制面板打不開或者報錯,解決辦法:安裝驅動精靈,升級顯卡驅動后重啟。
授權vGPU,打開Nvidia控制面板,輸入License Server 的IP以及固定的端口號7070 ,重啟后查看授權服務器是否生效
2、Centos7.8配置vGPU
2.1、關閉防火牆和selinux
修改/etc/selinux/config文件
SELINUX=disabled
2.2、查看最新內核版本並更新
當前版本為3.10.0-1127.el7,最新版為以下3.10.0-1127.13.1.el7
安裝以下更新包,重啟后查看是否生效
檢測NVIDIA驅動是否存在
2.3、禁用Nouveau驅動
查看nouveau是否運行,如有輸出結果即為運行
修改/lib/modprobe.d/dist-blacklist.conf 文件
將blacklist nvidiafb注釋,並添加以下兩行內容
blacklist nouveau
options nouveau modeset=0
2.4、重建 initramfs image
# mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
# dracut /boot/initramfs-$(uname -r).img $(uname -r)
安裝gcc、gcc-c++包
2.5、安裝NVIDIA驅動
添加可執行權限
# chmod +x NVIDIA-Linux-x86_64-440.87-grid.run
退出X-server圖形,進入文本模式
# init 3
進入驅動目錄安裝驅動程序
默認Yes
選Install and overwrite exis
結束安裝后重啟虛擬機
2.6、修改授權配置文件
進入/etc/nvidia目錄,查看是否有gridd.conf文件
如果沒有,復制gridd.conf.template此文件,然后命名gridd.conf,在修改此文件內容
添加vGPU授權服務器IP和端口號
2.7、vGPU授權
重啟nvidia服務,登錄授權服務器查看是否已有授權
# systemctl restart nvidia-gridd.service
登陸license服務器查看是否有授權
http://10.86.192.8:8080/licserver
關於單個VM使用多個vGPU,ESXi版本必須是6.7u3及以上,首先ESXi需要升級到6.7U3的版本才支持,其次虛擬機兼容性也需要修改為vSphere 6.7 Update 2或之后的版本,第三只有多個Q或者C系列的vGPU能添加到單個虛擬機上,而且也會有最低顯存設置。