Резервное копирование и восстановление хранилищ данных
Этот раздел посвящен резервному копированию и восстановлению хранилищ данных FindFace Multi. Система использует следующие хранилища:
База данных векторов признаков на основе Tarantool, в которой хранятся векторы признаков и события идентификации объектов.
Основная база данных системы
ffsecurity
на PostgreSQL, в которой хранятся внутренние данные системы, досье, учетные записи пользователей и настройки камер.Каталог
/var/lib/findface-security/uploads
, в котором хранятся загруженные в досье фотографии, видеофайлы, а также такие артефакты событий, как полные кадры, миниатюры объектов и нормализованные изображения объектов.Каталог
/var/lib/ffupload/
, в котором хранятся только такие артефакты событий, как миниатюры объектов.
В этом разделе:
Резервное копирование и восстановление базы данных векторов признаков
В базе данных векторов признаков на основе Tarantool есть следующие галереи:
ffsec_body_events
: векторы признаков, извлеченные из обнаруженных на видео силуэтов.ffsec_body_objects
: векторы признаков, извлеченные из силуэтов в фотографиях досье.ffsec_car_events
: векторы признаков, извлеченные из обнаруженных на видео автомобилей.ffsec_car_objects
: векторы признаков, извлеченные из автомобилей в фотографиях досье.ffsec_face_events
: векторы признаков, извлеченные из обнаруженных на видео лиц.ffsec_face_objects
: векторы признаков, извлеченные из лиц в фотографиях досье.ffsec_user_face
: векторы признаков, извлеченные из фотографий пользователей FindFace Multi, используемые для аутентификации по лицу.ffsec_persons
: центроиды персон (виртуальные векторы признаков, усредненные по всем лицам персоны) и метаданные.
Функционал резервного копирования и восстановления базы данных позволяет при необходимости восстанавливать содержимое данных галерей.
Во избежание потери данных рекомендуется создавать резервную копию базы данных векторов признаков не реже одного раза в неделю. В целом частота резервного копирования зависит от количества досье и событий распознавания объектов, а также доступного дискового пространства.
Резервную копию базы данных также нужно обязательно создать перед миграцией системы на другую модель нейронной сети.
Утилиты
Для резервного копирования и восстановления базы данных векторов признаков FindFace Multi необходимы следующие утилиты:
резервное копирование:
findface-storage-api-dump
,восстановление:
findface-storage-api-restore
.
Данные утилиты автоматически устанавливаются вместе с компонентом findface-sf-api
.
Резервное копирование базы данных
Для резервного копирования базы данных векторов признаков используйте утилиту findface-storage-api-dump
следующим образом:
Важно
Сервисы findface-tarantool-server
и findface-sf-api
должны быть активны.
Примечание
Резервное копирование можно также применить к распределенной базе данных. В этом случае утилита findface-storage-api-dump
создаст резервные копии всех шардов, указанных в /etc/findface-sf-api.ini
.
На сервере с установленным
findface-sf-api
создайте каталог для хранения резервных копий (/etc/findface_dump
в примере ниже).Запустите утилиту
findface-storage-api-dump
следующей командой:sudo findface-storage-api-dump -output-dir=/etc/findface_dump -config /etc/findface-sf-api.ini
Утилита создаст резервные копии всех галерей и запишет их в указанный каталог в виде файлов с соответствующими именами (
ffsec_body_events.json
,ffsec_face_events
и т. д.) . Эти файлы содержат все данные, необходимые для полного восстановления галерей.
Восстановление базы данных
Для восстановления базы данных векторов признаков запустите утилиту findface-storage-api-restore
для всех файлов в директории с резервными копиями:
sudo findface-storage-api-restore -config /etc/findface-sf-api.ini /etc/findface_dump/*.json
Процесс восстановления можно при необходимости прервать с сохранением выполненной работы. Для того чтобы продолжить процесс после прерывания, снова запустите утилиту findface-storage-api-restore
.
Резервное копирование и восстановление основной базы данных
Для резервного копирования основной базы данных ffsecurity
на PostgreSQL выполните команду:
sudo -u postgres pg_dump ffsecurity > ffsecurity_postgres_backup.sql
Для того чтобы восстановить основную базу данных, выполните следующие действия:
Остановите сервис
findface-security
.sudo systemctl stop findface-security.service
Остановите сервис
pgbouncer
, чтобы удалить активные сессии с базой данныхffsecurity
.sudo systemctl stop pgbouncer.service
Откройте интерактивный терминал PostgreSQL.
sudo -u postgres psql
Удалите прежнюю базу данных
ffsecurity
.DROP DATABASE ffsecurity;
Создайте новую базу
ffsecurity
. Выйдите из интерактивного терминала PostgreSQL.CREATE DATABASE ffsecurity WITH OWNER ntech ENCODING 'UTF-8' LC_COLLATE='C.UTF-8' LC_CTYPE='C.UTF-8' TEMPLATE template0;
Запустите сервис
pgbouncer
.sudo systemctl start pgbouncer.service
Восстановите содержимое базы данных из резервной копии.
sudo -u postgres psql -d ffsecurity -f ffsecurity_postgres_backup.sql
Перенесите схему базы данных из FindFace Multi в PostgreSQL, заново создайте группы пользователей с предустановленными правами и первого пользователя с правами администратора.
sudo findface-security migrate sudo findface-security create_groups sudo findface-security create_default_user
Запустите сервис
findface-security
.sudo systemctl start findface-security.service
Резервное копирование и восстановление артефактов
Артефакты FindFace Multi, такие как загруженные фотографии, видеофайлы и артефакты событий (полные кадры, миниатюры объектов и нормализованные изображения объектов) хранятся в следующих каталогах:
/var/lib/findface-security/uploads
/var/lib/ffupload/
Для резервного копирования артефактов выполните команды:
sudo tar -cvzf /home/some_directory/var_lib_ffsecurity_uploads.tar.gz /var/lib/findface-security/uploads/
sudo tar -cvzf /home/some_directory/var_lib_ffupload.tar.gz /var/lib/ffupload/
Для того чтобы восстановить артефакты, перейдите в корневую директорию и выполните команды:
cd /
sudo tar -xvf /home/some_directory/var_lib_ffsecurity_uploads.tar.gz
sudo tar -xvf /home/some_directory/var_lib_ffupload.tar.gz