本章节介绍如何在运行Linux操作系统的GPU计算型实例上安装GRID驱动,并搭建桌面显示环境。
背景信息
如果您的GPU实例需要OpenGL图形支持,必须在实例上安装GRID驱动(ecs.vgn6i-m4-vws.xlarge和ecs.vgn6i-m8-vws.2xlarge除外)。GPU实例自带的NVIDIA GPU计算卡,例如P100、P4、V100等,因为NVIDIA GRID License而限制了GPU图形功能,您可以使用NVIDIA官方发布的GRID驱动满足使用OpenGL图形功能的需求。
说明 非NVIDIA合作伙伴不能从NVIDIA官网下载该驱动,本章节操作步骤中介绍了从阿里云获取GRID驱动安装包的方法。
本文介绍如何为GPU计算型实例安装GRID驱动,如果您需要为配备vGPU的GPU虚拟化型实例(vgn6i和vgn5i)安装GRID驱动,请参见在GPU虚拟化型实例中安装GRID驱动(Linux)。
在Ubuntu 16.04 64-bit中安装GRID驱动
- 远程连接Linux实例。
- 依次运行以下命令升级系统并安装KDE桌面。
apt-get update
apt-get upgrade
apt-get install kubuntu-desktop
- 运行
reboot
命令重启系统。
- 再次远程连接Linux实例,并运行以下命令下载NVIDIA GRID驱动包。
NVIDIA GRID驱动包中有多个系统的GRID驱动。Linux GRID驱动是
NVIDIA-Linux-x86_64-430.99-grid.run。
wget http://grid-9-4.oss-cn-hangzhou.aliyuncs.com/NVIDIA-Linux-x86_64-430.99-grid.run
- 依次运行以下命令,并按界面提示安装NVIDIA GRID驱动。
chmod 777 NVIDIA-Linux-x86_64-430.99-grid.run
./NVIDIA-Linux-x86_64-430.99-grid.run
- 运行命令
nvidia-smi
测试驱动安装结果。
如果返回以下类似结果,说明驱动已经成功安装。
- 按以下步骤添加License服务器并激活License。
- 切换到/etc/nvidia目录:
cd /etc/nvidia
。
- 创建gridd.conf文件:
cp gridd.conf.template gridd.conf
。
- 在gridd.conf文件中添加License服务器的信息。
ServerAddress=<License服务器的IP>
ServerPort=<License服务器的端口(默认为7070)>
FeatureType=2
EnableUI=TRUE
- 运行命令安装x11vnc。
- 运行命令
lspci | grep NVIDIA
查询GPU BusID。
本示例中,查询到的GPU BusID为00:07.0
。
- 配置X Server环境并重启。
- 运行命令
nvidia-xconfig --enable-all-gpus --separate-x-screens
。
- 编辑/etc/X11/xorg.conf,在
Section "Device"
段添加GPU BusID,如本示例中为BusID "PCI:0:7:0"
。
- 运行
reboot
命令重启系统。
在Ubuntu 16.04 64-bit中测试GRID驱动
- 运行命令安装GLX测试程序。
apt-get install mesa-utils
- 运行命令
startx
启动X Server。
- 如果没有
startx
命令,执行apt-get install xinit
命令安装。
startx
启动时可能会提示hostname: Name or service not known
。这个提示不会影响X Server启动。您可以运行命令hostname
查得主机名后,再修改/etc/hosts文件,将127.0.0.1
后的hostname
改为本机的hostname。
- 开启一个新的SSH客户端终端,运行命令启动x11vnc。
如果看到如下图所示的信息,表示x11vnc已经成功启动。此时,您能通过VNC Viewer等VNC远程连接软件连接实例。
- 登录ECS控制台,在实例所在安全组中添加安全组规则,允许TCP 5900端口的入方向访问。具体操作,请参见添加安全组规则。
- 在本地机器上,使用VNC Viewer等VNC远程连接软件,通过
实例公网IP地址:5900
连接实例,进入KDE桌面。
- 按以下步骤使用
glxinfo
命令查看当前GRID驱动支持的配置。
- 开启一个新的SSH客户端终端。
- 运行命令
export DISPLAY=:1
。
- 运行命令
glxinfo –t
列出当前GRID驱动支持的配置。
- 按以下步骤使用
glxgears
命令测试GRID驱动。
- 在KDE桌面上,右键单击桌面,并选择Run Command。
- 运行
glxgears
启动齿轮图形测试程序。
如果出现如下图所示的窗口,表明GRID驱动正常工作。
在CentOS 7.3 64-bit中安装GRID驱动
- 远程连接Linux实例。
- 依次运行以下命令升级系统并安装KDE桌面。
yum update
yum install kernel-devel
yum groupinstall "KDE Plasma Workspaces"
- 运行
reboot
重启系统。
- 再次远程连接Linux实例,并运行以下命令下载并解压NVIDIA GRID驱动包。
NVIDIA GRID驱动包中包含多个系统的GRID驱动,其中,Linux GRID驱动是NVIDIA-Linux-x86_64-430.99-grid.run。
wget http://grid-9-4.oss-cn-hangzhou.aliyuncs.com/NVIDIA-Linux-x86_64-430.99-grid.run
- 按以下步骤关闭nouveau驱动。
- 运行
vim /etc/modprobe.d/blacklist.conf
,添加blacklist nouveau
。
- 运行
vim /lib/modprobe.d/dist-blacklist.conf
,添加以下内容。
blacklist nouveau
options nouveau modeset=0
- 运行
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
。
- 运行
dracut /boot/initramfs-$(uname -r).img $(uname -r)
。
- 运行
reboot
重启系统。
- 依次运行以下命令,并按界面提示安装NVIDIA GRID驱动。
chmod 777 NVIDIA-Linux-x86_64-430.99-grid.run
./NVIDIA-Linux-x86_64-430.99-grid.run
- 运行命令
nvidia-smi
测试驱动是否安装成功。
如果返回以下类似结果,说明驱动已经成功安装。
- 按以下步骤添加License服务器并激活License。
- 切换到/etc/nvidia目录:
cd /etc/nvidia
。
- 创建gridd.conf文件:
cp gridd.conf.template gridd.conf
。
- 在gridd.conf文件中添加License服务器的信息。
ServerAddress=<License服务器的IP>
ServerPort=<License服务器的端口(默认为7070)>
FeatureType=2
EnableUI=TRUE
- 安装x11vnc。
- 运行命令
lspci | grep NVIDIA
查询GPU BusID。
本示例中,查询到的GPU BusID为
00:07.0
。
- 配置X Server环境。
- 运行命令
nvidia-xconfig --enable-all-gpus --separate-x-screens
。
- 编辑/etc/X11/xorg.conf,在
Section "Device"
段添加GPU BusID,如本示例中为BusID "PCI:0:7:0"
。
- 运行
reboot
重启系统。
在CentOS 7.3 64-bit中测试GRID驱动
- 运行命令
startx
启动X Server。
- 开启一个新的SSH客户端终端,运行命令启动x11vnc。
如果看到如下图所示的信息,表示x11vnc已经成功启动。此时,您能通过VNC Viewer等VNC远程连接软件连接实例。
- 登录ECS管理控制台,在实例所在安全组中添加安全组规则,允许TCP 5900端口的入方向访问。具体操作,请参见添加安全组规则。
- 在本地机器上,使用VNC Viewer等VNC远程连接软件,通过
实例公网IP地址:5900
连接实例,进入KDE桌面。
- 按以下步骤使用
glxinfo
命令查看当前GRID驱动支持的配置。
- 开启一个新的SSH客户端终端。
- 运行命令
export DISPLAY=:0
。
- 运行命令
glxinfo –t
列出当前GRID驱动支持的配置。
- 按以下步骤使用
glxgears
命令测试GRID驱动。
- 在KDE桌面上,右键单击桌面,并选择Run Command。
- 运行
glxgears
启动齿轮图形测试程序。
如果出现如下图所示的窗口,表明GRID驱动正常工作。