RedHat真是我用过的最垃圾、最恶心的系统。
安装RedHat
下载的iso文件应该为*-dvd.iso格式,安装时选择最小化安装。
删除磁盘的所有分区,点击+创建新分区:
/boot1 GiB/boot/efi300 MiB/swap8 GiB,这里还要修改文件类型为swap/留空会自动分配剩余空间
安装Nvidia相关的内容
安装gcc等
配置本地安装源
首先,把之前下载的dvd.iso挂载到系统中,首先要把iso复制到/isos/rhel.iso,然后再挂载。
sudo mkdir -p /isossudo cp ~/Downloads/rhel.iso /isos/rhel.isosudo mkdir -p /mnt/rhel-isosudo mount -o loop /isos/rhel.iso /mnt/rhel-iso此时ISO内容被挂载到/mnt/rhel-iso。
然后配置本地仓库文件:
sudo tee /etc/yum.repos.d/local.repo <<EOF[local-baseos]name=Local RHEL 9.2 BaseOSbaseurl=file:///mnt/rhel-iso/BaseOSenabled=1gpgcheck=0
[local-appstream]name=Local RHEL 9.2 AppStreambaseurl=file:///mnt/rhel-iso/AppStreamenabled=1gpgcheck=0EOF安装gcc和相关工具
然后进行清理sudo dnf clean all,然后就可以进行安装了:
sudo dnf install -y gcc make kernel-devel-matched kernel-headers libglvnd-devel安装Nvidia驱动
下载Nvidia驱动
从Nvidia官网下载适合你显卡的驱动,注意选择正确的操作系统版本。下载的应该是.run文件。然后记得把下载的文件复制到/home下。
取消默认的驱动
创建文件/etc/modprobe.d/disable-nouveau.conf:
echo -e "blacklist nouveau\noptions nouveau modeset=0" | sudo tee /etc/modprobe.d/disable-nouveau.conf更新initramfs:
sudo dracut --force然后重启。
安装Nvidia驱动
使用Ctrl+Alt+F3登录命令行,然后sudo ./NVIDIA-Linux-x86_64-*.run安装驱动。重启后使用nvidia-smi检查驱动是否安装成功。
安装Docker
下载Docker安装包
从Docker官网下载最新版本的Docker,下载的应该是.tar.gz文件。然后记得把下载的文件复制到/home下。使用sudo dnf install *.rpm安装所有的依赖包。
然后:
sudo usermod $USER -aG docker # 添加本用户到docker的组中sudo service docker start安装Container Toolkit
参考网址:https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html
在有网的机器上配置Nvidia的仓库:
curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | \ sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo然后下载相应的安装包:
sudo dnf download --resolve nvidia-container-toolkit把下载好的包复制到无网的机器上,然后sudo dnf install *.rpm安装所有的依赖包。
配置Docker使用Nvidia运行时
sudo nvidia-ctk runtime configure --runtime=dockersudo systemctl restart docker在这里建议重启。
测试
安装完成后,可以使用以下命令测试Docker和Nvidia是否正常工作:
从有网的机器上使用docker save -o ./cuda-sample.tar nvcr.io/nvidia/k8s/cuda-sample:nbody命令下载cuda-sample镜像,然后把cuda-sample.tar复制到无网的机器上。
在无网的机器上使用以下命令加载镜像并测试:
docker load -i cuda-sample.tardocker run --rm --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark