背景

本文介绍了在 Proxmox VE 虚拟化平台上使用NVIDIA A16 GPU,开启vGPU特性,利用DoraCloud 搭建3D云教室的方案。

Proxmox virtualization environment,简称PVE,是一个开源免费的基于linux的企业级虚拟化方案,功能不输专业收费的VMware。简单的说,PVE是一个基于Debian的linux系统,内置了一套虚拟机管理工具,并提供了web管理页面,让我们可以非常简单的通过网页管理虚拟机。

DoraCloud是一套多平台、一体化、分布式的桌面虚拟化方案。基于开放架构,支持多种虚拟化平台(Hyper-V,VMware,Proxmox,XenServer),多种桌面协议(RDP,PCoIP,SPICE)。采用All-in-One的设计模式和虚拟设备的部署方式。

NVIDIA A16是基于上一代的M10演进而来,配置64G显存,提供四个编码单元、八个硬解码单元,支持H.265和264的硬解码,支持vP9。在编码的带宽和路数上,A16是M10的 2倍。NVIDIA A16则主要面向vPC的应用场景。最多支持64个vGPU。

NVIDIA A16 GPU

云桌面方案已经广泛应用在学校的计算机教室项目中。 采用云桌面方案的计算机教室,具有维护简单、部署便捷、功耗低的特点的特点。不过一般由于不配置GPU,无法支持一些3D应用软件的教学,比如3D One、Vulkan等。 如果采用 NVIDIA A16 GPU,一个显卡可以支持64用户配置vGPU。一台服务器配置一个A16,即可满足一个计算机教室的3D应用软件的教学需求。

系统配置

服务器:   Xeon 金牌 6226R * 2,512G内存, 960G SSD,2TB HDD, NVIDIA A16-64

虚拟化软件: Proxmox VE 7.x

桌面云软件: DoraCloud V3.3

云终端: 朵拉云 DC15 云终端

1、下载安装Proxmox 7.2

推荐中科大( USTC)的源下载 ISO,然后使用 rufus 制作 启动U盘。 
https://mirrors.ustc.edu.cn/proxmox/iso/

2、修改中科大源,更新

替换中科大的源,更新升级系统。 目前最新的版本为 7.2.3

cp /etc/apt/sources.list /etc/apt/sources.list.backup
sed -i 's|^deb http://ftp.debian.org|deb https://mirrors.ustc.edu.cn|g' /etc/apt/sources.list
sed -i 's|^deb http://security.debian.org|deb https://mirrors.ustc.edu.cn/debian-security|g' /etc/apt/sources.list mv /etc/apt/sources.list.d/pve-enterprise.list /etc/apt/sources.list.d/pve-enterprise.list.bak
CODENAME=`cat /etc/os-release |grep PRETTY_NAME |cut -f 2 -d "(" |cut -f 1 -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=pt
sed -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个Modules
echo vfio >> /etc/modules
echo vfio_iommu_type1 >> /etc/modules
echo vfio_pci >> /etc/modules
echo vfio_virqfd >> /etc/modules echo "options vfio_iommu_type1 allow_unsafe_interrupts=1" > /etc/modprobe.d/iommu_unsafe_interrupts.conf
echo "options kvm ignore_msrs=1" > /etc/modprobe.d/kvm.conf
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf update-initramfs -u
reboot

重启后,确认 IO-MMU已经启用。

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 测试账号,下载最新的驱动。以DKMS方式安装驱动。

chmod +x NVIDIA-Linux-x86_64-510.47.03-vgpu-kvm.run
./NVIDIA-Linux-x86_64-510.47.03-vgpu-kvm.run -dkms

驱动安装完毕后,重新加载服务,重启服务器。

systemctl daemon-reload
reboot

安装完毕后,可以通过 nvidia-smi 命令查看到 显卡状态。

需要说明的是 NVIDIA A16 属于最新的安培系列,vGPU的实现方式与之前的模式不一样。采用的是SR-IOV方式实现vGPU。

A16包括四个显卡单元。每个单元可以分别启用vGPU,并且每个单元可以配置成不同的vGPU切割方式。

为了使用A16的vGPU功能,需要先用命令激活显卡SR-IOV功能。

/usr/lib/nvidia/sriov-manage -e 0000:3F:00.0
/usr/lib/nvidia/sriov-manage -e 0000:40:00.0
/usr/lib/nvidia/sriov-manage -e 0000:41:00.0
/usr/lib/nvidia/sriov-manage -e 0000:42:00.0

A16激活后,可以通过 mdevctl types 查看到vGPU的vfio设备。

由于是新的SR-IOV模式,mdevctl types 可以看到的pci-e设备会非常多。

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 的配置过程,可以根据配置向导进行配置。模板可以在线下载。可以很快的完成云桌面的部署。

为了让一块A16支持 60个桌面,我们把显卡 vGPU类型配置成nvidia-711 即可。

6、云教室3D应用和效果测试

登录云桌面后,可以看一下NVIDIA 看一下显卡控制面板。3D 效果正常。

使用dxdiag诊断信息如下

通过教学软件,批量运行学生机上的 3Done 教学软件,效果如下。

除了3Done,其他的3D软件,也可以运行。包括 Solidworks,3D Max,Revit 等。满足日常教学,不在话下。

总结

新一轮课改中,中小学信息技术课增加了编程、3D设计、音视频编辑等软件。如scraino、3Done、Photoshop、爱剪辑等。

基于Proxmox + vGPU虚拟化的方式,可以快速的部署支持3D应用的云教室,满足新课改云教室的需求。

此外基于VDI的云教室,还具部署快捷,维护简单的特点。

基于Proxmox平台搭建3D云教室的更多相关文章

  1. 基于HTML5快速搭建3D机房设备面板

    以真实设备为模型,搭建出设备面板,并实时获取设备运行参数,显示在设备面板上,这相比于纯数值的设备监控系统显得更加生动直观.今天我们就在HT for Web的3D技术上完成设备面板的搭建. 我们今天模拟 ...

  2. 通过openswan基于Azure平台搭建VPN server

    用过Azure的读者都知道,Vnet一直是Azure比较自豪的地方,尤其是VPN,Azure提供了两种VPN以及专线来保证客户数据的安全性,S2S vpn(站点到站点的,基于IPsec的),P2S v ...

  3. 基于windows平台搭建elasticsearch

    部署准备 elasticsearch-6.0.1.zip--https://www.elastic.co/downloads/elasticsearch elasticsearch-head-mast ...

  4. 基于windows平台搭建elasticsearch 补充

    https://www.cnblogs.com/skychen1218/p/8108860.html 参考此大神写的内容,感谢感谢. 不过 好像漏掉了一块内容. 导致出现问题 连接不上的问题.后来修改 ...

  5. 轻松搭建Windows8云平台开发环境

    原文:轻松搭建Windows8云平台开发环境 Windows Store应用是基于Windows 8操作系统的新一代Windows应用程序,其开发平台以及运行模式和以往传统平台略有不同.为了帮助更多开 ...

  6. SAAS云平台搭建札记: (二) Linux Ubutu下.Net Core整套运行环境的搭建

    最近做的项目,由于预算有限,公司决定不采购Windows服务器,而采购基于Linux的服务器. 一般的VPS服务器,如果使用Windows系统,那么Windows Server2012\2016安装好 ...

  7. 超简单!基于Python搭建个人“云盘”

    1. 简介 当我们想要从本地向云服务器上传文件时,比较常用的有pscp等工具,但避免不了每次上传都要写若干重复的代码,而笔者最近发现的一个基于Python的工具updog,可以帮助我们在服务器上搭建类 ...

  8. 基于Moodle的IT课程辅助教育平台搭建

    基于Moodle的IT课程辅助教育平台搭建 Moodle是一个开源课程管理系统(CMS),也被称为学习管理系统(LMS)或虚拟学习环境(VLE).它已成为深受世界各地教育工作者喜爱的一种为学生建立网上 ...

  9. 基于VPN搭建混合云架构需要考虑的网络因素

     Joy Qiao from MSFT Wed, Jan 21 2015 8:44 AM 很多用户在搭建混合云架构时,会使用到微软Azure虚拟网络中的 VPN功能,来实现Azure中的虚拟网络与用户 ...

随机推荐

  1. carsim的一些注意事项

    1.carsim导入simulink中运行的目录下最好有simfile.sim文件,可以再carsim_2016.1_date中找到(文件夹内最下端) 2.carsim导入simulink中如果显示下 ...

  2. 7_根轨迹_Part1_“根”的作用

    这里的渐近线,应该是e^[**wn]/wd,忘记除wd了

  3. web移动开发中如何实现图标点击态的蒙层效果

    webapp开发中经常需要加入点击二态,即用户点击(tap)页面某个部分时该部分的样式进行相应的变化来相应用户的点击操作,这样能够带来更好的用户体验,今天我们要讨论的是如何给图标加上点击的二态效果. ...

  4. template7入门教程及对它的一些看法

    template7是framework7的内置模板引擎,在此之前使用过jquery-tmpl,不过刚刚打开github看了下,已经停止更新,并且将要被JsRender所替代.妹的,JsRender又是 ...

  5. 【Android开发】URL 转义与反转义

    1,转义 @org.junit.Test public void testEncode(){ String url="http://192.168.0.19:8888/cas/login&q ...

  6. window10解决需要管理员删除文件的权限问题

    1.快捷键:"win+R",输入:gpedit.msc  回车 2.依次点击:计算机配置-windows配置-安全设置-本地策略-安全选项 3.将两个管理员批准模式和管理员状态三者 ...

  7. npm权限不够(安装什么都报错)

    问题 Windows下使用npm安装任何包都报错, Windows下使用npm显示权限不够 如图: 解决方法    1. 方法一    使用管理员权限打开 命令窗口,  治标不治本!!!!不推荐    ...

  8. 在IntelliJ IDEA配置Tomcat

    1,点击Run---EDit Configurations... 2.点击左侧"+"号,找到Tomcat Server---Local(若是没有找到Tomcat Server 可以 ...

  9. IOH和MCH(北桥芯片的变化)

    IOH位置架构图示意图 北桥芯片-MCH和北桥芯片-IOH区别 1.MCH是内存控制器中心的英文缩写,负责连接CPU,AGP总线和内存, 目前Intel的CPU已经把内存控制器(北桥芯片-MCH)总线 ...

  10. 前端之HTML标签

    一:HTML简介 1.超文本标记语言(Hypertext Markup Language, HTML)是一种用于创建网页的标记语言. 2.本质上是浏览器可识别的规则,我们按照规则写网页,浏览器根据规则 ...