共计 2035 个字符,预计需要花费 6 分钟才能阅读完成。
技术背景
在深度学习或 GPU 加速计算场景中,NVIDIA 驱动版本必须与 CUDA Toolkit 严格匹配。12.6 驱动对应 CUDA 11.x 系列,若版本错配会导致编译失败或性能异常。CentOS 7 默认使用 3.10 内核,需特别注意 kernel-devel 包版本的一致性。

前置检查
-
确认 GPU 型号:
lspci | grep -i nvidia预期输出示例:
01:00.0 VGA compatible controller: NVIDIA Corporation TU104 [GeForce RTX 2080] (rev a1) -
检查内核版本:
uname -r输出应类似
3.10.0-1160.el7.x86_64,需记录完整版本号用于后续安装 kernel-devel。
分步骤操作指南
1. 禁用 Nouveau 驱动
-
创建黑名单配置文件:
echo "blacklist nouveau" | sudo tee /etc/modprobe.d/blacklist-nouveau.conf echo "options nouveau modeset=0" | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf -
重建 initramfs:
sudo dracut --force -
重启后验证:
lsmod | grep nouveau若无输出则表示禁用成功。
2. 安装内核开发包
sudo yum install -y kernel-devel-$(uname -r) kernel-headers-$(uname -r)
若提示找不到包,需先启用 ELRepo 仓库:
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
sudo rpm -Uvh https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
sudo yum --enablerepo=elrepo-kernel install -y kernel-devel
3. 驱动安装关键步骤
-
下载官方驱动(需提前在 NVIDIA 官网获取 12.6 版本):
chmod +x NVIDIA-Linux-x86_64-390.87.run sudo ./NVIDIA-Linux-x86_64-390.87.run -
安装时建议选择:
1. 接受 License 2. 不安装 32 位兼容库(除非特殊需求)3. 启用 DKMS 自动编译模块 4. 不更新 Xorg 配置(后续手动处理)
验证环节
-
基础功能检查:
nvidia-smi正常应显示 GPU 温度、显存占用等信息。
-
图形界面验证:
nvidia-settings会弹出显卡控制面板。
避坑指南
1. 解决内核源码错误
若出现Unable to find kernel source,执行:
sudo ln -s /usr/src/kernels/$(uname -r) /usr/src/linux
2. 处理 Secure Boot 问题
在 BIOS 中禁用 Secure Boot,或手动签名驱动模块:
sudo mokutil --disable-validation
3. 多 GPU 初始化顺序
在 /etc/modprobe.d/nvidia.conf 中添加:
options nvidia NVreg_EnablePCIeGen3=1
完整安装脚本示例
#!/bin/bash
# 自动安装 NVIDIA 12.6 驱动脚本
set -e
# 检查 root 权限
if [[$EUID -ne 0]]; then
echo "请使用 root 用户执行此脚本"
exit 1
fi
# 禁用 Nouveau
echo "黑名单配置中..."
echo -e "blacklist nouveau\noptions nouveau modeset=0" > /etc/modprobe.d/blacklist-nouveau.conf
dracut --force
# 安装依赖
yum install -y kernel-devel-$(uname -r) kernel-headers-$(uname -r) gcc make
# 创建内核源码链接(防止找不到)ln -sf /usr/src/kernels/$(uname -r) /usr/src/linux
# 执行驱动安装
chmod +x NVIDIA-Linux-x86_64-390.87.run
./NVIDIA-Linux-x86_64-390.87.run --silent --dkms
# 验证安装
if ! nvidia-smi; then
echo "安装失败,请检查日志"
exit 1
fi
echo "驱动安装成功!"
延伸阅读
个人实践心得
在多个生产集群部署过程中,最常遇到的问题是内核头文件版本不匹配。建议在安装前先 yum update 升级所有包,避免兼容性问题。对于长期运行的服务器,推荐使用 DKMS 方案以便内核升级后自动重编译驱动模块。如果遇到 Xorg 崩溃,可尝试 nvidia-xconfig --prime 重新生成配置文件。
正文完
发表至: 未分类
近两天内
