DoraCloud搭建8卡GPU雲桌面環境

朵拉云發表於2024-11-18

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。 實現資源的靈活調配。

相關文章