Подготовка серверного оборудования

Подготовку серверного оборудования должен выполнять технический специалист, обладающий соответствующими знаниями и навыками.

Требования к техническому специалисту

Базовые знания ОС Linux

Работа в консоли (SSH-доступ, выполнение команд)

Понимание файловой структуры и навигации по ней

Редактирование текстовых файлов с помощью vi и nano

Использование распространенных сетевых утилит

Знание базовых утилит для System Troubleshooting

Базовые знания систем контейнеризации

Установка, настройка, управление контейнерными приложениями в среде Linux

Базовые знания сетевых технологий

Основные сетевые понятия (IP-адресация, маска сети, шлюзы)

Перед подготовкой и установкой IVA Terra необходимо проверить серверное оборудование на соответствие минимальным требованиям.

Установить и настроить следующее программное обеспечение:

Для установки ПО можно использовать Live‑образ (например, terra-live_1.0.0+25.06.06.10.29.iso), в который входят все необходимые компоненты: ОС, драйвер Nvidia и Docker.

Live‑образ устанавливается классическим способом, при котором выполняется базовая настройка параметров сервера, удаленного SSH‑доступа к серверу и т. д., аналогично Live-инсталляции других продуктов IVA (см. подробнее в документе  Руководство по установке IVA MCU)

Установка ОС Ubuntu

На сервере установить ОС Ubuntu версии 22.04 и старше:

  1. установить ОС Ubuntu

    В настройках BIOS обязательно должна быть включена функция проверки подписи драйверов
    В процессе установки ОС Ubuntu запрещено устанавливать Docker, иначе на сервере окажется несколько Docker, что приведет к ошибке обнаружения nvidia-container-runtime в опции --runtime=nvidia
  2. отключить автоматическое обновление пакетов в ОС Ubuntu командами:

    sudo systemctl stop unattended-upgrades
    sudo systemctl disable unattended-upgrades
    sudo vi /etc/apt/apt.conf.d/20auto-upgrades
  3. установить нулевую периодичность обновления ОС Ubuntu командами:

    APT::Periodic::Update-Package-Lists "0";
    APT::Periodic::Unattended-Upgrade "0";
  4. проверить размер LVM-раздела командой:

    df -h
  5. если размер LVM-раздела 200 ГБ (при установке ОС Ubuntu инсталлятор мог создать LVM-раздел размером 200 ГБ) вместо всего размера жесткого диска, то выполнить команды:

    sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
    sudo resize2fs /dev/ubuntu-vg/ubuntu-lv

Установка драйвера Nvidia

На сервере установить драйвера Nvidia командами:

Версия драйвера Nvidia должна быть не ниже 525.ХХ
  • если версия 525.ХХ драйвера Nvidia доступна, то:

    sudo ubuntu-drivers autoinstall
    sudo ubuntu-drivers install --gpgpu nvidia:525-server
    sudo apt install nvidia-utils-525-server
  • если версия 525.ХХ драйвера Nvidia не доступна, то установить версию 5XX.XX:

    sudo apt-get purge nvidia-*
    sudo apt-get purge libnvidia-*
    sudo apt-get purge cuda-*
    sudo apt-get update
    sudo apt-get autoremove
    apt search nvidia
    sudo apt install libnvidia-common-5XX
    sudo apt install libnvidia-gl-5XX
    sudo apt install nvidia-driver-5XX

Установка Docker

Установить Docker версии 24.ХХ или старше с Nvidia:

  1. установить Docker командами:

    sudo apt install apt-transport-https ca-certificates curl software-properties-common
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/docker-com.gpg
    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
    sudo apt update
    apt-cache policy docker-ce
    sudo apt install docker-ce
    distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
    curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/nvidia-github-io-docker.gpg
    curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
    curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/nvidia-container-toolkit-keyring.gpg
    curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/etc/apt/trusted.gpg.d/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
    sudo apt-get update
    sudo apt-get install -y nvidia-container-toolkit nvidia-cuda-toolkit
    sudo nvidia-ctk runtime configure --runtime=docker
    sudo nvidia-ctk runtime configure --runtime=containerd
    sudo systemctl restart docker
    sudo systemctl restart containerd
  2. дать доступ любому пользователю на исполнение утилиты Docker без использования sudo (привилегии пропадают после перезагрузки системы или перезапуска сервиса Docker):

    sudo chmod 666 /var/run/docker.sock
  3. добавить пользователя в группу docker, чтобы без sudo исполнять команды утилитой Docker:

    sudo usermod -a -G docker terra_user
  4. проверить доступность графического процессора из Docker через Nvidia-runtime командой:

    sudo Docker --rm --runtime=nvidia --gpus all ubuntu nvidia-smi
  1. ожидаемый вывод утилиты nvidia-smi:

    Вывод утилиты nvidia-smi