Подготовка сервера Debian 11

Для того чтобы подготовить сервер на Debian 11 для развертывания FindFace Multi, следуйте приведенным ниже инструкциям, соблюдая последовательность.

Примечание

Для других платформ обратитесь к следующим ресурсам:

В этом разделе:

Важно

Для успешного функционирования системы после установки из инсталлятора IP-адрес сервера должен быть статическим. Если IP-адрес сервера статический, вам не нужно предпринимать дополнительных действий. В противном случае следуйте этой инструкции.

Для того чтобы сделать IP-адрес статическим, откройте файл /etc/network/interfaces и измените текущую запись для основного сетевого интерфейса так, как показано в примере ниже. Не забудьте заменить адреса в примере на актуальные с учетом настроек сети.

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

Перезапустите сетевые интерфейсы.

sudo service networking restart

Если для конфигурации сети используется утилита Netplan, внесите изменения в *.yaml файл, расположенный в директории /etc/netplan/.

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]

Примените настройки с помощью команды:

sudo netplan apply

Редактируйте файлы конфигурации сети только если вы уверены в том, что делаете.

Установка FUSE

Установите файловую систему в пользовательском окружении (FUSE) с помощью следующей команды.

sudo apt install fuse -y

GPU: Установка драйверов NVIDIA

Первым шагом подготовки сервера является установка драйвера NVIDIA. Данный шаг актуален только для конфигурации GPU. Если ваша конфигурация использует CPU-ускорение, можно переходить к установке Docker.

Для работы FindFace Multi с ускорением на GPU потребуется драйвер NVIDIA 535 или более поздней версии. Загрузите соответствующий установщик .run c сайта NVIDIA Driver Downloads.

Так как установка производится через установщик .run, необходимо установить следующие зависимости:

sudo apt install linux-headers-$(uname -r)
sudo apt install build-essential

Установка продуктов Docker

Продукты Docker должны быть установлены как на CPU-, так и на GPU-серверах. Выполните следующие действия:

  1. Обновите индекс пакетов apt и установите пакеты, чтобы разрешить apt использовать репозиторий через HTTPS.

    sudo apt-get update
    sudo apt-get install ca-certificates curl gnupg
    
  2. Добавьте на сервер официальный ключ GPG для Docker (ключ GNU Privacy Guard).

    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
    
  3. Настройте репозиторий Docker.

    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
    
  4. Повторно обновите индекс пакетов apt.

    sudo apt-get update
    
  5. Установите последние версии продуктов Docker.

    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin
    

    Примечание

    Последними протестированными версиями docker-ce и docker-ce-cli являются версии 26.*. Использование более поздних версий пакетов Docker, если таковые имеются, остается на ваше усмотрение.

  6. Проверьте успешность установки Docker.

    sudo docker run hello-world
    

    Эта команда загружает тестовый образ и запускает его в контейнере. Когда контейнер запускается, он печатает подтверждающее сообщение и завершает работу.

  7. Установите docker-compose.

    sudo curl -SL https://github.com/docker/compose/releases/download/v2.15.1/docker-compose-linux-x86_64 -o /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
    
  8. Выполните процедуры после установки Docker Engine, чтобы упростить свою будущую работу с контейнерами Docker и FindFace Multi. Как только вы будете в состоянии управлять Docker как пользователь без полномочий root, вам больше не понадобится применять sudo в командах, связанных с Docker.

    sudo groupadd docker
    sudo usermod -aG docker $USER
    newgrp docker
    
  9. Внесите изменения в конфигурационный файл сервиса Docker для настройки сети.

    BIP=10.$((RANDOM % 256)).$((RANDOM % 256)).1
    sudo tee /etc/docker/daemon.json <<EOF
    {
        "bip": "$BIP/24",
        "fixed-cidr": "$BIP/24"
    }
    EOF
    

GPU: Установка NVIDIA Container Runtime

Для развертывания контейнеризованного FindFace Multi с ускорением на GPU, потребуется установить NVIDIA Container Runtime. Мы рекомендуем установить NVIDIA Container Toolkit, который включает данную среду выполнения. Выполните следующие действия:

  1. Укажите репозиторий и установите из него NVIDIA Container Toolkit, выполнив следующие команды.

    curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/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=/usr/share/keyrings/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
    sudo nvidia-ctk runtime configure --runtime=docker
    sudo systemctl restart docker
    
  2. Внесите изменения в конфигурационный файл сервиса Docker для настройки сети и использования среды NVIDIA Container Runtime, установленной вместе с NVIDIA Container Toolkit.

    BIP=10.$((RANDOM % 256)).$((RANDOM % 256))
    sudo tee /etc/docker/daemon.json <<EOF
    {
       "default-address-pools":
            [
                    {"base":"$BIP.0/16","size":24}
            ],
        "bip": "$BIP.1/24",
        "fixed-cidr": "$BIP.0/24",
        "runtimes": {
             "nvidia": {
                 "path": "nvidia-container-runtime",
                 "runtimeArgs": []
             }
        },
        "default-runtime": "nvidia"
    }
    EOF
    
  3. Перезапустите Docker.

    systemctl restart docker
    

Теперь все готово для установки FindFace Multi. См. следующие разделы: