Резервное копирование и восстановление хранилищ данных
Этот раздел посвящен резервному копированию и восстановлению хранилищ данных ПК FindFace. Система использует следующие хранилища:
Биометрическая база данных на основе Tarantool, в которой хранятся биометрические образцы (векторы признаков) и события идентификации лиц.
Основная база данных системы
ffsecurity
на PostgreSQL, в которой хранятся внутренние данные системы, досье, учетные записи пользователей и настройки камер.Каталог
/var/lib/findface-security/uploads
, в котором хранятся загруженные в досье фотографии, видеофайлы, а также такие артефакты событий, как полные кадры, миниатюры лиц и нормализованные изображения лиц.Каталог
/var/lib/ffupload/
, в котором хранятся только такие артефакты событий, как миниатюры лиц.
В этом разделе:
Резервное копирование и восстановление биометрической базы данных
В биометрической базе данных на основе Tarantool есть 3 галереи:
ffsec_dossier_face
: биометрические образцы, извлеченные из фотографий в досье.ffsec_events
: биометрические образцы, извлеченные из лиц, обнаруженных на видео.ffsec_persons
: центроиды персон (виртуальные биометрические образцы, усредненные по всем лицам персоны) и метаданные.
Функционал резервного копирования и восстановления базы данных позволяет при необходимости восстанавливать содержимое данных галерей.
Для предотвращения потери данных создание резервной копии биометрической базы данных рекомендуется выполнять по крайней мере 1 раз в неделю. В целом частота резервного копирования зависит от количества досье и событий распознавания лиц, а также от доступного дискового пространства.
Резервную копию базы данных также нужно обязательно создать перед миграцией системы на другую биометрическую модель.
Утилиты
Для резервного копирования и восстановления биометрической базы данных ПК FindFace необходимы следующие утилиты:
резервное копирование:
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_dossier_face.json
,ffsec_events.json
иffsec_persons.json
. Эти файлы содержат все данные, необходимые для полного восстановления галерей.
Восстановление базы данных
Для восстановления биометрической базы данных запустите утилиту 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 в 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, такие как загруженные фотографии, видеофайлы и артефакты событий (полные кадры, миниатюры лиц и нормализованные изображения лиц) хранятся в следующих каталогах:
/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