12代CPU启用SR-IOV vGPU,实现一台电脑当七台用

news2024/12/26 11:47:14

背景

虚拟桌面基础设施(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服务,并且有互联网连接。

步骤一:安装Proxmox,启用SR-IOV vGPU

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 for Proxmox 

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进行初始化配置

DoraCloud的初始化配置包括:【配置虚拟化】、【配置资源池】、【配置集群】、【配置用户数据库】几个步骤。都可以根据向导完成。 

配置虚拟化

配置资源池

 配置集群

配置用户数据库

 

  

步骤四:下载桌面模板 

接下来向导来到了【创建模板】环节。这里我们关闭向导,在模板菜单中选择在线模板库。

 在【模板】【远程镜像仓库】菜单中,选择 win10LTSC2021模板,下载改模板。

 根据网络下载速度,估计10-20分钟可以完成模板下载。 

 下载的模板中,还不含有 Intel 集成显卡的驱动。

步骤五:创建桌面池、用户

在桌面池菜单中,选择新建桌面池,参考下图。输入 桌面池、先择模板、设置桌面规格、选择GPU型号和vGPU类型。

在桌面池策略中,设置 最大创建数目、预创建数,设置绑定账号。 

注意,此处的绑定账号是指 桌面模板中的 Windows 账号。 模板的缺省账号为 administrator 123456,此处的绑定账号必须与模板的账号保持一致。

 配置桌面池的数据盘。

 其中的 DoraCloud VMID 字段填写 Proxmox 平台中 DoraCloud 管理系统虚拟机的VMID。 

选择确定,保持桌面池配置。 

接下来创建用户 user01, 选择桌面池  office。

步骤六:安装DoraClient进行桌面连接

用户可以通过多种方式连接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的驱动,验证SR-IOV vGPU效果

 由于模板中没有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 处理器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/610197.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis的持久化详解

目录 一、Redis的持久化二、RDB(Redis DataBase)1、RDB快照原理2、RDB配置3、redis.conf 其他一些配置4、RDB的备份恢复5、RDB优缺点 三、AOF(Append Of File)1、AOF原理2、AOF配置3、AOF的备份恢复4、重写流程5、AOF优缺点 四、A…

MySQL | Windows服务器部署ZIP免安装版MySQL8.0+数据库笔记

Windows服务器部署ZIP免安装版MySQL8.0数据库笔记 文章目录 Windows服务器部署ZIP免安装版MySQL8.0数据库笔记下载MySQL压缩包编写配置文件环境变量初始化数据库安装MySQL服务安装错误:VCRUNTIME140_1.dll 登录 MySQL 下载MySQL压缩包 打开官网的下载页面&#xff…

POI报表的入门

POI报表的入门 理解员工管理的的业务逻辑 能够说出Eureka和Feign的作用 理解报表的两种形式和POI的基本操作熟练使用POI完成Excel的导入导出操作 员工管理 需求分析 企业员工管理是人事资源管理系统中最重要的一个环节,分为对员工入职,转正,离…

chatgpt赋能python:Python如何处理AI文件

Python如何处理AI文件 什么是AI文件? AI文件是Adobe Illustrator的标准文件格式。它包含了图形设计师所创建的矢量图形,这些矢量图形可以根据需要进行缩放和文件大小的调整。AI文件是专业印刷和设计领域中最常用的格式之一。 为什么要处理AI文件&…

深入ReentrantReadWriteLock

ReentrantReadWriteLock出现的原因 首先synchronized和ReentrantLock都是互斥锁,一个线程在获取锁资源之后另一个线程只能等待假设有一种情况是读多写少,并且确保线程安全。可以使用ReentrantReadWriteLock实现ReentrantReadWriteLock的特点是读读不互斥…

基于随身wifi的Tiny linux debian搭建教程

基于随身wifi的Tiny linux debian搭建教程 基于随身wifi的Tiny linux debian搭建教程基本信息进9008miko备份Qualcomm Premium Tool全分区备份 开adb刷debianssh连接扩展应用原版镜像测速ServerBox自动登录校园网 bug 基于随身wifi的Tiny linux debian搭建教程 基本信息 12芯…

Java8环境安装及配置

Java8环境安装及配置 一、下载JDK8二、安装三、环境变量配置四、验证 一、下载JDK8 本教程使用的是8u202版本,若需要其他版本可点击下方链接跳转下载。 Oracle下载,点击跳转选择版本 如下图所示,选择自己需要的版本下载 点击8u202版本 下载…

JavaSE进阶(day14,复习自用)

XML、XML解析、设计模式等 XMLXML概述XML的创建、语法规则XML文档约束方式一-DTD约束[了解]XML文档约束方式二-schema约束[了解] XML解析技术XML解析技术概述Dom4J解析XML文件Dom4J解析XML文件-案例实战 XML检索技术:Xpath设计模式:工厂模式设计模式&am…

C++算法:排序之一(插入、冒泡、快速排序)

C算法:排序 排序之一(插入、冒泡、快速排序) 文章目录 C算法:排序前言一、十大排序法性能二、各算法实现1、插入排序2、冒泡排序3、快速排序 原创文章,未经许可,严禁转载 前言 排序算法很多,一…

chatgpt赋能python:Python备份一个列表:最简单的方式和最佳实践

Python备份一个列表:最简单的方式和最佳实践 在Python编程中,经常需要将数据存储在列表中。但是,由于数据的重要性,我们需要确保数据不会丢失或损坏。因此,备份列表是我们需要考虑的一件事情。在这篇文章中&#xff0…

chatgpt赋能python:Python实现文件夹备份:让你的数据永不丢失

Python实现文件夹备份:让你的数据永不丢失 数据备份对于每个人都非常重要。如果你有很多个人或工作文件保存在计算机上,那么定期备份可以保证你的数据不会因为计算机出现故障而丢失。Python作为一种强大的编程语言,可以帮助你轻松地实现文件…

Linux开发工具gcc/g++篇

文章目录 🍇0. 前言🍈1. 背景知识🍉2. gcc/g使用🍊2.1 预处理操作🍋去注释🍋头文件展开🍋条件编译 & 宏展开 🍊2.2 编译操作🍊2.3 汇编操作🍊2.4 链接 &a…

chatgpt赋能python:Python多段分段函数的介绍

Python多段分段函数的介绍 在Python编程中,有许多种不同类型的函数,其中之一是多段分段函数。多段分段函数的特点在于,在输入域上,函数定义被划分为不同的段,每个段都求值并返回结果。在本文中,我们将深入…

Java性能权威指南-总结5

Java性能权威指南-总结5 垃圾收集入门垃圾收集概述分代垃圾收集器 垃圾收集入门 很多时候没有机会重写代码,又面临需要提高Java应用性能的压力,这种情况下对垃圾收集器的调优就变得至关重要。 现代JVM的类型繁多,最主流的四个垃圾收集器分别…

使用RP2040自制的树莓派pico—— [2/100] HelloWorld! 和 点亮LED

使用RP2040自制的树莓派pico—— [2/100] HelloWorld! 和 点亮LED 开发环境HelloWorld!闪烁 LED 灯代码 由于比较简单就放在一起写了 开发环境 软件:Thonny HelloWorld! 要想使串口打印HelloWorld! 只需要一行代码 print("HelloWorld!")保…

c++与c中多组输入的使用

我们现在看看c中多组输入的使用 int main() {int a;//1while (~scanf("%d", &a)){}//2while (scanf("%d", &a) ! EOF){}return 0; } 这两个是等同的 我们需要知道的是scanf的返回值是成功读取的个数,我们来验证一下 我们可以看到&am…

chatgpt赋能python:Python在Mac上的运行方法

Python在Mac上的运行方法 如果你是一名使用Mac系统的Python开发人员,你肯定希望能够尽可能方便地运行Python。幸运的是,Mac系统已经预先安装了Python,但是你可能需要对其进行配置,以便更好地管理Python模块和环境。 检查Python版…

chatgpt赋能python:Python地区分析:如何使用Python进行地理数据分析

Python地区分析:如何使用Python进行地理数据分析 简介 Python是一种广泛使用的编程语言,它提供了许多强大的工具来处理大量数据。其中包括地理数据,地理数据是指地球表面的空间信息。Python中有一些强大的地图库,包括Folium和Ba…

chatgpt赋能python:Python的均值计算公式

Python的均值计算公式 在数据分析和机器学习方面,计算均值是非常常见的操作。Python提供了一些内置函数和库来计算均值。本文将介绍Python中常用的均值计算公式。 1. 算术均值 算术均值(Arithmetic Mean)是最常见的均值计算方法。Python中…

解决高并发

目录 1.4 对比单体系统、分布式系统和微服务系统 1.4.1 单体系统之痛 1、什么是单体系统 2、单体系统面临的问题 1.4.2 高并发系统之分布式架构 1.4.3 高并发系统之微服务架构 1.4 对比单体系统、分布式系统和微服务系统 接下来从企业真实场景出发,对比单体系统…