.. _deploy-prepare-astralinux: Подготовка сервера Astra Linux ------------------------------------------- Для того чтобы подготовить сервер на Astra Linux для развертывания FindFace Multi, следуйте приведенным ниже инструкциям, соблюдая последовательность. Данная инструкция актуальна для версии Astra Linux Special Edition 1.8.1. .. note:: Полезные источники: * `Документация Astra Linux Special Edition `__ * `Драйверы NVIDIA `__ * `Docker Engine `__ * `Docker Compose `__ * `NVIDIA Container Toolkit `__ .. rubric:: В этом разделе: .. contents:: :local: .. important:: Для успешного функционирования системы после установки из инсталлятора IP-адрес сервера должен быть статическим. Если IP-адрес сервера статический, вам не нужно предпринимать дополнительных действий. В противном случае следуйте этой инструкции. Для того чтобы сделать IP-адрес статическим, откройте файл ``/etc/network/interfaces`` и измените текущую запись для основного сетевого интерфейса так, как показано в примере ниже. Не забудьте заменить адреса в примере на актуальные с учетом настроек сети. .. code:: sudo vi /etc/network/interfaces iface eth0 inet static address 192.168.112.144 netmask 255.255.255.0 gateway 192.168.112.254 dns-nameservers 192.168.112.254 Перезапустите сетевые интерфейсы. .. code:: sudo service networking restart Если для конфигурации сети используется утилита Netplan, внесите изменения в ``*.yaml`` файл, расположенный в директории ``/etc/netplan/``. .. code:: sudo vi /etc/netplan/*.yaml network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no addresses: [192.168.112.144/24] gateway4: 192.168.112.254 nameservers: addresses: [192.168.112.254] Примените настройки с помощью команды: .. code:: sudo netplan apply Редактируйте файлы конфигурации сети только если вы уверены в том, что делаете. GPU: Установка драйверов NVIDIA ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Первым шагом подготовки сервера является установка драйвера NVIDIA. Данный шаг актуален только для конфигурации GPU. Если ваша конфигурация использует CPU-ускорение, можно переходить к :ref:`установке Docker `. #. Добавьте репозитории Astra Linux в список репозиториев ``/etc/apt/sources.list``. .. code:: sudo vi /etc/apt/sources.list # Основной репозиторий, включающий актуальное оперативное или срочное обновление deb https://dl.astralinux.ru/astra/stable/1.8_x86-64/main-repository/ 1.8_x86-64 main contrib non-free non-free-firmware # Расширенный репозиторий, соответствующий актуальному оперативному обновлению deb https://dl.astralinux.ru/astra/stable/1.8_x86-64/extended-repository/ 1.8_x86-64 main contrib non-free non-free-firmware #. Обновите индекс пакетов. .. code:: sudo apt update #. Установите необходимые пакеты. Пакет ``build-essential`` является обязательным для установки. Вам также могут понадобиться утилиты администрирования ОС. Самостоятельно примите решение о необходимости их установки. .. code:: sudo apt install fuse ca-certificates curl gnupg linux-headers-$(uname -r) build-essential #. Получите список доступных драйверов NVIDIA в репозиториях. .. code:: sudo apt policy nvidia-driver* #. Установите актуальную версию драйвера. В данной инструкции мы устанавливаем версию драйвера ``580``. .. code:: sudo apt install nvidia-driver-580 #. Выполните перезагрузку. .. code:: sudo reboot .. _docker_astralinux: Установка продуктов Docker ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Продукты Docker должны быть установлены как на CPU-, так и на GPU-серверах. Выполните следующие действия: #. Добавьте на сервер официальный ключ GPG для Docker (ключ GNU Privacy Guard). .. code:: sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg #. Выполните настройку репозитория Docker. .. code:: echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian bullseye stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null #. Обновите индекс пакетов. .. code:: sudo apt update #. Установите последние версии продуктов Docker. .. code:: sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin .. note:: Последними версиями ``docker-ce`` и ``docker-ce-cli``, с которыми была протестирована данная инструкция, являются версии ``28.*``. Использование более поздних версий пакетов Docker, если таковые имеются, остается на ваше усмотрение. Чтобы установить ``28.*`` версии ``docker-ce`` и ``docker-ce-cli``, выполните следующую команду: .. code:: sudo apt-get install docker-ce=5:28* docker-ce-cli=5:28* containerd.io docker-buildx-plugin #. Проверьте успешность установки Docker. .. code:: sudo docker run hello-world Эта команда загружает тестовый образ и запускает его в контейнере. Когда контейнер запускается, он печатает подтверждающее сообщение и завершает работу. #. Установите ``docker-compose``. Предварительно загрузите скрипт `docker-compose-linux-x86_64 `__ и поместите его в любой каталог на сервере установки (например, ``/home/username``). .. code:: sudo cp /home/username/docker-compose-linux-x86_64 /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose #. Выполните процедуры после установки `Docker Engine `__, чтобы упростить свою будущую работу с контейнерами Docker и :ref:`FindFace Multi `. Как только вы сможете управлять Docker от имени пользователя, не являющегося root, вам больше не понадобится применять ``sudo`` в командах, связанных с Docker. .. code:: sudo groupadd docker sudo usermod -aG docker $USER newgrp docker #. Внесите изменения в конфигурационный файл сервиса Docker для настройки сети. .. code:: BIP=10.$((RANDOM % 256)).$((RANDOM % 256)) sudo tee /etc/docker/daemon.json <`__ все пакеты актуальной версии и перенесите архив с пакетами на сервер установки. Распакуйте архив, перейдите в каталог, где содержатся пакеты (например, ``/home/username/nvidia-deb-pkgs``), и установите их. Рекомендуется установить следующие пакеты в актуальных версиях: * ``libnvidia-container1_*_amd64.deb`` * ``libnvidia-container1-dbg_*_amd64.deb`` * ``libnvidia-container-dev_*_amd64.deb`` * ``libnvidia-container-tools_*_amd64.deb`` * ``nvidia-container-runtime_*_all.deb`` * ``nvidia-container-toolkit-base_*_amd64.deb`` * ``nvidia-container-toolkit_*_amd64.deb`` * ``nvidia-docker2_*_all.deb`` .. code:: cd /home/username/nvidia-deb-pkgs sudo dpkg -i *.deb .. note:: При ручной установке из ``.deb`` пакетов установщик может выдать ошибку о неразрешённых зависимостях. Для пакетов с зависимостями рекомендуется соблюдать последовательность установки. Например, следует установить ``nvidia-container-toolkit-base_*_amd64.deb`` перед ``nvidia-container-toolkit_*_amd64.deb``. #. Внесите изменения в конфигурационный файл сервиса Docker для настройки сети и использования среды NVIDIA Container Runtime, установленной вместе с NVIDIA Container Toolkit. .. code:: BIP=10.$((RANDOM % 256)).$((RANDOM % 256)) sudo tee /etc/docker/daemon.json <