Подготовка сервера CentOS 7

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

Примечание

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

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

Установка обновлений

  1. Запустите обновление системы и перезагрузите сервер.

    sudo yum update
    sudo reboot
    
  2. Установите fuse с помощью следующей команды.

    sudo yum -y install fuse
    

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

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

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

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

sudo yum install kernel-devel gcc kernel-headers

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

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

  1. Установите пакет yum-utils (который предоставляет утилиту yum-config-manager) и настройте репозиторий.

    sudo yum install -y yum-utils
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    
  2. Установите 24.* версии продуктов Docker.

    sudo yum install docker-ce-3:24* docker-ce-cli-1:24* docker-ce-rootless-extras-24* containerd.io docker-buildx-plugin docker-compose-plugin
    
  3. Перезапустите Docker.

    sudo systemctl start docker
    sudo systemctl enable docker
    
  4. Проверьте успешность установки Docker. Следующая команда загружает тестовый образ и запускает его в контейнере. Когда контейнер запускается, он печатает подтверждающее сообщение и завершает работу.

    sudo docker run hello-world
    
    Unable to find image 'hello-world:latest' locally
    latest: Pulling from library/hello-world
    2db29710123e: Pull complete
    Digest: sha256:aa0cc8055b82dc2509bed2e19b275c8f463506616377219d9642221ab53cf9fe
    Status: Downloaded newer image for hello-world:latest
    
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    
    To generate this message, Docker took the following steps:
    1. The Docker client contacted the Docker daemon.
    2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
       (amd64)
    3. The Docker daemon created a new container from that image which runs the
       executable that produces the output you are currently reading.
    4. The Docker daemon streamed that output to the Docker client, which sent it
       to your terminal.
    
    To try something more ambitious, you can run an Ubuntu container with:
    $ docker run -it ubuntu bash
    
    Share images, automate workflows, and more with a free Docker ID:
    https://hub.docker.com/
    
    For more examples and ideas, visit:
    https://docs.docker.com/get-started/
    
  5. Установите 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
    
  6. Выполните процедуры после установки Docker Engine , чтобы упростить свою будущую работу с контейнерами Docker и FindFace Multi. Как только вы будете в состоянии управлять Docker как пользователь без полномочий root, вам больше не понадобится применять sudo в командах, связанных с Docker.

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

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

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

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

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

    distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
       && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.repo | sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
    sudo yum clean expire-cache
    sudo yum install -y nvidia-container-toolkit
    sudo nvidia-ctk runtime configure --runtime=docker
    sudo systemctl restart docker
    
  2. Внесите изменения в конфигурационный файл сервиса Docker для настройки сети, использования devicemapper и среды NVIDIA Container Runtime, установленной вместе с NVIDIA Container Toolkit.

    sudo su
    BIP=10.$((RANDOM % 256)).$((RANDOM % 256))
    cat > /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",
        "storage-driver": "devicemapper"
    }
    EOF
    
  3. Перезапустите Docker.

    systemctl restart docker
    

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