前言
在虚拟化环境中,虚拟机要使用vGPU,需要搭建显卡许可服务器License Server,虚拟机客户端通过连接许可服务器获得许可。当物理机上的显卡被拆分后,分配到虚拟机上,虚拟机需要安装相应的显卡驱动。本篇博文介绍在虚拟机Linux最小化界面中如何安装显卡驱动并获取许可。
环境
虚拟化平台:华三 CAS 7.0
虚拟机操作系统:CentOS 7.6
物理机显卡型号:NVIDIA Tesla T4
Linux虚拟机显卡驱动版本:440.118.02
一、下载驱动
建议在下载驱动之前联系服务器厂家,确认虚拟机显卡驱动的适配版本,如果驱动版本不适配,会造成各种麻烦,另外,虚拟机的显卡驱动下载方式和物理机的有所不同,需要在NVIDIA许可界面中推荐的驱动列表中下载,如下图,CAS虚拟化选择Linux KVM:
下载后,此软件包附带有驱动安装和注册许可指导书,如下:
将驱动包上传到Linux虚拟机中,开始安装配置:
二、禁用nouveau
Nouveau是linux默认的NVIDIA驱动,是Linux KMS驱动的一部份,这个驱动启动时,NVIDIA自己的驱动无法调用,所以需要禁用:
1、查看nouveau是否存在:
lsmod | grep nouveau
若无结果显示则表明成功禁用
2、如果有输出,则执行以下命令:
vim /usr/lib/modprobe.d/dist-blacklist.conf
进入编辑模式,在最后面添加如下2行:
blacklist nouveau
options nouveau modeset=0
保存退出。
3、重新生成kernel initramfs。
dracut --force
4、重启系统
reboot
此步必须执行,否则不生效。
5、重启之后查看是否禁用成功:
lsmod | grep nouveau
如果没有输出,就证明禁用成功。
三、安装NVIDIA驱动
sh NVIDIA-Linux-x86_64-440.118.02-grid.run
安装过程如下:
安装成功!
重启 reboot
重启后输入命令查看驱动是否安装成功:
nvidia-smi
显示结果如下,表明驱动安装成功,若无显示,表明驱动版本不对:
四、获取许可
1、修改配置文件gridd.conf
进入以下目录查看:
cd /etc/nvidia/
ls
复制配置文件模板:gridd.conf.example,命令如下:
cp gridd.conf.example gridd.conf
修改配置文件权限:
chmod 664 gridd.conf
修改配置文件:
vi /etc/nvidia/gridd.conf
修改如下图:
ServerAddress填上许可服务器的地址
ServerPort填上许可服务器的端口,一般默认为7070
FeatureType填上显卡的功能类型
修改后保存退出。
若没有配置文件模板gridd.conf.example,可参照以下模板直接创建gridd.conf文件:
# /etc/nvidia/gridd.conf.template – Configuration file for NVIDIA Grid Daemon
# This is a template for the configuration file for NVIDIA Grid Daemon.
# For details on the file format, please refer to the nvidia-gridd(1)
# man page.
# Description: Set License Server Address
# Data type: string
# Format: "<address>"
ServerAddress=
# Description: Set License Server port number
# Data type: integer
# Format: <port>, default is 7070
ServerPort=
# Description: Set Backup License Server Address
# Data type: string
# Format: "<address>"
BackupServerAddress= gridlicense2.example.com
# Description: Set Backup License Server port number
# Data type: integer
# Format: <port>, default is 7070
BackupServerPort=7070
# Description: Set Feature to be enabled
# Data type: integer
# Possible values:
# 0 => for unlicensed state
# 1 => for GRID vGPU
# 2 => for Quadro Virtual Datacenter Workstation
# 4 => for NVIDIA Virtual Compute Server
FeatureType=1
# Description: Parameter to enable or disable Grid Licensing tab in nvidia-settings
# Data type: boolean
# Possible values: TRUE or FALSE, default is FALSE
#EnableUI=TRUE
# Description: Set license borrow period in minutes
# Data type: integer
# Possible values: 10 to 10080 mins(7 days), default is 1440 mins(1 day)
#LicenseInterval=1440
# Description: Set license linger period in minutes
# Data type: integer
# Possible values: 0 to 10080 mins(7 days), default is 0 mins
#LingerInterval=10
2、重启服务并验证
重启服务:
systemctl restart nvidia-gridd
在日志中验证是否成功获取许可:
grep gridd /var/log/messages
显示如下信息表示获取许可成功:
[nvidia@localhost ~]$ sudo grep gridd /var/log/messages … Aug 5 17:12:15 localhost nvidia-gridd: Started (10430) Aug 5 17:12:34 localhost nvidia-gridd: License acquired successfully.