1. 环境准备与前置检查
实验室新到了一台搭载了多块GeForce RTX 3090显卡的服务器,准备用来跑大模型训练和推理。系统装的是CentOS 8.5,但默认的Nouveau驱动根本没法用,必须换上NVIDIA官方驱动和完整的CUDA环境。这事儿听起来简单,但实际动手时,版本兼容性、仓库配置、依赖冲突,每一步都可能是个坑。我花了几天时间,把从驱动安装到cuDNN配置的全过程趟了一遍,特别是解决了CUDA 11.5与高版本驱动冲突这个棘手问题。下面我就把这份实战经验分享给你,让你也能高效、稳定地部署好这套环境。
在动手之前,有几项准备工作必须做扎实。首先,确认你的系统版本。打开终端,输入 cat /etc/redhat-release,确保输出是“CentOS Linux release 8.5.xxxx”。然后,更新系统到最新状态,这能避免很多因软件包过旧导致的依赖问题。执行 sudo dnf update -y 和 sudo dnf install -y epel-release,启用EPEL仓库,它能提供很多额外的、有用的软件包。
接下来,检查你的显卡是否被系统识别。运行 lspci | grep -i nvidia,你应该能看到类似“NVIDIA Corporation GA102 [GeForce RTX 3090]”的输出。如果什么都没显示,那可能是硬件连接或主板BIOS设置有问题,得先解决。同时,确认你的服务器有稳定的网络连接,因为后续需要从NVIDIA官方仓库下载大量软件包。
最后,也是最重要的一步:禁用系统自带的Nouveau驱动。这是安装NVIDIA驱动前的强制操作,否则会冲突。创建一个配置文件:sudo vi /etc/modprobe.d/blacklist-nouveau.conf,在里面写入两行:
blacklist nouveau
options nouveau modeset=0
保存退出后,备份并重建初始内存盘镜像:
sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
sudo dracut -v /boot/initramfs-$(uname -r).img $(uname -r)
完成后,重启服务器。重启后,再次运行 lsmod | grep nouveau,如果没有任何输出,恭喜你,Nouveau驱动已被成功禁用。如果还有输出,请检查上述步骤,尤其是配置文件的位置和内容是否正确。
2. 配置NVIDIA官方仓库与安装驱动
搞定前置工作后,我们进入核心环节。我强烈推荐使用NVIDIA官方仓库来安装驱动和CUDA,而不是手动下载run文件。原因很简单:依赖管理自动化,版本兼容性有保障。手动安装run文件虽然直接,但经常遇到内核头文件不匹配、编译环境缺失等问题,尤其是在多GPU的服务器环境下,通过包管理器安装更稳定、更易于维护。
首先,我们需要将NVIDIA的CUDA仓库添加到系统的软件源中。CentOS 8使用dnf作为包管理器,添加仓库非常方便。执行以下命令:
sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
这个命令会从NVIDIA官网下载仓库配置文件并添加到你的系统中。为了确保下载速度,你也可以事先检查一下这个URL是否在你的网络环境下访问顺畅。添加成功后,可以运行 sudo dnf repolist 查看,列表中应该会出现名为“cuda-rhel8-x86_64”的仓库。
添加仓库后,建议先清理一下缓存并重建,确保能获取到最新的软件包列表:sudo dnf clean all && sudo dnf makecache。接下来,安装一些必要的开发工具和内核头文件,这对于驱动编译和DKMS(动态内核模块支持)至关重要:
sudo dnf install -y kernel-devel-$(uname -r) kernel-h


401

被折叠的 条评论
为什么被折叠?



