DoraCloud for Proxmox桌面云上启用NVIDIA Tesla P4的vGPU功能

2023-05-16

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

服务器配置:i7-8700,32G,1TB nvme,配置Tesla P4显卡。

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

1、下载安装Proxmox 5.4.1。

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

https://mirrors.ustc.edu.cn/proxmox/iso/proxmox-ve_5.4-1.iso

2、修改中科大源,更新

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 upgrade -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

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

#安装 DKMS 依赖包
apt install -y git build-essential pve-headers dkms pve-headers-4.15.18-12-pve

#下载nvidia 驱动
wget http://www1.deskpool.com:9000/software/NVIDIA-Linux-x86_64-460.32.03-grid.run
wget http://www1.deskpool.com:9000/software/NVIDIA-Linux-x86_64-460.32.04-vgpu-kvm.run

chmod +x NVIDIA-Linux-x86_64-460.32.04-vgpu-kvm.run

#安装驱动
./NVIDIA-Linux-x86_64-460.32.04-vgpu-kvm.run -dkms

systemctl daemon-reload
reboot

系统启动后,检查日志,确认 vgpu 驱动已经启动。 

4、部署 DoraCloud 

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

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

为了启用vGPU,需要进入DoraCloud的Linux 系统,修改配置文件。  请登录 DoraCloud VM Linux,账号为 root   dora@cloud

在 ~/jy/store.properties  中,增加 如下两行,保存。并重启 DoraCloud VM。  

server.proxmox.vgpu = true

server.proxmox.hostpci0=01:00.0,mdev=nvidia-63

[root@vdimgr ~]# cat >>~/jy/store.properties
server.proxmox.vgpu = true
server.proxmox.hostpci0=01:00.0,mdev=nvidia-63
^Z
[1]+ Stopped cat >> ~/jy/store.properties
[root@vdimgr ~]# reboot

其中的 nvidia-63 类型,对应 P4-1Q 类型的vGPU。 01:00.0 是P4在Proxmox主机中的设备编号。

在 Proxmox管理界面中,为虚拟机添加PCI Device,可以看到支持mdev的NVIDA P4显卡的设备ID为:01:00.0。 

P4显卡支持虚拟显卡类型,可以通过 mdevctl  types 命令查看(需要先安装mdevctl工具)。也可以在 Proxmox的Add PCI Device菜单中查看。不过由于Proxmox界面的缺陷,不能看到完整的信息。

   

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

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

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

  然后创建桌面池,选择 win10LTSC2019GPU这个模板。

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

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

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

  

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DoraCloud for Proxmox桌面云上启用NVIDIA Tesla P4的vGPU功能 的相关文章

随机推荐

  • "docker build"requires exactly 1 argument

    例如运行 xff1a docker build t xc govern center 1 0 SNAPSHOT 后面的这个 前面是有个空格的
  • PyCharm 快捷键

    ctrl 43 alt 43 s xff1a 打开软件设置 ctrl 43 d xff1a 复制当前行代码 shift 43 alt 43 上 下 xff1a 将当前行代码上移或下移 ctrl 43 shift 43 f10 xff1a 运
  • Python进阶

    1 Ubuntu操作系统 Linux主要目录 xff1a xff1a 根目录 bin xff1a 可执行二进制文件的目录 ect xff1a 系统配置文件存放的目录 home xff1a 用户家目录 2 linux命令 查看目录命令 命令说
  • Python+tkinter应用程序设置背景图片

    功能描述 xff1a 设计tkinter应用程序 xff0c 为窗口和组件设置背景图片 参考代码 xff1a 运行效果 xff1a 董付国老师Python系列图书 友情提示 xff1a 不建议购买太多 xff0c 最好先通过京东 当当 天猫
  • git学习

    1 git和svn的区别 svn是集中式版本控制系统 xff0c 版本库是集中放在中央服务器的 xff0c 而工作的时候 xff0c 用的都是自己的电脑 xff0c 所以首先要从中央服务器得到最新的版本 xff0c 然后工作 xff0c 完
  • git常用命令

    1 git下载完后 xff0c 必须要设置签名 xff0c 否则无法提交代码 2 C Users 12131 gitconfig 文件里可以查看到设置的信息 3 签名的作用 xff1a 区分不同操作者身份 xff0c 用户的签名信息在每一个
  • GitHub上 README 增加图片标签

    hey Guys 你可能遇到的GitHub上好的项目都有一个非常棒的README xff0c 其中不乏用到一些非常好看的标签 比如下面这样 xff1a walle fastjson 那我们怎样自己添加一个高大上图片标签呢 xff1f 比如我
  • 树莓派上使用 Gstreamer做视频推流

    树莓派使用Gstreamer进行视频推流 最近在研究如何使用树莓派进行视频推流推送到云端 进行了各种比较尝试后 xff0c 认为使用Gstreamer比较好 xff0c 主要的一点就是想利用Gstreamer的硬件加速 在使用ffmpeg的
  • geoserver jms集群部署

    1 集群节点运行架构图 官网集群介绍 xff1a https docs geoserver org latest en user community jms cluster index html 节点之间通过jms消息通信 xff0c A节
  • linux smb配置 不修改git权限

    root 64 localhost cat etc samba smb conf map archive 61 no map hidden 61 no map read only 61 no map system 61 no store d
  • luogu P1185 绘制二叉树

    题目大意 绘制一棵给定的二叉树 解题思路 模拟即可 代码比较乱 include lt cstdio gt include lt cstdlib gt include lt cstring gt const int MAXN 61 12 第i
  • shell 自动化运维

    1 shell 基础知识 1 shell是一个程序 xff0c 文件路径 xff1a bin bash xff0c 是一个命令解释器 xff0c 所有的linux命令都由它来执行 打开终端 xff0c 就进入了shell交互式命令 2 sh
  • 递归求鸭子数

    一个人赶着鸭子去每个村庄卖 xff0c 每经过一个村子卖去所赶鸭子的一半又一只 这样他经过了七个村子后还剩两只鸭子 xff0c 问他出发时共赶多少只鸭子 xff1f 经过每个村子卖出多少只鸭子 xff1f span style color
  • 【STM32】基于STM32F407寄存器方式点亮LED流水灯

    目录 一 STM32F4寄存器介绍二 通过寄存器方式点亮流水灯1 硬件设计2 软件设计3 烧录验证 三 原理阐述1 使能IO口时钟2 初始化IO口模式3 操作IO口 xff0c 输出高低电平 四 总结五 参考 本文使用 原子STM32F40
  • Python+tkinter+pillow实现屏幕任意区域截图

    基本思路 xff1a 首先获取并显示全屏幕截图 xff0c 然后在全屏幕截图上响应鼠标左键按下和抬起事件 xff0c 最后进行二次截图 import tkinter import tkinter filedialog import os f
  • iOS瀑布流

    WaterFallFlow 瀑布流Demo 使用UICollectionView实现瀑布流 自定义UICollectionViewLayout中的主要代码 xff1a YJWaterFlowLayout h中代码 span class hl
  • RedHat8 服务安装(编译、rpm、dnf)

    安装软件的三种方式 下载源码编译安装 可以实现自定义安装目录和参数调整可以指定版本安装在其他2个方法无法安装的情况下可以编译安装 xff08 解决兼容性 xff09 需要自己解决依赖关系 下载rpm包安装 需要下载对应系统的rpm包 xff
  • OpenStack octavia LB负载均衡基础

    octavia octavia 作为openstack的负载均衡方案 xff0c 实现4层和7层的负载 xff0c 自Pike版本替换了neutron自带的LB方案 xff08 Neutorn LBaaS xff09 基本对象 loadba
  • DoraOS连接Proxmox VE搭建简单桌面云

    最近公司想换桌面云 xff0c 我就说想搭建一个Proxmox VE环境 xff0c 问我为什么要用Proxmox 简单说就是好用 xff0c 相对于Xendesktop和horizon xff0c 以及各种厂商的VDI解决方案 xff0c
  • DoraCloud for Proxmox桌面云上启用NVIDIA Tesla P4的vGPU功能

    Proxmox virtualization environment xff0c 简称PVE xff0c 是一个开源免费的基于linux的企业级虚拟化方案 xff0c 功能不输专业收费的VMware 简单的说 xff0c PVE是一个基于D