Nova AI. Инструкция по установке GPU драйверов
Для корректной работы Nvidia GPU Operator требуется установка пакетов с драйверами. Установить драйвера можно двумя способами:
1. Установка драйверов с помощью скрипта
Для установки всех драйверов и пакетов с помощью скрипта выполните следующие инструкции:
-
На сервере с GPU требуется выполнить:
touch ml_drivers.sh -
В созданный файл ml_drivers.sh добавьте следующий скрипт:
Скрипт для установки
#!/usr/bin/env bash set -Eeuo pipefail # run by root user # Vars ML_REPOSITORY_URL="https://s3.k2.cloud/downloads-nova-platform-io" NVIDIA_CONTAINER_TOOLKIT_VERSION=1.17.8-1 UNIVERSE_INSTALLATION=0 check_user_permissions() { if [[ $EUID -ne 0 ]]; then echo "Error: This script must be run as root" exit 1 fi } verify_drivers_installed(){ if command -v nvidia-smi >/dev/null 2>&1; then if nvidia-smi; then echo echo "GPU driver verification completed" else echo echo "nvidia-smi found, but GPU is not founded" fi else echo "nvidia-smi not found" fi } install_drivers() { if [[ -f /etc/astra_version ]]; then OS_TYPE="astralinux" OS_VERSION=$(grep VERSION_ID /etc/os-release | awk -F "=" '{ print $2}' | tr -d '"') if [[ "$OS_VERSION" == "1.7_x86-64" ]]; then echo "Detected OS: $OS_TYPE $OS_VERSION" find /etc/apt -type f -name '*.list' -exec sh -c 'for f; do mv -n -- "$f" "$f.back"; done' sh {} + find /etc/apt/sources.list.d/ -type f -name '*.sources' -exec sh -c 'for f; do mv -n -- "$f" "$f.back"; done' sh {} + echo "deb [trusted=yes] $ML_REPOSITORY_URL/deb/nova-ml/astra/1.7.6.uu2/ nova main" > /etc/apt/sources.list.d/nova-ml.list echo "deb [trusted=yes] $ML_REPOSITORY_URL/deb/nova-platform/astra/1.7.6/ nova main" > /etc/apt/sources.list.d/nova-platform.list apt-get update echo blacklist nouveau >> /etc/modprobe.d/blacklist.conf echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist.conf sed -i -e "s/^[[:space:]]*nouveau[[:space:]]\+modeset[[:space:]]*=[[:space:]]*1/#nouveau modeset=1/" /etc/initramfs-tools/modules update-initramfs -u -k all wget $ML_REPOSITORY_URL/nova-ml/ALSE17-NVidia-all-240923-1.7.6.tar.gz tar xf ALSE1?-NVidia-all-*.tar.gz -C /srv echo "deb file:/srv/ALSE17-NVidia-all-240923-1.7.6 1.7_x86-64 non-free" >> /etc/apt/sources.list apt update apt install -y nvidia-driver-555 apt-get install -y \ nvidia-container-toolkit=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \ nvidia-container-toolkit-base=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \ libnvidia-container-tools=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \ libnvidia-container1=${NVIDIA_CONTAINER_TOOLKIT_VERSION} reboot elif [[ "$OS_VERSION" == "1.8_x86-64" ]]; then echo "Detected OS: $OS_TYPE $OS_VERSION" find /etc/apt -type f -name '*.list' -exec sh -c 'for f; do mv -n -- "$f" "$f.back"; done' sh {} + find /etc/apt/sources.list.d/ -type f -name '*.sources' -exec sh -c 'for f; do mv -n -- "$f" "$f.back"; done' sh {} + echo "deb [trusted=yes] $ML_REPOSITORY_URL/deb/nova-ml/astra/1.8.1.uu1/ nova main" > /etc/apt/sources.list.d/nova-ml.list echo "deb [trusted=yes] $ML_REPOSITORY_URL/deb/nova-platform/astra/1.8.1/ nova main" > /etc/apt/sources.list.d/nova-platform.list apt-get update apt update apt install -y nvidia-driver-550 apt-get install -y \ nvidia-container-toolkit=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \ nvidia-container-toolkit-base=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \ libnvidia-container-tools=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \ libnvidia-container1=${NVIDIA_CONTAINER_TOOLKIT_VERSION} reboot else echo "Error: Unsupported version $OS_TYPE $OS_VERSION" exit 1 fi elif [[ -f /etc/redos-release ]]; then OS_TYPE="red" OS_VERSION=$(grep VERSION_ID /etc/os-release | awk -F "=" '{ print $2}' | tr -d '"') if [[ "$OS_VERSION" == "7.3.4" ]]; then echo "Detected OS: $OS_TYPE $OS_VERSION" find /etc/yum.repos.d/ -type f -name '*.repo' -exec sh -c 'for f; do mv -n -- "$f" "$f.back"; done' sh {} + tee /etc/yum.repos.d/nova-ml.repo > /dev/null <<EOF [nova-ml] name=nova-ml baseurl=$ML_REPOSITORY_URL/rpm/nova-ml/redos/7/ gpgcheck=False module_hotfixes=1 priority=1 EOF tee /etc/yum.repos.d/nova-platform.repo > /dev/null <<EOF [nova-platform] name=nova-platform baseurl=$ML_REPOSITORY_URL/rpm/nova-platform/redos/7/ gpgcheck=False module_hotfixes=1 priority=1 EOF dnf makecache dnf install -y nvidia-drivers-570.144 nvidia-settings-570.144 nvidia-kmod-570.144 nvidia-persistenced-570.144 nvidia-xconfig-570.144 nvidia-modprobe-570.144 xorg-x11-drv-nvidia-570.144 xorg-x11-drv-nvidia-cuda-libs-570.144 dnf install -y \ nvidia-container-toolkit-${NVIDIA_CONTAINER_TOOLKIT_VERSION} \ nvidia-container-toolkit-base-${NVIDIA_CONTAINER_TOOLKIT_VERSION} \ libnvidia-container-tools-${NVIDIA_CONTAINER_TOOLKIT_VERSION} \ libnvidia-container1-${NVIDIA_CONTAINER_TOOLKIT_VERSION} reboot elif [[ "$OS_VERSION" == "8.0" ]]; then echo "Detected OS: $OS_TYPE $OS_VERSION" find /etc/yum.repos.d/ -type f -name '*.repo' -exec sh -c 'for f; do mv -n -- "$f" "$f.back"; done' sh {} + tee /etc/yum.repos.d/nova-ml.repo > /dev/null <<EOF [nova-ml] name=nova-ml baseurl=$ML_REPOSITORY_URL/rpm/nova-ml/redos/8/ gpgcheck=False module_hotfixes=1 priority=1 EOF tee /etc/yum.repos.d/nova-platform.repo > /dev/null <<EOF [nova-platform] name=nova-platform baseurl=$ML_REPOSITORY_URL/rpm/nova-platform/redos/8/ gpgcheck=False module_hotfixes=1 priority=1 EOF dnf makecache sudo -E dnf install nvidia-settings-580.76.05 nvidia-kmod-580.76.05 nvidia-persistenced-580.76.05 nvidia-xconfig-580.76.05 nvidia-modprobe-580.76.05 xorg-x11-drv-nvidia-580.76.05 xorg-x11-drv-nvidia-cuda-libs-580.76.05 nvidia-drivers-580.76.05 dnf install -y \ nvidia-container-toolkit-${NVIDIA_CONTAINER_TOOLKIT_VERSION} \ nvidia-container-toolkit-base-${NVIDIA_CONTAINER_TOOLKIT_VERSION} \ libnvidia-container-tools-${NVIDIA_CONTAINER_TOOLKIT_VERSION} \ libnvidia-container1-${NVIDIA_CONTAINER_TOOLKIT_VERSION} reboot else echo "Error: Unsupported version $OS_TYPE $OS_VERSION" exit 1 fi elif [[ -f /etc/almalinux-release ]]; then OS_TYPE="almalinux" OS_VERSION=$(grep VERSION_ID /etc/os-release | awk -F "=" '{ print $2}' | tr -d '"') if [[ "$OS_VERSION" == "8.10" ]]; then echo "Detected OS: $OS_TYPE $OS_VERSION" find /etc/yum.repos.d/ -type f -name '*.repo' -exec sh -c 'for f; do mv -n -- "$f" "$f.back"; done' sh {} + tee /etc/yum.repos.d/nova-ml.repo > /dev/null <<EOF [nova-ml] name=nova-ml baseurl=$ML_REPOSITORY_URL/rpm/nova-ml/rhel/8/ gpgcheck=0 module_hotfixes=1 priority=1 EOF tee /etc/yum.repos.d/nova-platform.repo > /dev/null <<EOF [nova-platform] name=nova-platform baseurl=$ML_REPOSITORY_URL/rpm/nova-platform/rhel/8/ gpgcheck=False module_hotfixes=1 priority=1 EOF dnf makecache dnf install -y kmod-nvidia-580.82.07-4.18.0-553.75.1-580.82.07 libnvidia-cfg-580.82.07 libnvidia-fbc-580.82.07 libnvidia-gpucomp-580.82.07 libnvidia-ml-580.82.07 nvidia-driver-580.82.07 nvidia-driver-libs-580.82.07 nvidia-modprobe-580.82.07 nvidia-persistenced-580.82.07 nvidia-settings-580.82.07 nvidia-xconfig-580.82.07 nvidia-driver-cuda-580.82.07 nvidia-driver-cuda-libs-580.82.07 dnf install -y \ nvidia-container-toolkit-${NVIDIA_CONTAINER_TOOLKIT_VERSION} \ nvidia-container-toolkit-base-${NVIDIA_CONTAINER_TOOLKIT_VERSION} \ libnvidia-container-tools-${NVIDIA_CONTAINER_TOOLKIT_VERSION} \ libnvidia-container1-${NVIDIA_CONTAINER_TOOLKIT_VERSION} reboot else echo "Error: Unsupported version $OS_TYPE $OS_VERSION" exit 1 fi elif grep -q "Ubuntu" /etc/os-release; then OS_TYPE="ubuntu" OS_VERSION=$(grep VERSION_ID /etc/os-release | awk -F "=" '{ print $2}' | tr -d '"') if [[ "$OS_VERSION" == "24.04" ]]; then echo "Detected OS: $OS_TYPE $OS_VERSION" find /etc/apt -type f -name '*.list' -exec sh -c 'for f; do mv -n -- "$f" "$f.back"; done' sh {} + find /etc/apt/sources.list.d/ -type f -name '*.sources' -exec sh -c 'for f; do mv -n -- "$f" "$f.back"; done' sh {} + echo "deb [trusted=yes] $ML_REPOSITORY_URL/deb/nova-ml/ubuntu/24.04/ nova main" > /etc/apt/sources.list.d/nova-ml.list echo "deb [trusted=yes] $ML_REPOSITORY_URL/deb/nova-platform/ubuntu/24.04/ nova main" > /etc/apt/sources.list.d/nova.list apt update apt install -y nvidia-driver-570 apt install -y nvidia-container-toolkit reboot else echo "Error: Unsupported version $OS_TYPE $OS_VERSION" exit 1 fi else echo "Error: Unsupported operating system" exit 1 fi } prepare_for_setup(){ if [[ $UNIVERSE_INSTALLATION -ne 0 ]]; then echo "Nova is installed from Universe, enter the FQDN of the repository server - for example: https://repo.universe.mycompany.local" read ML_REPOSITORY_URL echo "Universe FQDN - $ML_REPOSITORY_URL" else echo "Nova is installed from public" fi } ask_for_repos(){ echo "Please prepare OS repository with drivers dependencies, enter y - if repositories if configured" echo "[y/N]" read REPOS_READY if [ "$REPOS_READY" != "y" ]; then exit 1 fi } usage() { cat <<EOF Использование: $0 опции Опции: --universe Включить при установке Nova через Universe -h, --help Показать возможные опции EOF } main(){ check_user_permissions ask_for_repos prepare_for_setup install_drivers verify_drivers_installed } # Parse options while [ $# -gt 0 ]; do case "$1" in -h|--help) usage; exit 0 ;; --universe) UNIVERSE_INSTALLATION=1 ;; esac shift done main -
Выполните команду:
chmod +x ml_drivers.sh -
В зависимости от типа установки выполните соответствующую команду.
Скрипт должен запускаться от пользователя с правами root.
-
Установка онлайн. Выполните запуск:
./ml_drivers.sh -
Установка с помощью Nova Universe (оффлайн). В данном случае для вызова исполнения скрипта потребуется ввести адрес вашего репозитория Nova Universe.
./ml_drivers.sh --universe
-
2. Ручная установка драйверов
Подготовка к установке
| Операционная система | Версия | Пререквизиты при онлайн установке | Пререквизиты при оффлайн установке (с помощью Nova Universe) |
|---|---|---|---|
Alma Linux |
8.10 |
Для подготовки последовательно выполните следующие команды:
|
Для подготовки последовательно выполните следующие команды:
|
РЕД ОС |
7.3.4 |
Для подготовки последовательно выполните следующие команды:
|
Для подготовки последовательно выполните следующие команды:
|
8.0 |
Для подготовки последовательно выполните следующие команды:
|
Для подготовки последовательно выполните следующие команды:
|
|
Astra Linux Special Edition |
1.7.6 |
Для подготовки последовательно выполните следующие команды:
|
Для подготовки последовательно выполните следующие команды:
|
1.8.1 |
Для подготовки последовательно выполните следующие команды:
|
Для подготовки последовательно выполните следующие команды:
|
|
Ubuntu |
24.04 |
Для подготовки последовательно выполните следующие команды:
|
Для подготовки последовательно выполните следующие команды:
|
Установка
Далее в таблице приведены команды по установке для поддерживаемых ОС.
| Операционная система | Версия | GPU драйверы | ||
|---|---|---|---|---|
Alma Linux |
8.10 |
Для установки последовательно выполните следующие команды:
Для проверки выполните следующую команду:
|
||
РЕД ОС |
7.3.4 |
Для установки последовательно выполните следующие команды:
Для проверки выполните следующую команду:
|
||
8.0 |
Для установки последовательно выполните следующие команды:
Для проверки выполните следующую команду:
|
|||
Astra Linux Special Edition |
1.7.6 |
Для установки последовательно выполните следующие команды:
Для проверки выполните следующую команду:
|
||
1.8.1 |
Для установки последовательно выполните следующие команды:
Для проверки выполните следующую команду:
|
|||
Ubuntu |
24.04 |
Для установки последовательно выполните следующие команды:
Для проверки выполните следующую команду:
|
Примеры вывода после проверки
ec2-user@worker-node-04:~$ nvidia-smi
Fri Oct 3 10:57:27 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 575.57.08 Driver Version: 575.57.08 CUDA Version: 12.9 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 Tesla T4 Off | 00000000:00:1E.0 Off | 0 |
| N/A 45C P8 18W / 70W | 0MiB / 15360MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| No running processes found |
+-----------------------------------------------------------------------------------------+