1、GPU可以升级下内核3.10版本的小版本升级
```shell
yum install kernel
```
2、首先查看GPU显卡信息
```shell
lspci | grep -i nvidia
```
3、去官网下载GPU的驱动(p40 10.2cuda)
```shell
https://www.nvidia.cn/Download/index.aspx?lang=cn
```
4、检查系统是否存在nouveau驱动(若存在nouveau驱动则执行第三步,若nouveau驱动不存在则直接跳过第三步)
```shell
lsmod | grep nouveau
```
5、关闭nouveau驱动
```shell
# 驱动加入黑名单中:
# 在/etc/modprobe.d/blacklist.conf 在后面加入:blacklist nouveau (若文件不存在则新建文件,将内容写入文件内)
# 备份 the initramfs file :
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
# 重新建立 the initramfs file:
dracut -v /boot/initramfs-$(uname -r).img $(uname -r)
```
备注:第三步执行完之后,重启服务器,执行lsmod | grep nouveau 查看nouveau驱动是否存在,若不存在则执行下一小节。
6、安装工具包
安装显卡驱动前需要安装内核工具
```shell
# 内核工具 elrepo-kernel-el7-x86_64-RPMS安装包下载_开源镜像站-阿里云 需要下载对应的内核版本的工具包
yum install kernel-devel kernel-headers -y
yum install dkms -y
yum install libglvnd-devel.x86_64 -y
# 安装开发工具集 yum groupinstall "Development Tools" -y # 安装内核头文件 yum install "kernel-devel-uname-r == $(uname -r)" -y
# 安装gcc
yum install gcc-c++ -y
```
7、 查看kernels-source路径
```shell
ls /usr/src/kernels/
```
8、指定路径安装
```shell
sh NVIDIA-Linux-x86_64-440.118.02.run --kernel-source-path=/usr/src/kernels/3.10.0-1160.66.1.el7.x86_64
```
二、CUDA安装
7. 安装cuda
```shell
# 公网cuda10.2下载
wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/patches/1/cuda_10.2.1_linux.run
wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/patches/2/cuda_10.2.2_linux.run
# 内网可以用如下链接下载
# 下载脚本按序执行
sh cuda_10.2.89_440.33.01_linux.run
sh cuda_10.2.1_linux.run
sh cuda_10.2.2_linux.run
# 修改环境变量
vim ~/.bashrc
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.2/lib64
export PATH=$PATH:/usr/local/cuda-10.2/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.2
# 激活环境变量
source ~/.bashrc
# 查看安装版本
nvcc -V
```
三、Nvidia和Docker兼容程序安装
安装nvidia-docker2 前提,已经安装了docker 在一台联网的机器上执行下面命令.
```
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo
yum install --downloadonly nvidia-docker2 --downloaddir=/tmp/nvidia
```
会得到libnvidia-container、libnvidia-container-tools、nvidia-container-runtime、nvidia-container-toolkit、nvidia-docker2 上传到离线环境中,进入rpm包路径里执行
#对应docker1.20版本的nvidia-runtime-container资源包
wget https://digital.s3.cn-north-1.jdcloud-oss.com/online-data/deploy/nvidia-container-runtime.zip
```shell
rpm -Uvh *.rpm --nodeps --force
```
离线安装nvidia-container-runtime
docker19.03之后,不再需要安装nvidia-docker了。只安装NVIDIA-CONTAINER-RUNTIME就可以使用了,并且支持docker-compose。
参考链接:
https://blog.csdn.net/ace1231/article/details/119697280
```shell
systemctl daemon-reload
systemctl restart docker
```
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo
yum clean expire-cache
yum install -y nvidia-docker2
systemctl restart docker
/etc/docker/daemon.json中添加:
|
systemctl restart docker
执行:
kubectl create -f nvidia-device-plugin.yml
四、内核版本调整办法
如果centos7.6升级了4和4以上版本的内核,需要调整回3的版本,不然驱动安装会出现非常多的问题。
uname -r # 查看当前内核版本
cat /boot/grub2/grub.cfg |grep "menuentry " # 查看所有可用内核
grub2-set-default 'CentOS Linux (3.10.0-1160.81.1.el7.x86_64) 7 (Core)' #设置默认启动的内核
grub2-editenv list # 查看内核修改结果
注意修改默认内核后要reboot后才能生效。