Обновление FindFace Security до 4.x

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

Обновление c 1.x до 4.x

Для обновления FindFace Security с версии 1.x до 4.x выполните следующие действия:

  1. Остановите сервисы:

    sudo systemctl stop findface-extraction*
    sudo systemctl stop findface-security*
    sudo systemctl stop findface-videomanager*
    
  2. Установите новую версию в соответствии со своей схемой архитектуры, следуя инструкциям в разделе Развертывание FindFace Security.

  3. Выполните миграцию данных из PostgreSQL в Tarantool.

    Важно

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

    sudo findface-security tnt_migrate
    

    Примечание

    Для очистки PostgreSQL после завершения миграции, выполните команду с опцией --purge-sql. Это приведет к ПОТЕРИ всех старых данных.

    sudo findface-security tnt_migrate --purge-sql
    

    Примечание

    Безопасность данных не пострадает, если вы прервете процесс миграции и возобновите его позже.

Обновление c 2.x до 4.x

Для обновления FindFace Security с версии 2.x до 4.x выполните следующие действия:

  1. Откройте файл конфигурации findface-security. Сохраните для последующего использования значения следующих параметров: EXTERNAL_ADDRESS, SECRET_KEY, VIDEO_DETECTOR_TOKEN, ROUTER_URL.

    sudo vi /etc/ffsecurity/config.py
    
    EXTERNAL_ADDRESS = "http://172.20.77.58"
    
    ...
    # use pwgen -sncy 50 1|tr "'" "." to generate your own unique key
    SECRET_KEY = 'c8b533847bbf7142102de1349d33a1f6'
    
    FFSECURITY = {
       'VIDEO_DETECTOR_TOKEN': '381b0f4a20495227d04185ab02f5085f',
       ...
       'ROUTER_URL': 'http://172.20.77.58',
       ...
    }
    
  2. Остановите сервис findface-security.

    sudo systemctl stop findface-security*
    
  3. Создайте резервную копию биометрической базы данных на основе Tarantool в любой выбранной директории, например, /tmp/dump.

    mkdir -p /tmp/dump
    cd /tmp/dump
    sudo findface-storage-api-dump -config /etc/findface-sf-api.ini
    
  4. Установите apt-репозиторий с новой версией FindFace Security, используя консольный инсталлятор согласно инструкции в этом разделе.

  5. Установите сервисы из репозитория в соответствии с текущей архитектурной схемой.

    sudo apt update
    sudo apt install ffsecurity ffsecurity-ui findface-extraction-api findface-ntls findface-sf-api findface-tarantool-server findface-upload findface-video-manager findface-video-worker
    
  6. Откройте файл конфигурации findface-security и вставьте в него сохраненные значения параметров EXTERNAL_ADDRESS, SECRET_KEY, VIDEO_DETECTOR_TOKEN и ROUTER_URL.

    sudo vi /etc/ffsecurity/config.py
    
  7. Измените структуру базы данных Tarantool с помощью файла tnt_schema.lua из новой версии.

    sudo findface-security make_tnt_schema | sudo tee /etc/ffsecurity/tnt_schema.lua
    
  8. Удалите базу данных Tarantool (базу по умолчанию или шарды).

    sudo rm -f /opt/ntech/var/lib/tarantool/default/{index,snapshots,xlogs}/*
    
    sudo rm -f /opt/ntech/var/lib/tarantool/shard-001/{index,snapshots,xlogs}/*
    ...
    sudo rm -f /opt/ntech/var/lib/tarantool/shard-00N/{index,snapshots,xlogs}/*
    
  9. Restart the Tarantool database.

    systemctl restart tarantool*
    
  10. Восстановите базу данных Tarantool из резервной копии.

    cd /tmp/dump
    for x in *.json; do curl -X POST "http://127.0.0.1:18411/v2/galleries/${x%%.json}"; done
    for x in *.json; do sudo findface-storage-api-restore -config /etc/findface-sf-api.ini < "$x"; done
    
  11. Перенесите схему базы данных из FindFace Security в PostgreSQL, заново создайте группы пользователей с предустановленными правами и первого пользователя с правами администратора.

    sudo findface-security migrate
    sudo findface-security create_groups
    sudo findface-security create_default_user
    
  12. Перезапустите сервис findface-security.

    sudo systemctl restart findface-security.service