nvidia.nvidia_driver
ansible-role-nvidia-driver
一个 Ansible 角色,用于从 NVIDIA CUDA 仓库安装 NVIDIA 驱动程序。
要求
在安装 NVIDIA 驱动程序的过程中,这个角色会重启运行它的节点。
因此,我们强烈建议您从与安装驱动程序的 GPU 节点不同的节点运行 ansible-playbook
。
如果您尝试在安装驱动程序的同一节点上运行 Ansible,该角色将会:
- 拒绝继续并报告类似
Running reboot with local connection would reboot the control node
的错误(如果使用local
连接) - 重启您正在运行的节点,打断 playbook 执行!(如果使用
ssh
连接到本地主机)
安装
可以使用 Ansible Galaxy 安装此角色:
$ ansible-galaxy install nvidia.nvidia_driver
角色变量
变量 | 默认值 | 描述 |
---|---|---|
nvidia_driver_package_state |
"present" |
NVIDIA 驱动程序包的状态 |
nvidia_driver_package_version |
"" |
要安装的包版本。注意,这应与要安装的 deb 或 RPM 包的实际版本相匹配。 |
nvidia_driver_persistence_mode_on |
yes |
是否启用持久模式(布尔值) |
nvidia_driver_skip_reboot |
no |
在安装过程中是否跳过重启节点 |
nvidia_driver_module_file |
"/etc/modprobe.d/nvidia.conf" |
使用的 NVIDIA 驱动程序参数文件名 |
nvidia_driver_module_params |
"" |
传递给 NVIDIA 驱动程序的参数 |
nvidia_driver_branch |
"515" |
默认安装的驱动程序分支 |
Red Hat 特定变量
变量 | 默认值 | 描述 |
---|---|---|
epel_package |
"https://dl.fedoraproject.org/pub/epel/epel-release-latest-{{ ansible_distribution_major_version }}.noarch.rpm" |
安装以启用 EPEL 的软件包 |
nvidia_driver_rhel_cuda_repo_baseurl |
"https://developer.download.nvidia.com/compute/cuda/repos/{{ _rhel_repo_dir }}/" |
用于 CUDA 仓库的基础 URL |
nvidia_driver_rhel_cuda_repo_gpgkey |
"https://developer.download.nvidia.com/compute/cuda/repos/{{ _rhel_repo_dir }}/7fa2af80.pub" |
CUDA 仓库的 GPG 密钥 |
Ubuntu 特定变量
对于 Ubuntu 安装,您可以选择从 Canonical 仓库或 NVIDIA CUDA 仓库安装。
默认情况下,将使用 Canonical 仓库,安装的驱动程序将是无头服务器驱动程序。
变量 | 默认值 | 描述 |
---|---|---|
nvidia_driver_ubuntu_install_from_cuda_repo |
no |
是否使用 CUDA 仓库的标志 |
nvidia_driver_ubuntu_cuda_repo_baseurl |
"http://developer.download.nvidia.com/compute/cuda/repos/{{ _ubuntu_repo_dir }}" |
用于 CUDA 仓库的基础 URL |
nvidia_driver_ubuntu_cuda_package |
"cuda-drivers" |
从 CUDA 仓库安装的软件包名称 |
nvidia_driver_ubuntu_packages_suffix |
"-server" |
安装时添加到 apt 软件包的后缀 |
示例 playbook
- hosts: gpu_nodes
roles:
- nvidia.nvidia_driver
支持的发行版
目前,此角色支持以下 Linux 发行版:
- NVIDIA DGX OS 4
- NVIDIA DGX OS 5
- Ubuntu 18.04 LTS
- Ubuntu 20.04 LTS
- CentOS 7
- Red Hat Enterprise Linux 7
- CentOS 8
- Red Hat Enterprise Linux 8