虚拟桌面基础设施(VDI)技术一般部署在服务器,可以实现多个用户连接到服务器上的虚拟桌面。随着桌面计算机性能的日益提升,桌面计算机在性能在很多场景下已经非常富余,足够同时满足多个用户同时使用的需求。实际项目中,VDI很少部署在桌面计算机的硬件架构上。主要原因包括几个方面:
1)桌面计算机的CPU的吞吐能力相对服务器CPU较弱。
2)桌面计算机缺少一些冗余和可靠性设计。
3)支持显卡虚拟化的GPU一般都是数据中心级的显卡,一般不适用于桌面计算机平台。
Intel在11代CPU之后,集成显卡支持SR-IOV的vGPU技术。性能相比 GVT-g有较大的提升。 如果基于桌面计算机构建VDI系统,可以利用集成显卡的vGPU,实现支持vGPU的VDI系统。相比之下,传统的VDI方案支持vGPU,首先需要配置支持GPU虚拟化的专业GPU卡,同时还需要承担昂贵的vGPU软件许可费用。
因此本文探索基于桌面级CPU构建VDI方案,充分利用桌面CPU的集成显卡的vGPU技术,构建高性价比的支持vGPU的VDI方案。
方案1:基于独立PC的迷你桌面云
业务需求:4核,8G内存,250G硬盘,支持vGPU
推荐配置: i5-12400,64G内存,2TB NVME,2TB SATA ,支持7个桌面。
部署方案: 虚拟化采用 Proxmox,启用集成显卡 SR-IOV,部署DoraCloud桌面云系统,支持7个带vGPU的桌面。
该方案适用于小微企业、工作室、创始团队。
方案2:基于Blade PC的集群方案
该方案采用2U6节点的刀片服务器,支持高可用集群,支持分布式存储,
业务需求:4核,8G内存,250G硬盘,支持vGPU
推荐配置: i5-12400,64G,2TB NVME,240G SSD,万兆, 共6个节点。
部署方案: 虚拟化采用 Proxmox,启用Ceph 分布式存储,启用集成显卡 SR-IOV,部署 DoraCloud桌面云系统。系统容量为 42个带vGPU的桌面。
本文选择方案1来介绍搭建过程。主机连接在局域网上。要求:局域网内有DHCP服务,并且有互联网连接。
12代CPU i5-12400d的主机,安装Proxmox 7.4后,执行如下命令,等待重启。
curl -o- http://vdi.doracloud.cn:9000/software/sriov01.sh |bash
然后执行如下命令,等待自动重启。
curl -o- http://vdi.doracloud.cn:9000/software/sriov01.sh |bash
最后使用 lspci |grep VGA 验证 vGPU已经启用。
DoraCloud 安装可以使用在线安装命令:
cd /var/lib/vz/dump; wget -qO- https://dl.doracloud.cn/dpinstall.pl --referer https://doracloud.cn | perl
上述命令自动下载 DoraCloud 管理系统的虚拟机。 并安装在Proxmox环境上。 DoraCloud管理系统虚拟机会通过DHCP得到一个IP地址。
如果网络中没有DHCP,也可以静态配置DoraCLoud系统的IP。具体参考DoraCloud的相关文档。
以下为安装过程的截图,共参考。
DoraCloud管理系统安装完毕后,会出现如下提示,显示 管理系统的IP地址。
打开浏览器,访问 https://192.168.1.203 ,输入账号 : admin DoraCloud ,即可进入 DoraCloud管理后台
DoraCloud的初始化配置包括:【配置虚拟化】、【配置资源池】、【配置集群】、【配置用户数据库】几个步骤。都可以根据向导完成。
配置虚拟化
配置资源池
配置集群
配置用户数据库
接下来向导来到了【创建模板】环节。这里我们关闭向导,在模板菜单中选择在线模板库。
在【模板】【远程镜像仓库】菜单中,选择 win10LTSC2021模板,下载改模板。
根据网络下载速度,估计10-20分钟可以完成模板下载。
下载的模板中,还不含有 Intel 集成显卡的驱动。
在桌面池菜单中,选择新建桌面池,参考下图。输入 桌面池、先择模板、设置桌面规格、选择GPU型号和vGPU类型。
在桌面池策略中,设置 最大创建数目、预创建数,设置绑定账号。
注意,此处的绑定账号是指 桌面模板中的 Windows 账号。 模板的缺省账号为 administrator 123456,此处的绑定账号必须与模板的账号保持一致。
配置桌面池的数据盘。
其中的 DoraCloud VMID 字段填写 Proxmox 平台中 DoraCloud 管理系统虚拟机的VMID。
选择确定,保持桌面池配置。
接下来创建用户 user01, 选择桌面池 office。
用户可以通过多种方式连接DoraCloud。包括: DoraCloud云终端、DoraOS瘦客户机软件系统、DoraClient客户端软件(for Windows、Linux)。
这里我们选择 DoraClient 客户端软件连接DoraCloud云桌面。
DoraClient下载地址:DoraClient 云桌面客户端【Windows平台】-云桌面-云终端-云教室-云办公-工作站虚拟化
启动 DoraClient,设置服务器地址 192.168.1.203 。
输入用户名,密码
登陆后,系统自动分配一个桌面,并自动连接到桌面。
客户端登录云桌面后,把鼠标放到屏幕顶部,可以弹出工具栏。
为了验证 DoraCloud是否为桌面分配了vGPU,可以回到 Proxmox管理界面,查看虚拟机的属性。可以看到DoraCloud为虚拟机配置了虚拟显卡的PCI设备 0000:00:02.1 。
由于模板中没有Intel GPU的驱动,进入windows桌面后,打开设备管理,可以看到 Microsoft基本显示适配器。带有一个感叹号,表示驱动没有正确安装。
如果Windows 10带有驱动的自动更新功能。如果顺利的化,等待一会儿再查看,可以看到系统自动安装了驱动,识别了 Intel UHD Graphics 730设备。
如果Windows 系统没有识别驱动,可以到Intel官网下载驱动。
比如: 2023-05-16日发布的驱动 Intel® Graphics Driver 31.0.101.4369
文件名:gfx_win_101.4369.exe
下载地址:https://www.intel.com/content/www/us/en/download/726609
为了验证GPU效果可以访问如下一些网站:
测试网站1:http://webglsamples.org/aquarium/aquarium.html
测试网站2:https://akirodic.com/p/jellyfish/
根据Intel相关的测试报告,启用SR-IOV vGPU,测试程序1可以达到60FPS。 以下截图摘自 Intel Graphics SR-IOV的白皮书。
利用12代处理器的显卡SR-IOV功能,可以轻松构建代vGPU的云桌面。利用i5-12400 CPU可以搭建支持7个带vGPU的云桌面用户。构建高性价比的VDI方案。
下图为本次测试使用的 迷你服务器。配置标压的 i5-12400 CPU。
云终端方面,可以选择朵拉云 DC20 云终端。 采用4核ARM A55 2.0Ghz 处理器。