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的设计模式和虚拟设备的部署方式。

NVIDIA Tesla 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.backupsed-i's|^deb http://ftp.debian.org|deb https://mirrors.ustc.edu.cn|g'/etc/apt/sources.listsed-i's|^deb http://security.debian.org|deb https://mirrors.ustc.edu.cn/debian-security|g'/etc/apt/sources.listmv/etc/apt/sources.list.d/pve-enterprise.list /etc/apt/sources.list.d/pve-enterprise.list.bak

CODENAME=`cat/etc/os-release |grepPRETTY_NAME |cut-f2-d"("|cut-f1-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=ptsed-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个Modulesechovfio >> /etc/modulesechovfio_iommu_type1 >> /etc/modulesechovfio_pci >> /etc/modulesechovfio_virqfd >> /etc/modulesecho"options vfio_iommu_type1 allow_unsafe_interrupts=1"> /etc/modprobe.d/iommu_unsafe_interrupts.confecho"options kvm ignore_msrs=1"> /etc/modprobe.d/kvm.confecho"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 驱动wgethttp://www1.deskpool.com:9000/software/NVIDIA-Linux-x86_64-460.32.03-grid.runwgethttp://www1.deskpool.com:9000/software/NVIDIA-Linux-x86_64-460.32.04-vgpu-kvm.runchmod+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/


你可能感兴趣的:(DoraCloud for Proxmox桌面云上启用NVIDIA Tesla P4的vGPU功能)