IVA ДОКУМЕНТАЦИЯ ОБНОВЛЕНИЯ

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

В разделе приведены действия, которые необходимо выполнить для подготовки серверного оборудования с установленной:

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

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

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

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

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

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

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

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

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

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

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

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

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

Подготовка сервера с ОС Ubuntu

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

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

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

В случае, если межсетевой экран firewall блокирует сетевые подключения на всех портах, кроме 9001 и 9443, необходимо выполнить действия:

  • для временного отключения firewall (до перезагрузки хоста) выполнить команду:

    sudo iptables-config flush
  • для полного отключения firewall выполнить команду:

    sudo systemctl disable iptables-config

Установка ОС 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 и NVIDIA Container Runtime

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

  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 через NVIDIA Container Runtime командой:

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

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

Подготовка сервера с ОС Astra Linux

Для настройки сервера c ОС Astra Linux необходимо выполнить следующие действия:

  1. на целевом сервере установить ОС Astra Linux со следующими параметрами:

    Версия ОС Astra Linux SE 1.7 Astra Linux SE 1.8

    Ядро

    Linux-5.4.0-218-generic
    Linux-5.10.239-1-generic
    Linux-5.15.0-142-lowlatency
    Linux-5.15.0-142-generic
    Linux-6.1.141-1-generic

    Linux-6.1.141-1-generic
    Linux-6.12.34-1-generic

    Уровень защищенности

    базовый

    Разметка диска

    любая

    Компоненты операционной системы

    выбраны компоненты:

    • консольные утилиты

    • средства удаленного подключения SSH

    Дополнительные настройки

    все отключены

    Режим замкнутой программной среды (ЗПС)

    отключен

Дополнительное ПО может конфликтовать с компонентами IVA Terra, поэтому возможность установки дополнительного ПО необходимо уточнять у технической поддержки компании IVA Technologies.
Ответ на такой запрос может занимать длительное время
В IVA Terra не поддерживается механизм мандатного разграничения доступа
  1. настроить репозитории в ОС Astra Linux:

    Репозитории используемые в Astra Linux 1.7 — base и extended

    Репозитории используемые в Astra Linux 1.8 — main и extended

    • При наличии доступа к сети Интернет

    • При отсутствии доступа к сети Интернет

    Для настройки репозиториев необходимо руководствоваться рекомендациями для OC Astra Linux 1.7 и для ОС Astra Linux 1.8
    • открыть файл /etc/apt/sources.list, выполнив команду:

    sudo nano /etc/apt/sources.list
    • если ОС Astra Linux версии 1.7, то в открывшемся файле указать base- и extended-репозитории:

    deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-base/ 1.7_x86-64 main contrib non-free
    
    deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-extended/ 1.7_x86-64 main contrib non-free

    или

    deb https://dl.astralinux.ru/astra/frozen/1.7_x86-64/<astra_version>/repository-base/ 1.7_x86-64 main contrib non-free
    
    deb https://dl.astralinux.ru/astra/frozen/1.7_x86-64/<astra_version>/repository-extended/ 1.7_x86-64 main contrib non-free

    где <astra_version> — версия оперативного обновления ОС Astra Linux 1.7

    Для выбора интернет-репозитория необходимо следовать рекомендациям для Astra Linux 1.7
    • если ОС Astra Linux версии 1.8, то в открывшемся файле указать main- и extended-репозиторий:

    deb https://download.astralinux.ru/astra/stable/1.8_x86-64/repository-main/ 1.8_x86-64 main contrib non-free non-free-firmware
    
    deb https://download.astralinux.ru/astra/stable/1.8_x86-64/repository-extended/ 1.8_x86-64 main contrib non-free non-free-firmware

    или

    deb https://dl.astralinux.ru/astra/frozen/1.8_x86-64/<astra_version>/main-repository/ 1.8_x86-64 main contrib non-free non-free-firmware
    
    deb https://dl.astralinux.ru/astra/frozen/1.8_x86-64/<astra_version>/extended-repository/ 1.8_x86-64 main contrib non-free non-free-firmware

    где <astra_version> — версия оперативного обновления ОС Astra Linux 1.8

    Для выбора интернет-репозитория необходимо следовать рекомендациям для Astra Linux 1.8
    • для ОС Astra Linux версий 1.7 и 1.8 закомментировать репозиторий cdrom

    • сохранить изменения и закрыть файл /etc/apt/sources.list

    • обновить списки репозиториев, выполнив команду:

    sudo apt update
    • для обновления версии OC Astra Linux необходимо следовать рекомендациям, выданным при выпуске очередного оперативного обновления OC Astra Linux

    Если у сервера нет выхода в Интернет, то в качестве репозиториев можно использовать установочные диски Astra Linux или образы с требуемыми репозиториями. Установочные диски, образы с требуемыми репозиториями Astra Linux запрашиваются у Astra Linux.
    Способы подключения установочных дисков Astra Linux в качестве репозиториев представлены в официальной документации от Astra Linux
    В данном примере предполагается, что в качестве репозитория используется тот же установочный диск ОС Astra Linux, с помощью которого была установлена ОС Astra Linux.
    Для обновления версии OC Astra Linux необходимо следовать рекомендациям, выданным при выпуске очередного оперативного обновления OC Astra Linux
    • подключить установочные диски от Astra Linux как CD- / DVD-диски

    • создать точку монтирования для каждого устройства, выполнив команду:

    sudo mkdir <mount_dir>

    где <mount_dir> — путь до точки монтирования

    Необходимо создать собственную точку монтирования.
    В качестве точки монтирования не допускается указывать базовые / стандартные / системные каталоги такие как /etc, /mnt, /bin и т. д.
    • примонтировать каждое устройство, выполнив команду:

    sudo mount <имя_устройства> <mount_dir>
    • открыть файл /etc/apt/sources.list, выполнив команду:

    sudo nano /etc/apt/sources.list
    • в открывшемся файле добавить следующие репозитории:

    deb file:///<mount_dir> <код_дистрибутива> <список_компонентов>

    или

    deb file:/<mount_dir> <код_дистрибутива> <список_компонентов>

    где:
    <mount_dir> — путь до точки монтирования (указывается без первого /)
    <код_дистрибутива> — уточняется у Astra Linux
    <список_компонентов> — для Astra Linux 1.7 необходимо указать main contrib non-free, для Astra Linux 1.8 — main contrib non-free non-free-firmware

    • сохранить изменения и закрыть файл /etc/apt/sources.list

    • обновить списки репозиториев, выполнив команду:

    sudo apt update
  2. установить SSH-сервер (если он не был установлен ранее) командой:

    sudo apt install ssh

    Чтобы обеспечить удаленный доступ к серверу по SSH необходимо настроить доступ по SSH-ключам (рекомендуется) или по SSH по паролю.

    Для большей безопасности удаленный доступ в консоль по протоколу SSH рекомендуется совершать по авторизации по ключу.

    Подробнее про настройку удаленного доступа см. в документе  Руководство по установке IVA MCU

  3. настроить статический IP-адрес, выполнив следующие действия на установленных серверах:

    • открыть файл /etc/network/interfaces командой:

      sudo nano /etc/network/interfaces
    • в файле выполнить настройку статичного IP-адреса для интерфейса:

      auto lo <interface_name>
      
      iface lo inet loopback
      
      allow-hotplug <interface_name>
      iface <interface_name> inet static
      address <ip_address>
      netmask <net_mask>
      gateway <gateway>

      где:
      <interface_name> — название сетевого интерфейса (например eth0, ens33 и т. д.)
      <ip_address> — статичный IP-адрес сервера
      <net_mask> — маска сети
      <gateway> — IP-адрес шлюза

    • сохранить изменения и закрыть файл /etc/network/interfaces

    • отключить NetworkManager командой:

      sudo systemctl --now mask NetworkManager
    • перезапустить интерфейс командой:

      sudo ifdown <interface_name> && sudo ifup <interface_name>

      где <interface_name> — название сетевого интерфейса (например eth0, ens33 и т. д.)

    • после перезапуска проверить, что интерфейс успешно запущен, выполнив команду:

      ip a
    • пример вывода команды:

      1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
          inet 127.0.0.1/8 scope host lo
             valid_lft forever preferred_lft forever
          inet6 ::1/128 scope host noprefixroute
             valid_lft forever preferred_lft forever
      2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
          link/ether 00:0c:29:ac:00:95 brd ff:ff:ff:ff:ff:ff
          altname enp11s0
          inet 10.0.202.14/24 brd 10.0.202.255 scope global ens192
             valid_lft forever preferred_lft forever
          inet6 fe80::20c:29ff:feac:95/64 scope link
             valid_lft forever preferred_lft forever
      Подробную информацию о настройке сетевых подключений в ОС Astra Linux можно узнать в справочном центре Astra Linux
  4. для запуска Docker-контейнеров необходимо выполнить следующие действия:

    • отключить контроль разрешения исполнения кода в программном стеке:

      • открыть файл /etc/default/grub командой:

        sudo nano /etc/default/grub
      • в строку значений параметра GRUB_CMDLINE_LINUX_DEFAULT добавить параметр ядра parsec.execstack со значением 1. Пример записи:

        GRUB_CMDLINE_LINUX_DEFAULT="quiet splash parsec.execstack=1"
      • сохранить изменения и закрыть файл /etc/default/grub

      • обновить конфигурацию загрузчика командой:

        sudo update-grub
      • выполнить перезагрузку системы командой:

        sudo reboot
    • настроить среду выполнения NVIDIA в Docker, установив пакет nvidia-container-toolkit:

      • в конфигурационном файле /etc/os-release заменить название дистрибутива и версии ОС, выполнив команды:

        sudo sed -i 's|ID=astra|ID=debian|g' /etc/os-release
        
        sudo sed -i 's|VERSION_ID=1.7_x86-64|VERSION_ID="10"|g' /etc/os-release
      • импортировать ключ gpg, которым подписаны пакеты в репозитории NVIDIA, выполнив команду:

        curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey |\
        sudo gpg --dearmor --yes --output /etc/apt/trusted.gpg.d/nvidia-container-toolkit-keyring.gpg
      • создать файл со ссылкой на репозиторий NVIDIA, выполнив команду:

        curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list |\
        sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
      • обновить список доступных пакетов, выполнив команду:

        sudo apt update
      • установить пакет nvidia-container-toolkit, выполнив команду:

        sudo apt install nvidia-container-toolkit
      • привести конфигурационный файл /etc/os-release в исходное состояние, выполнив команды:

        sudo sed -i 's|ID=debian|ID=astra|g' /etc/os-release
        sudo sed -i 's|VERSION_ID="10"|VERSION_ID=1.7_x86-64|g' /etc/os-release
      • установить Docker и Docker-compose, выполнив команду:

        sudo apt install docker docker-compose-v2
      • настроить runtime, выполнив команды:

        sudo nvidia-ctk runtime configure -runtime=docker
        
        sudo systemctl restart docker