在虚拟化环境中,虚拟机要使用vGPU,需要搭建显卡许可服务器License Server,虚拟机客户端通过连接许可服务器获得许可。当物理机上的显卡被拆分后,分配到虚拟机上,虚拟机需要安装相应的显卡驱动。本篇博文介绍在虚拟机Linux最小化界面中如何安装显卡驱动并获取许可。
虚拟化平台:华三 CAS 7.0
虚拟机操作系统:CentOS 7.6
物理机显卡型号:NVIDIA Tesla T4
Linux虚拟机显卡驱动版本:440.118.02
建议在下载驱动之前联系服务器厂家,确认虚拟机显卡驱动的适配版本,如果驱动版本不适配,会造成各种麻烦,另外,虚拟机的显卡驱动下载方式和物理机的有所不同,需要在NVIDIA许可界面中推荐的驱动列表中下载,如下图,CAS虚拟化选择Linux KVM:
下载后,此软件包附带有驱动安装和注册许可指导书,如下:
将驱动包上传到Linux虚拟机中,开始安装配置:
Nouveau是linux默认的NVIDIA驱动,是Linux KMS驱动的一部份,这个驱动启动时,NVIDIA自己的驱动无法调用,所以需要禁用:
lsmod | grep nouveau
vim /usr/lib/modprobe.d/dist-blacklist.conf
- blacklist nouveau
- options nouveau modeset=0
dracut --force
reboot
lsmod | grep nouveau
sh NVIDIA-Linux-x86_64-440.118.02-grid.run
安装过程如下:
重启后输入命令查看驱动是否安装成功:
nvidia-smi
显示结果如下,表明驱动安装成功,若无显示,表明驱动版本不对:
进入以下目录查看:
- 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)
# Description: Set License Server Address
"# Description: Set License Server port number
# Description: Set Backup License Server Address
"BackupServerAddress= gridlicense2.example.com
# Description: Set Backup License Server port number
# Description: Set Feature to be enabled
# 2 => for Quadro Virtual Datacenter Workstation
# 4 => for NVIDIA Virtual Compute Server
# Description: Parameter to enable or disable Grid Licensing tab in nvidia-settings
# Possible values: TRUE or FALSE, default is FALSE
# Description: Set license borrow period in minutes
# Possible values: 10 to 10080 mins(7 days), default is 1440 mins(1 day)
# Description: Set license linger period in minutes
# Possible values: 0 to 10080 mins(7 days), default is 0 mins
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.