2022-01-04

随着数字货币的价格走高,显卡在挖矿需求的推动下价格日益走高。那么有没有办法让现有的图形工作站虚拟化,供多个人使用呢?一方面实现资源共享,降低成本,另一方面也可以实现信息安全和保密需求。桌面云和GPU虚拟化技术为使实现工作站虚拟化成为可能。

本文介绍了使用Proxmox + DoraCloud 实现 Dell T3640工作站虚拟化的过程。经过改造的工作站,可以支持8个虚拟桌面,每个虚拟桌面可以分配到1G显存的vGPU。

T3640配置为: i7-10700,64G内存,1TB NVME,Tesla P4-8G 显卡

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显存。

本文描述在服务器上部署 Proxmox、DoraCloud,并创建带有vGPU的虚拟桌面的过程。

1、下载安装Proxmox 7.1.2

推荐中科大( USTC)的源下载 ISO,然后使用 rufus 制作 启动U盘。 

https://mirrors.ustc.edu.cn/proxmox/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.bakCODENAME=`cat /etc/os-release|grep PRETTY_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 dist-upgrade -y

 安装DKMS 依赖包

#安装 DKMS 依赖包apt install pve-headers dkms -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/grubupdate-grub# 加载 vfio vfio_iommu_type1 vfio_pci vfio_virqfd 4个Modulesecho vfio >> /etc/modulesecho vfio_iommu_type1 >> /etc/modulesecho vfio_pci >> /etc/modulesecho vfio_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.confupdate-initramfs -ureboot

执行完毕脚本,会自动重启服务器,然后查看日志,确认 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 内核驱动程序


#下载nvidia 驱动wgethttp://www1.deskpool.com:9000/software/NVIDIA-Linux-x86_64-470.82-vgpu-kvm.runchmod+x NVIDIA-Linux-x86_64-470.82-vgpu-kvm.run

#安装驱动

./NVIDIA-Linux-x86_64-470.82-vgpu-kvm.run -dkms


NVIDIA 驱动安装成功后,运行如下命令,重启Proxmox 服务器。


systemctl daemon-reload

reboot



系统启动后,检查日志,确认 vgpu 驱动已经启动。  可以看到不同类型的vGPU ,后续计划为桌面配置的vGPU TYPE为 0x3f(十进制63),型号为P4-1Q

root@pveserver:~# cat /var/log/syslog |grep P4

Nov 22 21:29:17 pveserver nvidia-vgpud: VGPU Type 0x47: GRID P4-1B Class: NVS

Nov 22 21:29:17 pveserver nvidia-vgpud: VGPU Type 0x3f: GRID P4-1Q Class: Quadro

Nov 22 21:29:17 pveserver nvidia-vgpud: VGPU Type 0x40: GRID P4-2Q Class: Quadro

Nov 22 21:29:17 pveserver nvidia-vgpud: VGPU Type 0x41: GRID P4-4Q Class: Quadro

Nov 22 21:29:17 pveserver nvidia-vgpud: VGPU Type 0x42: GRID P4-8Q Class: Quadro

Nov 22 21:29:17 pveserver nvidia-vgpud: VGPU Type 0x43: GRID P4-1A Class: NVS

Nov 22 21:29:17 pveserver nvidia-vgpud: VGPU Type 0x44: GRID P4-2A Class: NVS

Nov 22 21:29:17 pveserver nvidia-vgpud: VGPU Type 0x45: GRID P4-4A Class: NVS

Nov 22 21:29:17 pveserver nvidia-vgpud: VGPU Type 0x46: GRID P4-8A Class: NVS

Nov 22 21:29:17 pveserver nvidia-vgpud: VGPU Type 0x9d: GRID P4-2B Class: NVS

Nov 22 21:29:17 pveserver nvidia-vgpud: VGPU Type 0xd6: GRID P4-2B4 Class: NVS

Nov 22 21:29:17 pveserver nvidia-vgpud: VGPU Type 0xf3: GRID P4-1B4 Class: NVS

Nov 22 21:29:17 pveserver nvidia-vgpud: VGPU Type 0x121: GRID P4-8C Class: Compute

Nov 22 21:29:17 pveserver nvidia-vgpud: VGPU Type 0x120: GRID P4-4C Class: Compute


5、部署 DoraCloud

为了验证vGPU效果,我们在Proxmox 上部署DoraCloud。可以采用如下脚本在线安装 DoraCloud

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


重启完毕后,然后浏览器登录 DoraCloud 管理后台,输入 账号  admin  DoraCloud,登录后台。


根据配置向导,完成DoraCloud的初始化配置。






接下来,我们下载支持vGPU的桌面模板。 win10LTSC2019GPU。


  然后创建桌面池,选择 win10LTSC2019GPU这个模板。 GPU型号选择 NVIDIA P4,vGPU类型选择 GRID P4-1Q



 配置桌面池内创建4个桌面。然后设置桌面池的绑定账号为 administrator  123456 。这样账号是windows7x64模板的Windows 账号。

启用绑定账号后,终端可以识别这个绑定账号,登陆桌面windows。

 桌面创建完毕后,可以在PVE中查看桌面虚拟的硬件配置,确认桌面虚拟机正常配置了 PCI device。


 接下来回到DoraCloud管理后台,添加用户,为用户分配桌面池。


6、登录桌面,验证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/


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,463评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,868评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,213评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,666评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,759评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,725评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,716评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,484评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,928评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,233评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,393评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,073评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,718评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,308评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,538评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,338评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,260评论 2 352

推荐阅读更多精彩内容