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界面的缺陷,不能看到完整的信息。
![](https://img.haomeiwen.com/i15764759/a35b64619c11f85c.png)
重启完毕后,然后浏览器登录 DoraCloud 管理后台,输入 账号 admin DoraCloud,登录后台。
![](https://img.haomeiwen.com/i15764759/c5df07c7e245235a.png)
根据配置向导,完成DoraCloud的初始化配置。
![](https://img.haomeiwen.com/i15764759/d0291e5df48b3d0b.png)
![](https://img.haomeiwen.com/i15764759/c7746f53dcc4ce45.png)
![](https://img.haomeiwen.com/i15764759/7cc6ce31dae19dcb.png)
![](https://img.haomeiwen.com/i15764759/7e8114690c254edb.png)
![](https://img.haomeiwen.com/i15764759/06a1c8ecee4c0f4f.png)
接下来,我们下载支持vGPU的桌面模板。 win10LTSC2019GPU。
![](https://img.haomeiwen.com/i15764759/4dba768522c768fd.png)
然后创建桌面池,选择 win10LTSC2019GPU这个模板。
![](https://img.haomeiwen.com/i15764759/9181a685f329105e.png)
配置桌面池内创建4个桌面。然后设置桌面池的绑定账号为 administrator 123456 。这样账号是windows7x64模板的Windows 账号。
启用绑定账号后,终端可以识别这个绑定账号,登陆桌面windows。
![](https://img.haomeiwen.com/i15764759/5683c917469a7ff5.png)
桌面创建完毕后,可以在PVE中查看桌面虚拟的硬件配置,确认桌面虚拟机正常配置了 PCI device。
![](https://img.haomeiwen.com/i15764759/0b652bdc18024ab7.png)
接下来回到DoraCloud管理后台,添加用户,为用户分配桌面池。
![](https://img.haomeiwen.com/i15764759/47739aa3f784ae83.png)
5、登录桌面,验证vGPU效果
DoraCloud有多种登录方式,我们选择网页登录DoraCloud,输入用户账号 user01,密码123456。 然后打开一个 RDP 文件,输入管理员账号 administrator 123456,即可登录 windows 桌面。
![](https://img.haomeiwen.com/i15764759/facf3cc142f14a04.png)
进入桌面后,通过dxdiag,查看系统的显卡,显示为 NVIDIA GRID P4-1Q。
![](https://img.haomeiwen.com/i15764759/1bf4bb0c6ed6ad83.png)
接下来,可以进行3D性能的测试了。 推荐两个在线测试的网站。
基于WebGL的水母 https://akirodic.com/p/jellyfish/
基于WebGL的网页游戏 https://www.crazygames.com/
![](https://img.haomeiwen.com/i15764759/0c200d49207e3203.png)
![](https://img.haomeiwen.com/i15764759/42026e8574b89384.png)
网友评论