DoraCloud搭建8卡GPU云桌面环境

1 介绍

ContextCapture 是 Bentley Systems 开发的一款专业摄影测量软件,用于从照片和激光扫描点云生成高精度的 3D 模型。它特别适合用于地理信息系统 (GIS)、工程、建筑、考古、以及城市规划等领域。
项目在一台8卡的GPU服务器部署DoraCloud云桌面系统,搭建用于ContextCapture的云桌面环境。支持8个带GPU的桌面,满足8个设计人员独立工作。 也可以作为一个ContextCapture的集群,完成大规模的建模工作。

2 硬件配置

项目采用8卡GPU服务器。配置为:

处理器:AMD EPYC 7443 24核 * 2

内 存:64GB * 8

硬 盘:4TB NVME + 16TB HDD * 6

GPU: NVIDIA 4070TI * 8

网 卡:I350-T4,X520-2

电 源:4个2000瓦电源

机 箱:4U机箱

3 软件部署

服务器的软件部署分为几个步骤:

  1. 部署 Proxmox VE 8.2 的虚拟化环境。
  2. 部署 DoraCloud 桌面虚拟化系统。
  3. 在桌面模板中,部署ContextCapture软件。

3.1 部署Proxmox VE 8.2

Proxmox 8.x 开始,支持 Resource Mapping 特性,可以对PCI设备统一管理。因此选用最新的Proxmox VE 8.2版本。

3.1.1 Proxmox的配置规划

1、Proxmox安装后,默认的存储为Local-lvm,为了提升效率,需要改造成文件存储。

2、6个16TB的硬盘,通过ZFS管理,配置为RAID10方式。

3、创建Resource Mapping,将8个NVIDIA 4070TI添加进去。

3.1.2 改造Local-lvm为目录存储

PVE安装在4TB的 NVME硬盘上。 默认安装后, Local占用100GB,剩下的被分区为Local-lvm。

Local-lvm的IO效率比较低。我们使用如下脚本,将Local-lvm改造成xfs存储。

脚本:将Local-LVM改造成基于XFS的目录存储
pvesh delete /storage/local-lvm

umount /dev/pve/data

lvremove /dev/pve/data -y

vgdisplay pve | grep Free | awk '{print "lvcreate -l " $5 " -n data pve -y"}' |bash

mkfs.xfs /dev/pve/data
mkdir /mnt/data
mount /dev/pve/data /mnt/data

echo "/dev/pve/data /mnt/data xfs defaults 0 0" >> /etc/fstab

pvesm add dir data --path=/mnt/data
3.1.3 使用ZFS管理6个HDD

在Proxmox管理后台,选择创建ZFS,选中6个硬盘。选择raid10模式。

点击查看代码
root@GPUserver01:~# zpool status
  pool: zfs
 state: ONLINE
config:

        NAME                                  STATE     READ WRITE CKSUM
        zfs                                   ONLINE       0     0     0
          mirror-0                            ONLINE       0     0     0
            ata-WDC_WUH721816ALE6L4_2CG62V3N  ONLINE       0     0     0
            ata-WDC_WUH721816ALE6L4_2CJB0HAP  ONLINE       0     0     0
          mirror-1                            ONLINE       0     0     0
            ata-WDC_WUH721816ALE6L4_2CKPE6TJ  ONLINE       0     0     0
            ata-WDC_WUH721816ALE6L4_2BHUP1BN  ONLINE       0     0     0
          mirror-2                            ONLINE       0     0     0
            ata-WDC_WUH721816ALE6L4_2CJ78JTN  ONLINE       0     0     0
            ata-WDC_WUH721816ALE6L4_2CJD0T1L  ONLINE       0     0     0

3.1.4 为GPU创建Resource Mapping

Resource Mapping 换个说法,就是PCI设备的资源池。在Proxmox上创建 Resouce Mapping后,每个虚拟机只需要配置 Resource Mapping的ID,Proxmox就会自动根据Resource Mapping的定义,从资源池选择合适的PCI设备分配个虚拟机。实现了直通GPU设备的池化管理。

3.2 部署DoraCloud云桌面

3.2.1 在线安装DoraCloud

DoraCloud可以通过一键安装脚本。

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

3.2.2 DoraCloud的基础配置

DoraCloud安装后,进入后台(账号 admin,密码 DoraCloud),会启动一个配置向导。 根据向导即可完成 虚拟化、资源池、集群、用户数据库的配置。

具体可以参考DoraCloud的部署教程 https://docs.doracloud.cn/getting-started/proxmox

3.2.3 DoraCloud配置模板和桌面池

DoraCloud提供了模板的在线下载功能。 选择模板:win10ltscv5 。

下载完毕后,复制模板,然后模板制作向导中,向模板内添加软件。 包括NVIDIA 显卡驱动、一些常见的办公软件。

添加完毕软件后,根据向导保存模板。

说明一下,编辑模板时,创建的临时虚拟机是没有GPU的。 需要通过Proxmox VE的管理后台,为这个临时的虚拟机添加GPU。 添加一个 PCI 设备。设备内容填写 mapping=GPUPool,pcie=1 即可。 这样这个临时的虚拟机就有了直通的GPU设备。

创建桌面池环节,为桌面池配置GPU。GPU型号选择 GPUPool,vGPU类型选择 Passthrough。

由于ResourceMapping中有8个GPU,桌面池的大小也设置为8。

桌面池创建后,再创建群组和用户,既完成云桌面的配置。

3.3 部署ContextCapture

在DoraCloud云桌面部署后,可以在桌面模板中添加 ContextCapture 软件。

ContextCapture的部署,比较专业,请参考相关的文档。

4 方案的应用和总结

项目向用户交付了8个带4070TI GPU的桌面。设计人员可以在自己的电脑上安装DoraClient,通过DoraClient客户端软件接入到云桌面进行设计。

这样一台服务器即可满足8个设计时的日常设计工作。由于设计资料集中保存的服务器,避免了资料泄密和丢失的风险。

云桌面也允许用户远程访问桌面,实现出差、回家时,仍然可以访问云桌面进行工作,提高了工作效率和资源利用率。

此外方案还具有弹性和灵活性。比如遇到重大设计任务,客户可以将8个桌面配置成CentextCapture,共同完成一个大的计算任务。 另外系统也可以灵活分配资源。比如可以创建4个桌面,每个桌面2个GPU。 实现资源的灵活调配。

posted @ 2024-11-18 00:11  朵拉云  阅读(29)  评论(0编辑  收藏  举报