Подготовка серверного оборудования
В разделе приведены действия, которые необходимо выполнить для подготовки серверного оборудования с установленной:
Подготовку серверного оборудования должен выполнять технический специалист, обладающий соответствующими знаниями и навыками.
Требования к техническому специалисту
Базовые знания ОС Linux |
Работа в консоли (SSH-доступ, выполнение команд) Понимание файловой структуры и навигации по ней Редактирование текстовых файлов с помощью vi и nano Использование распространенных сетевых утилит Знание базовых утилит для System Troubleshooting |
Базовые знания систем контейнеризации |
Установка, настройка, управление контейнерными приложениями в среде Linux |
Базовые знания сетевых технологий |
Основные сетевые понятия (IP-адресация, маска сети, шлюзы) |
Перед подготовкой и установкой IVA Terra необходимо проверить серверное оборудование на соответствие минимальным требованиям.
Подготовка сервера с ОС Ubuntu
Установить и настроить следующее программное обеспечение:
-
установить ОС Ubuntu
-
установить драйвер NVIDIA
-
установить Docker и NVIDIA Container Runtime
|
Для установки ПО можно использовать 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, необходимо выполнить действия:
|
Установка ОС Ubuntu
На сервере установить ОС Ubuntu версии 22.04 и старше:
-
установить ОС Ubuntu
В настройках BIOS обязательно должна быть включена функция проверки подписи драйверов В процессе установки ОС Ubuntu запрещено устанавливать Docker, иначе на сервере окажется несколько Docker, что приведет к ошибке обнаружения nvidia-container-runtime в опции --runtime=nvidia -
отключить автоматическое обновление пакетов в ОС Ubuntu командами:
sudo systemctl stop unattended-upgradessudo systemctl disable unattended-upgradessudo vi /etc/apt/apt.conf.d/20auto-upgrades -
установить нулевую периодичность обновления ОС Ubuntu командами:
APT::Periodic::Update-Package-Lists "0";APT::Periodic::Unattended-Upgrade "0"; -
проверить размер LVM-раздела командой:
df -h -
если размер LVM-раздела 200 ГБ (при установке ОС Ubuntu инсталлятор мог создать LVM-раздел размером 200 ГБ) вместо всего размера жесткого диска, то выполнить команды:
sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lvsudo resize2fs /dev/ubuntu-vg/ubuntu-lv
Установка драйвера NVIDIA
На сервере установить драйвера NVIDIA командами:
| Версия драйвера NVIDIA должна быть не ниже 525.ХХ |
-
если версия 525.ХХ драйвера NVIDIA доступна, то:
sudo ubuntu-drivers autoinstallsudo ubuntu-drivers install --gpgpu nvidia:525-serversudo 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 updatesudo apt-get autoremoveapt search nvidiasudo apt install libnvidia-common-5XXsudo apt install libnvidia-gl-5XXsudo apt install nvidia-driver-5XX
Установка Docker и NVIDIA Container Runtime
Установить Docker версии 24.ХХ или старше с NVIDIA Container Runtime:
-
установить Docker командами:
sudo apt install apt-transport-https ca-certificates curl software-properties-commoncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/docker-com.gpgsudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"sudo apt updateapt-cache policy docker-cesudo apt install docker-cedistribution=$(. /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.gpgcurl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.listcurl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/nvidia-container-toolkit-keyring.gpgcurl -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.listsudo apt-get updatesudo apt-get install -y nvidia-container-toolkit nvidia-cuda-toolkitsudo nvidia-ctk runtime configure --runtime=dockersudo nvidia-ctk runtime configure --runtime=containerdsudo systemctl restart dockersudo systemctl restart containerd -
проверить доступность графического процессора из Docker через NVIDIA Container Runtime командой:
sudo Docker --rm --runtime=nvidia --gpus all ubuntu nvidia-smi -
ожидаемый вывод утилиты nvidia-smi:
Подготовка сервера с ОС Astra Linux
Для настройки сервера c ОС Astra Linux необходимо выполнить следующие действия:
-
на целевом сервере установить ОС 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-genericLinux-6.1.141-1-generic
Linux-6.12.34-1-genericУровень защищенности
базовый
Разметка диска
любая
Компоненты операционной системы
выбраны компоненты:
-
консольные утилиты
-
средства удаленного подключения SSH
Дополнительные настройки
все отключены
Режим замкнутой программной среды (ЗПС)
отключен
Дополнительное ПО может конфликтовать с компонентами IVA Terra, поэтому возможность установки дополнительного ПО необходимо уточнять у технической поддержки компании IVA Technologies.
Ответ на такой запрос может занимать длительное времяВ IVA Terra не поддерживается механизм мандатного разграничения доступа -
-
настроить репозитории в ОС 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 -
-
установить SSH-сервер (если он не был установлен ранее) командой:
sudo apt install sshЧтобы обеспечить удаленный доступ к серверу по SSH необходимо настроить доступ по SSH-ключам (рекомендуется) или по SSH по паролю.
Для большей безопасности удаленный доступ в консоль по протоколу SSH рекомендуется совершать по авторизации по ключу.
Подробнее про настройку удаленного доступа см. в документе Руководство по установке IVA MCU
-
настроить статический 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
-
-
для запуска 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
-
-
