1. 程式人生 > 其它 >DoraCloud for Proxmox桌面雲上啟用NVIDIA Tesla P4的vGPU功能

DoraCloud for Proxmox桌面雲上啟用NVIDIA Tesla P4的vGPU功能

Proxmox virtualization environment,簡稱PVE,是一個開源免費的基於linux的企業級虛擬化方案,功能不輸專業收費的VMware。簡單的說,PVE是一個基於Debian的linux系統,內建了一套虛擬機器管理工具,並提供了web管理頁面,讓我們可以非常簡單的通過網頁管理虛擬機器。

DoraCloud是一套多平臺、一體化、分散式的桌面虛擬化方案。基於開放架構,支援多種虛擬化平臺(Hyper-V,VMware,Proxmox,XenServer),多種桌面協議(RDP,PCoIP,SPICE)。採用All-in-One的設計模式和虛擬裝置的部署方式。

NVIDIATesla P4單精度運算能力將達到5.5FLOPS,每秒可進行22萬億次計算,其擁有2560個流處理器,搭配8GB GDDR5視訊記憶體。

伺服器配置:i7-8700,32G,1TB nvme,配置Tesla P4顯示卡。

本文描述在伺服器上部署 Proxmox、DoraCloud,並建立帶有vGPU的虛擬桌面的過程。

1、下載安裝Proxmox 5.4.1。

推薦中科大( USTC)的源下載 ISO,然後使用 rufus 製作 啟動U盤。 https://mirrors.ustc.edu.cn/proxmox/iso/proxmox-ve_5.4-1.iso

2、修改中科大源,更新

cp /etc/apt/sources.list /etc/apt/sources.list.backup
sed -i 's|^deb http://ftp.debian.org|deb https://mirrors.ustc.edu.cn|g
' /etc/apt/sources.list sed -i 's|^deb http://security.debian.org|deb https://mirrors.ustc.edu.cn/debian-security|g' /etc/apt/sources.list mv /etc/apt/sources.list.d/pve-enterprise.list /etc/apt/sources.list.d/pve-enterprise.list.bak CODENAME=`cat /etc/os-release |grep PRETTY_NAME |cut -f 2 -d "(" |cut -f 1 -d ")"` echo
"deb https://mirrors.ustc.edu.cn/proxmox/debian $CODENAME pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list apt update && apt upgrade -y

3、啟用 IOMMU

伺服器為Intel 處理器,通過如下指令碼啟用IOMMU,如果是AMD處理器,配置有差異。

# 複製如下指令碼,啟用IO-MMU

# /etc/default/grub 的GRUB_CMDLINE_LINUX_DEFAULT,增加 intel_iommu=on iommu=pt
sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet"/GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"/g' /etc/default/grub

update-grub

# 載入 vfio vfio_iommu_type1 vfio_pci vfio_virqfd 4個Modules
echo vfio >> /etc/modules
echo vfio_iommu_type1 >> /etc/modules
echo vfio_pci >> /etc/modules
echo vfio_virqfd >> /etc/modules


echo "options vfio_iommu_type1 allow_unsafe_interrupts=1" > /etc/modprobe.d/iommu_unsafe_interrupts.conf
echo "options kvm ignore_msrs=1" > /etc/modprobe.d/kvm.conf
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf

update-initramfs -u
reboot

執行完畢指令碼,會自動重啟伺服器,然後檢視日誌,確認 IOMMU已經啟用。

root@pveserver:~# dmesg | grep -e DMAR -e IOMMU
[ 0.000000] ACPI: DMAR 0x0000000079A48648 0000A8 (v01 INTEL EDK2 00000002 01000013)
[ 0.000000] DMAR: IOMMU enabled
[ 0.004000] DMAR: Host address width 39
[ 0.004000] DMAR: DRHD base: 0x000000fed90000 flags: 0x0
[ 0.004000] DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap 1c0000c40660462 ecap 19e2ff0505e
[ 0.004000] DMAR: DRHD base: 0x000000fed91000 flags: 0x1
[ 0.004000] DMAR: dmar1: reg_base_addr fed91000 ver 1:0 cap d2008c40660462 ecap f050da

4、安裝DKMS 和 NVIDIA 核心驅動程式

#安裝 DKMS 依賴包
apt install -y git build-essential pve-headers dkms pve-headers-4.15.18-12-pve

#下載nvidia 驅動
wget http://www1.deskpool.com:9000/software/NVIDIA-Linux-x86_64-460.32.03-grid.run
wget http://www1.deskpool.com:9000/software/NVIDIA-Linux-x86_64-460.32.04-vgpu-kvm.run

chmod +x NVIDIA-Linux-x86_64-460.32.04-vgpu-kvm.run

#安裝驅動
./NVIDIA-Linux-x86_64-460.32.04-vgpu-kvm.run -dkms

systemctl daemon-reload
reboot

系統啟動後,檢查日誌,確認 vgpu 驅動已經啟動。

4、部署 DoraCloud

為了驗證vGPU效果,我們在Proxmox 上部署DoraCloud。可以採用如下指令碼線上安裝 DoraCloud

cd /var/lib/vz/dump; wget -qO- https://dl.doracloud.cn/dpinstall.pl --referer https://doracloud.cn | perl

為了啟用vGPU,需要進入DoraCloud的Linux 系統,修改配置檔案。 請登入 DoraCloud VM Linux,賬號為 root dora@cloud

在 ~/jy/store.properties 中,增加 如下兩行,儲存。並重啟 DoraCloud VM。

server.proxmox.vgpu = true

server.proxmox.hostpci0=01:00.0,mdev=nvidia-63

[root@vdimgr ~]# cat >>~/jy/store.properties
server.proxmox.vgpu = true
server.proxmox.hostpci0=01:00.0,mdev=nvidia-63
^Z
[1]+ Stopped cat >> ~/jy/store.properties
[root@vdimgr ~]# reboot

其中的 nvidia-63 型別,對應 P4-1Q 型別的vGPU。01:00.0 是P4在Proxmox主機中的裝置編號。

在 Proxmox管理介面中,為虛擬機器新增PCI Device,可以看到支援mdev的NVIDA P4顯示卡的裝置ID為:01:00.0。

P4顯示卡支援虛擬顯示卡型別,可以通過 mdevctl types 命令檢視(需要先安裝mdevctl工具)。也可以在 Proxmox的Add PCI Device選單中檢視。不過由於Proxmox介面的缺陷,不能看到完整的資訊。

重啟完畢後,然後瀏覽器登入 DoraCloud 管理後臺,輸入 賬號 admin DoraCloud,登入後臺。

根據配置嚮導,完成DoraCloud的初始化配置。

接下來,我們下載支援vGPU的桌面模板。 win10LTSC2019GPU。

然後建立桌面池,選擇 win10LTSC2019GPU這個模板。

配置桌面池內建立4個桌面。然後設定桌面池的繫結賬號為 administrator 123456 。這樣賬號是windows7x64模板的Windows 賬號。

啟用繫結賬號後,終端可以識別這個繫結賬號,登陸桌面windows。

桌面建立完畢後,可以在PVE中檢視桌面虛擬的硬體配置,確認桌面虛擬機器正常配置了 PCI device。

接下來回到DoraCloud管理後臺,新增使用者,為使用者分配桌面池。

5、登入桌面,驗證vGPU效果

DoraCloud有多種登入方式,我們選擇網頁登入DoraCloud,輸入使用者賬號 user01,密碼123456。 然後開啟一個 RDP 檔案,輸入管理員賬號 administrator 123456,即可登入 windows 桌面。

進入桌面後,通過dxdiag,檢視系統的顯示卡,顯示為 NVIDIA GRID P4-1Q。

接下來,可以進行3D效能的測試了。 推薦兩個線上測試的網站。

基於WebGL的水母     https://akirodic.com/p/jellyfish/

基於WebGL的網頁遊戲    https://www.crazygames.com/