百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

超级干货分享之英伟达vGPU软件安装部署文档

mhr18 2024-10-14 11:01 28 浏览 0 评论

目录

1. Nvidia许可服务器安装 3

1.1. 许可证服务器的安装求 3

1.1.1. 支持的Windows操作系统 3

1.1.2. JAVA JRE环境要求 3

1.1.3. .NET Framework要求 3

1.2. 安装并配置JAVA JRE环境 3

1.2.1. 安装JAVA JRE 3

1.2.2. 设置JAVA环境变量 6

1.3. 安装和配置许可证服务器 15

1.3.1. 安装许可证服务器软件 15

1.3.2. 配置许可服务器 20

2. 软件版本兼容性 26

3. 安装和配置NVIDIA Virtual GPU Manager 27

3.1. 安装适用于vSphere的NVIDIA Virtual GPU Manager 27

3.2. 在vCenter配置允许vGPU vMotion 29

3.3. 在vSphere更改默认图形类型 31

3.4. 禁用ECC内存 34

4. 创建符合使用NVIDIA vGPU的虚拟机 39

4.1. 前提条件 39

4.2. 按官方要求创建虚拟机 40

5. 在Ubuntu VM安装Nvidia驱动 55

5.1. 安装前的操作系统准备工作 55

5.2. 虚拟机添加显卡 58

5.3. 安装Nvidia vGPU显卡驱动 59

5.4. 配置客户端从许可服务器获取许可 64

6. 在suse VM安装Nvidia驱动 68

6.1. 虚拟机添加显卡 68

6.2. 安装Nvidia vGPU驱动 70

6.3. 配置客户端从许可服务器获取许可 74

7. 在Redhat VM安装Nvidia驱动和授权许可 76

7.1. 虚拟机添加显卡 76

7.2. 安装Nvidia vGPU驱动 79

7.3. 配置客户端从许可服务器获取许可 82

Nvidia许可服务器安装

许可证服务器的安装求

支持的Windows操作系统

许可证服务器支持的Windows操作系统如下所示:

需要注意的是Windows平台下只支持英文版操作系统

JAVA JRE环境要求

.NET Framework要求

本次许可证服务器选用英文版的Windows Server 2016操作系统,系统已经默认安装了.NET Framework 4.6版本,且本次准备安装Oracle Java SE JRE 1.8运行时环境。

安装并配置JAVA JRE环境

安装JAVA JRE

  1. 下载好对应的JAVA JRE版本并上传至许可证服务器,双击JAVA JRE安装程序
  1. 勾选选中“Change destination folder ”,点击“Install”
  1. 记住JAVA JRE的安装路径,点击“Next”
  1. JAVA JRE正在安装
  1. 成功安装JAVA JRE,点击“Close”完成安装

设置JAVA环境变量

  1. 在桌面选中我的电脑,并右键选择“属性”,进入属性界面,点击“Advance system setting”进入高级系统设置
  1. 点击“Environment Variables”进入环境变量配置界面
  1. 在系统变量下方选中path系统环境变量,点击“Edit”
  1. 可以看到Path系统变量已经由JAVA的Path变量,所以JAVA的Path变量不需要创建
  1. 由于安装完JAVA后没有自动配置JAVA_HOME变量,因此需要创建JAVA_HOME变量,在系统变量下方点击“New”创建系统变量
  1. 在 “Variable name”填入变量的名称,然后点击“Browse Directory”按钮选择JAVA_HOME变量的目录
  1. 确认填入的信息无误后,点击“OK”完成JAVA_HOME变量的创建
  1. 在系统变量下我们可以看到刚才创建的JAVA_HOME变量

安装和配置许可证服务器

安装许可证服务器软件

  1. 下载好对应版本的许可证服务器软件并上传至许可证服务器,解压安装包,点击setup软件安装包
  1. 安装程序在加载
  1. 点击“Next”进入下一步安装
  1. 在“License Agreement”菜单勾选“I accept the terms of the License Agreement”,并点击“Next”进入下一步
  1. 在“Apache License”菜单勾选“I accept the terms of the License Agreement”,并点击“Next”进入下一步
  1. 保持默认,点击“Next”进入下一步
  1. 许可服务器提供7070端口给客户端从许可服务器获取许可,保持默认,点击“Next”进入下一步
  1. 点击“Install”开始安装软件
  1. 软件正处于安装
  1. 软件安装完毕,点击“Done”完成安装

配置许可服务器

安装好许可证服务器后,需要在许可门户网站创建对应的许可服务器,然后把对应的许可文件导入到实际的许可服务器之后,客户端才能从实际的许可服务器获取到许可。

在安装许可服务器之前,先登录NVIDIA许可门户网站,用购买vGPU显卡的订单对应的邮箱先注册一个账号,注册好账号后,对应的许可会自动绑定到这个账号。

  1. 找一台能够联网的计算机,通过浏览器打开许可服务器后台管理控制台,在浏览器输入http://localhost:8080/licserver
  1. 点击左侧菜单栏的“Configuration”选项,在Properties选项下,记录好Server host ID的值,也就是许可服务器的MAC地址
  1. 登录到许可门户网站nvid.nvidia.com
  1. 点击“NVIDIA许可门户网站”
  1. 在“Entitlements”下可以看到绑定的许可证,点击左侧“DASHBOARD”菜单栏,并在右侧点击“CREATE LICENSE SERVER”以创建许可服务器
  1. 在 “Server Name”选项填入许可服务器的计算机名,“Description”填入此许可服务器的描述,然后在“MAC Address”下填入之前在许可服务器上获取到的MAC地址,在“Feature”项下拉选择对应的许可,然后点击“ADD”



  1. 确认填入信息无误后,点击“CREATE LICENSE SERVER”
  1. 可以在“License Server”下方看到创建好的许可服务器
  1. 点击创建好的许可服务器,然后点击下载按钮下载许可文件
  1. 把下载好后许可文件导入到许可证服务器,登录到后台管理,并点击“License Management”选项,在右侧点击“Browse”
  1. 选择之前从许可门户网站上下载下来的许可文件,点击“open”,并点击“upload”
  1. 许可文件导入成功
  1. 在“License Feature Usage”菜单栏可以看到许可的类型、版本、许可数量以及有效期,现在许可服务器已经能够正常对客户端提供许可服务了

软件版本兼容性

本次安装的NVIDIA软件版本为NVIDIA Software10.2,ESXi主机系统版本为6.7u3,经官网查询是兼容本次实施的ESXi主机系统版本的,参考下面官网截图:

支持的Linux客户端操作系统版本可参考官网,官网截图如下:

安装和配置NVIDIA Virtual GPU Manager

安装适用于vSphere的NVIDIA Virtual GPU Manager

  1. 首先把ESXi主机上正在运行的虚拟机迁移到群集的其他主机上,并把主机进入维护模式。
  2. 然后下载对应vSphere6.7的驱动安装包,安装包为vib文件,下载之后把安装包上传至ESXi主机的系统目录下,然后通过SSH登录ESXi主机系统,切换至安装所在的目录,使用esxcli software vib install –v /vmfs/volumes/DL580_local_141/NVIDIA-VMware-440.87-1OEM.670.0.0.8169922.x86_64.vib命令执行安装(路径必须是绝对路径),在安装结果下提示“Operation finished successfully.”则安装成功。
  1. 重新引导主机,并将ESXi主机退出维护模式,通过运行nvidia-smi命令,验证NVIDIA内核驱动程序可以成功与系统中的NVIDIA物理GPU通信。

在vCenter配置允许vGPU vMotion

  1. 使用vSphere Web Client登录到vCenter Server。在“主机和群集”视图中,选择 vCenter Server实例,单击配置选项卡,在“设置”部分中,选择“高级设置”,然后单击“编辑设置”。
  1. 在打开的“编辑高级vCenter Server设置”窗口中,输入vGPU搜索字段,当出现vgpu.hotmigrate.enabled设置时,设置“已启用”选项并单击“保存”。
  1. 在“高级设置”菜单,下拉找到“vgpu.hotmigrate.enabled”选项,可以看到已启用vGP热迁移功能

在vSphere更改默认图形类型

  1. 使用vSphere Web Client登录到vCenter Server,在导航树中,选择您的ESXi主机,然后单击“配置”选项卡,从菜单中选择“图形”,然后单击“主机图形”选项卡,在主机图形选项卡上,单击“编辑”。
  1. 在打开的“编辑主机图形设置”对话框中,选择“直接共享”模式和“将虚拟机分散在多个GPU中(最佳实践)”策略,然后点击“确定”
  1. 单击图形设备选项卡,以验证要在其上配置vGPU的每个物理GPU的配置类型。在“ 图形设备”选项卡上,选择物理GPU,然后单击“编辑”图标
  1. 在打开的“编辑图形设备设置”对话框中,选择“共享直接”,然后单击“确定”
  1. 重新启动ESXi主机,或停止并重新启动ESXi主机上的Xorg服务和 nv-hostengine。要停止并重新启动Xorg服务和nv-hostengine,请执行以下步骤:
  • 停止Xorg服务。

[root @ esxi:?] /etc/init.d/xorg stop

  • 停止nv-hostengine。

[root @ esxi:?] nv-hostengine -t

  • 等待1秒钟,以使nv-hostengine停止。启动nv-hostengine。

[root @ esxi:?] nv-hostengine -d

  • 启动Xorg服务。

[root @ esxi:?] /etc/init.d/xorg start

禁用ECC内存

  1. 使用nvidia-smi -q列出所有物理GPU或vGPU的状态,并检查记录为已启用的ECC。可以看到对应的GPU显卡的ECC模式均为Enabled。
  1. 使用nvidia-smi –e 0命令将每个启用了ECC的GPU的ECC状态更改为关闭。
  1. 重启机器,使用nvidia-smi -q列出所有物理GPU或vGPU的状态,可以看到对应的GPU显卡的ECC模式均为Disabled。


创建符合使用NVIDIA vGPU的虚拟机

前提条件

本次是使用于计算的C系列vComputeServer vGPU,由于C系列vComputeServer vGPU具有较大的BAR内存设置,因此使用这些vGPU在VMware ESXi上有一些限制,在创建使用vGPU的虚拟机之前,虚拟机需要满足特定条件才能使用C系列vGPU,具体可参考下面的官网截图:

对于使用C系列vGPU的Vsphere虚机的部份参数调整可参考NVIDIA官网所附的截图;

按官方要求创建虚拟机

  1. 选中对应群集或者主机,右键选择“新建虚拟机”
  1. 选择“创建新虚拟机”,点击“Next”
  1. 选择存放虚拟机的位置,然后点击“Next”
  1. 选择计算资源,然后点击“Next”
  1. 选择虚拟机存放的存储,然后点击“Next”
  1. 选择虚拟机的兼容性版本,然后点击“Next”
  1. 选择操作系统的类型和操作系统的版本
  1. 配置好相应的计算资源和存储资源后,在内存选项下,把“预留所有客户机内存(全部锁定)”都选上
  1. 导航至“虚拟机选项”,在“引导选项”下,把固件调整为“EFI”(默认为BIOS)
  1. 然后在高级选项下,找到“配置参数”选项,然后点击编辑配置
  1. 点击添加配置参数,把下列两个参数添加进去,添加完后点击“确定”

pciPassthru.use64bitMMIO =“TRUE”

pciPassthru.64bitMMIOSizeGB =“64”

  1. 点击“Next”
  1. 确认信息无误后,点击“FINISH”
  1. 回到虚拟机编辑菜单,再次确认有没修改成功

在Ubuntu VM安装Nvidia驱动

安装前的操作系统准备工作

  1. 虚拟机联网,使用在线源更新操作系统和安装工具

安装虚拟机系统更新:

安装SSH服务:

  1. 关闭系统自带的nouveau,覆盖nouveau.ko步骤如下(红色字体根据系统不同而不同):

mv /lib/modules/4.18.0-15-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko /lib/modules/4.18.0-15-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko.org

  1. 在/boot/grub/grub.cfg文件最后添加“rdblacklist=nouveau”
  1. 在/etc/modprobe.d/blacklist.conf文件添加“blacklist nouveau”

修改完需要重启虚拟机使设置生效

虚拟机添加显卡

  1. 添加“共享PCi设备”,虚机将自动识别到显卡“NVIDIA GRID vGPU”
  2. 在“GPU配置文件”选项选择对应的GPU显卡,注意我们使用的是计算类型的显卡,对应应为C类

“GPU配置文件”需要我们按照要求选择:

“grid_v100d_4c”:占用4G显存

“grid_v100d_8c”:占用8G显存

“grid_v100d_16c”:占用16G显存

安装Nvidia vGPU显卡驱动

  1. 在尝试运行驱动程序安装程序之前,请退出X服务器并终止所有OpenGL应用程序。在Ubuntu平台上使用 CTRL - ALT - F1 切换到控制台登录提示,登录并通过命令sudo service lightdm stop关闭显示管理器:
  1. 执行驱动安装程序(红色字体部分因驱动版本不同而变化):

./NVIDIA-Linux-x86_64-440.87-grid.run

  1. 下图选择“continue installation”
  1. 下图选择“ignore CC version check”
  1. 点击“OK”确认
  1. 安装程序在创建内核,等待一会
  1. 点击“OK”
  1. 下图选择“install and overwrite exist installation”
  1. 点击“OK”开始安装驱动程序,等待大概2-3分钟,驱动安装完成
  1. 通过运行nvidia-smi命令,验证NVIDIA内核驱动程序可以成功与系统中的NVIDIA GPU通信

配置客户端从许可服务器获取许可

  1. 驱动完成后会在/etc/nvid ia目录下生成一个gridd.conf.template的模版配置文件,复制配置文件:

cp /etc/nvidia/gridd.conf.template /etc/nvidia/gridd.conf

编辑配置gridd.conf文件:

vim /etc/nvidia/gridd.conf

  1. 添加License服务器的地址和通讯端口号(红色部分因License服务器IP不同而不同)

ServerAddress=1XX.XX.XXX.200

ServerPort=7070

  1. 修改参数,本次显卡用作AI计算(红色部分因显卡用途的改变而改变):

FeatureType=4

  1. 重新启动GRID服务,如下:

service nvidia-gridd restart

  1. 查看日志,已经从许可证服务器获取到License,如下:

grep gridd /var/log/syslog

  1. 查看主机MAC地址
  1. 根据虚拟机的MAC地址,在License服务器上看到了虚拟机获取到了License

至此驱动安装完成

在suse VM安装Nvidia驱动

虚拟机添加显卡

  1. 右键符合使用vGPU的条件的虚拟机,选择“编辑设置”
  1. 在“编辑设置”这里点击“添加设备”,并选择“共享PCI设备”
  1. 点击“新PCI设备”,在“GPU配置文件”选项选择对应的GPU显卡,注意我们使用的是AI计算类型的显卡,对应应为C类,例如grid_v100d-8c,看最后一列,数字8为显存大小,c表示显卡的类型

安装Nvidia vGPU驱动

  1. 在Nvidia官网下载好对应的驱动,然后上传至虚拟机系统的目录
  1. 使用SSH远程到虚拟机操作系统,使用chmod –R 777 NVIDIA-Linux-x86_64-440.87-grid.run命令对驱动文件赋权
  1. 使用命令./ NVIDIA-Linux-x86_64-440.87-grid.run执行驱动安装
  1. 点击“Continue installation”
  1. 安装程序在创建内核,等待一会
  1. 点击“Yes”安装NVIDIA兼容库文件
  1. 系统正在安装驱动程序
  1. 驱动安装完毕,点击“OK”完成安装
  1. 通过运行nvidia-smi命令,验证NVIDIA内核驱动程序可以成功与系统中的NVIDIA GPU通信

配置客户端从许可服务器获取许可

  1. 驱动完成后会在/etc/nvid ia目录下生成一个gridd.conf.template的模版配置文件,在目录下复制一份模版文件并命名为gridd.conf,使用命令chmod –R 777 gridd.conf对配置文件进行赋权,然后使用vi编辑配置文件
  1. 配置文件有3个地方需要修改,首先是“ServerAddress=”此处填入许可证服务器的IP;然后是“ServerPort=”选项,此处填入许可证服务器跟客户端通信的端口7070,不填的话则默认为7070;最后是“FeatureType”选项,由于我们的许可是vcomputerserver类型的,因此此处填入4
  1. 通过命令service nvidia-gridd restart重启服务,然后使用grep gridd /var/log/messages查看是否有成功从许可服务器获取许可
  1. 可以看到,客户端能够成功从许可服务器获取到许可

在Redhat VM安装Nvidia驱动和授权许可

由于驱动安装需要调用开发工具,因此建议在安装Redhat Linux Enterprise操作系统时在软件选项中选择图形模式并勾选KDE、兼容库和开发工具,方便后续的vGPU驱动安装。

虚拟机添加显卡

  1. 右键符合使用vGPU的条件的虚拟机,选择“编辑设置”
  1. 在“编辑设置”假面点击“添加设备”,并选择“共享PCI设备”
  1. 点击“新PCI设备”,在“GPU配置文件”选项选择对应的GPU显卡,注意我们使用的是AI计算类型的显卡,对应应为C类,例如grid_v100d-8c,看最后一列,数字8为显存大小,c表示显卡的类型

安装Nvidia vGPU驱动

  1. 在Nvidia官网下载好对应的驱动,然后上传至虚拟机系统的目录
  1. 使用SSH远程到虚拟机操作系统,使用chmod –R 777 NVIDIA-Linux-x86_64-440.87-grid.run命令对驱动文件赋权,并使用命令./ NVIDIA-Linux-x86_64-440.87-grid.run执行驱动安装
  1. 安装程序在创建内核,等待一会
  1. 点击“Yes”安装NVIDIA兼容库文件


  1. 点击“Install and overwrite existing files”
  1. 系统在执行驱动安装
  1. 驱动安装完毕,点击“OK”完成安装
  1. 通过运行nvidia-smi命令,验证NVIDIA内核驱动程序可以成功与系统中的NVIDIA GPU通信。

配置客户端从许可服务器获取许可

  1. 驱动完成后会在/etc/nvid ia目录下生成一个gridd.conf.template的模版配置文件,在目录下复制一份模版文件并命名为gridd.conf,使用命令chmod –R 777 gridd.conf对配置文件进行赋权,然后使用vi编辑配置文件
  1. 配置文件有3个地方需要修改,首先是“ServerAddress=”此处填入许可证服务器的IP;然后是“ServerPort=”选项,此处填入许可证服务器跟客户端通信的端口7070,不填的话则默认为7070;最后是“FeatureType”选项,由于我们的许可是vcomputerserver类型的,因此此处填入4



  1. 通过命令service nvidia-gridd restart重启服务,然后使用grep gridd /var/log/messages查看是否有成功从许可服务器获取许可,可以看到,客户端能够成功从许可服务器获取到许可

相关推荐

【预警通报】关于WebLogic存在远程代码执行高危漏洞的预警通报

近日,Oracle官方发布了2021年1月关键补丁更新公告CPU(CriticalPatchUpdate),共修复了包括CVE-2021-2109(WeblogicServer远程代码执行漏洞)...

医院信息系统突发应急演练记录(医院信息化应急演练)

信息系统突发事件应急预案演练记录演练内容信息系统突发事件应急预案演练参与人员信息科参与科室:全院各部门日期xxxx-xx-xx时间20:00至24:00地点信息科记录:xxx1、...

一文掌握怎么利用Shell+Python实现完美版的多数据源备份程序

简介:在当今数字化时代,无论是企业还是个人,数据的安全性和业务的连续性都是至关重要的。数据一旦丢失,可能会造成无法估量的损失。因此,如何有效地对分布在不同位置的数据进行备份,尤其是异地备份,成为了一个...

docker搭建系统环境(docker搭建centos)

Docker安装(CentOS7)1.卸载旧版Docker#检查已安装版本yumlistinstalled|grepdocker#卸载旧版本yumremove-ydocker.x...

基础篇:数据库 SQL 入门教程(sql数据库入门书籍推荐)

SQL介绍什么是SQLSQL指结构化查询语言,是用于访问和处理数据库的标准的计算机语言。它使我们有能力访问数据库,可与多种数据库程序协同工作,如MSAccess、DB2、Informix、M...

Java21杀手级新特性!3行代码性能翻倍

导语某券商系统用这招,交易延迟从12ms降到0.8ms!本文揭秘Oracle官方未公开的Record模式匹配+虚拟线程深度优化+向量API神操作,代码量直降70%!一、Record模式匹配(代码量↓8...

一文读懂JDK21的虚拟线程(java虚拟线程)

概述JDK21已于2023年9月19日发布,作为Oracle标准Java实现的一个LTS版本发布,发布了15想新特性,其中虚拟线程呼声较高。虚拟线程是JDK21中引入的一项重要特性,它是一种轻量级的...

效率!MacOS下超级好用的Linux虚拟工具:Lima

对于MacOS用户来说,搭建Linux虚拟环境一直是件让人头疼的事。无论是VirtualBox还是商业的VMware,都显得过于笨重且配置复杂。今天,我们要介绍一个轻巧方便的纯命令行Linux虚拟工具...

所谓SaaS(所谓三维目标一般都应包括)

2010年前后,一个科技媒体的主编写一些关于云计算的概念性问题,就可以作为头版头条了。那时候的云计算,更多的还停留在一些概念性的问题上。而基于云计算而生的SaaS更是“养在深闺人未识”,一度成为被IT...

ORA-00600 「25027」 「x」报错(报错0xc0000001)

问题现象:在用到LOB大对象的业务中,进行数据的插入,失败了,在报警文件中报错:ORA-00600:内部错误代码,参数:[25027],[10],[0],[],[],[],[],[...

安卓7源码编译(安卓源码编译环境lunch失败,uname命令找不到)

前面已经下载好源码了,接下来是下载手机对应的二进制驱动执行编译源码命令下载厂商驱动https://developers.google.com/android/drivers?hl=zh-cn搜索NGI...

编译安卓源码(编译安卓源码 电脑配置)

前面已经下载好源码了,接下来是下载手机对应的二进制驱动执行编译源码命令下载厂商驱动https://developers.google.com/android/drivers?hl=zh-cn搜索NGI...

360 Vulcan Team首战告捷 以17.5万美金强势领跑2019“天府杯“

2019年11月16日,由360集团、百度、腾讯、阿里巴巴、清华大学与中科院等多家企业和研究机构在成都联合主办了2019“天府杯”国际网络安全大赛暨2019天府国际网络安全高峰论坛。而开幕当日最激荡人...

Syslog 日志分析与异常检测技巧(syslog发送日志配置)

系统日志包含有助于分析网络设备整体运行状况的重要信息。然而,理解并从中提取有效数据往往颇具挑战。本文将详解从基础命令行工具到专业日志管理软件的全流程分析技巧,助你高效挖掘Syslog日志价值。Gr...

从Oracle演进看数据库技术的发展(从oracle演进看数据库技术的发展的过程)

数据库技术发展本质上是应用需求驱动与基础架构演进的双向奔赴,如何分析其技术发展的脉络和方向?考虑到oracle数据库仍然是这个领域的王者,以其为例,管中窥豹,对其从Oracle8i到23ai版本的核...

取消回复欢迎 发表评论: