Резервное копирование и восстановление FindFace Multi и всех данных
Этот раздел посвящен резервному копированию и восстановлению хранилищ данных FindFace Multi и вашей системы в целом.
В этом разделе:
Резервное копирование и восстановление базы данных векторов признаков (Tarantool)
Резервное копирование и восстановление основной базы данных (PostgreSQL)
Резервное копирование и восстановление артефактов (
findface-upload
)Резервное копирование и восстановление базы данных Видеомагнитофона (MongoDB)
Список хранилищ
FindFace Multi использует следующие хранилища данных:
База данных векторов признаков на основе Tarantool, в которой хранятся векторы признаков и события.
Основная база данных системы на основе PostgreSQL, в которой хранятся внутренние данные системы, карточки, учетные записи пользователей и настройки камер.
Каталог
/var/lib/findface-security/uploads
, в котором хранятся загруженные в карточки фотографии, видеофайлы, полные кадры событий и счетчиков, а также миниатюры объектов.Каталог
/var/lib/ffupload/
, в котором хранятся такие артефакты событий, как нормализованные изображения объектов.Примечание
В данном каталоге также хранятся видеофрагменты, если в системе активирована функция Видеомагнитофон.
(Только вместе с Видеомагнитофоном) База данных на основе MongoDB, в которой хранится метаинформация о видеофрагментах, включая их точное местоположение в хранилище
/var/lib/ffupload/
.
Резервное копирование и восстановление базы данных векторов признаков (Tarantool)
В базе данных векторов признаков на основе Tarantool есть следующие галереи:
ffsec_body_events
: векторы признаков, извлеченные из обнаруженных на видео силуэтов.ffsec_body_objects
: векторы признаков, извлеченные из загруженных в картотеку изображений силуэтов.ffsec_body_clusters
: центроиды кластеров силуэтов.ffsec_car_events
: векторы признаков, извлеченные из обнаруженных на видео автомобилей.ffsec_car_objects
: векторы признаков, извлеченные из загруженных в картотеку изображений автомобилей.ffsec_car_clusters
: центроиды кластеров автомобилей.ffsec_face_events
: векторы признаков, извлеченные из обнаруженных на видео лиц.ffsec_face_objects
: векторы признаков, извлеченные из загруженных в картотеку изображений лиц.ffsec_face_clusters
: центроиды кластеров лиц.ffsec_user_face
: векторы признаков, извлеченные из фотографий пользователей FindFace Multi для аутентификации по лицу.
Функционал резервного копирования и восстановления базы данных позволяет при необходимости восстанавливать содержимое данных галерей.
Во избежание потери данных рекомендуется создавать резервную копию базы данных векторов признаков не реже одного раза в неделю. В целом частота резервного копирования зависит от количества карточек и событий распознавания объектов, а также доступного дискового пространства.
Резервную копию базы данных также нужно обязательно создать перед миграцией системы на другую модель нейронной сети.
Утилиты
Для резервного копирования и восстановления базы данных векторов признаков 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
.
Резервное копирование и восстановление основной базы данных (PostgreSQL)
Для резервного копирования основной базы данных 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-upload
)
Артефакты FindFace Multi, такие как загруженные фотографии, видеофайлы и артефакты событий (полные кадры, миниатюры объектов и нормализованные изображения объектов) хранятся в следующих каталогах:
/var/lib/findface-security/uploads
/var/lib/ffupload/
Примечание
Директория /var/lib/ffupload/
также хранит видеофрагменты, если в вашей системе есть работающий экземпляр Видеомагнитофона.
Примечание
Обе директории управляются компонентом findface-upload
.
Для резервного копирования артефактов выполните команды:
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
Резервное копирование и восстановление базы данных Видеомагнитофона (MongoDB)
MongoDB — это стороннее программное обеспечение, реализующее базу данных Видеомагнитофона. Эта база данных хранит метаинформацию о видеофрагментах, включая их точное местонахождение в хранилище /var/lib/ffupload/
.
Для резервного копирования MongoDB выполните команду:
sudo mongodump -o=/home/some_directory/mongodb_backup
Для восстановления MongoDB выполните команду:
sudo mongorestore /home/some_directory/mongodb_backup
Резервное копирование и восстановление настроек
Полный набор файлов конфигурации FindFace Multi, включая структурную схему Tarantool, автоматически резервируется при удалении экземпляра продукта. Резервная копия хранится в директории ~/ffmulti_bak_${datetime}/etc/
.
При переустановке FindFace Multi настройки должны быть восстановлены после завершения консольной установки или сразу после установки сервисов из APT-репозитория.
Полный набор резервных копий файлов следующий:
ls -R -p
.:
findface-counter.ini.bak findface-liveness-api.ini.bak findface-security/ findface-video-manager.conf.bak findface-video-streamer-cpu.ini.bak nginx/
findface-extraction-api.ini.bak findface-ntls.cfg.bak findface-sf-api.ini.bak findface-video-storage.conf.bak findface-video-worker-cpu(gpu).ini.bak
./findface-security:
config.py tnt_schema.lua
./nginx:
sites-enabled/
./nginx/sites-enabled:
ffsecurity-nginx.conf
Для того чтобы восстановить настройки FindFace Multi, выполните следующие действия:
Откройте файл конфигурации
/etc/findface-security/config.py
нового экземпляра FindFace Multi. Найдите параметрDATABASES
->default
->PASSWORD
, в котором хранится пароль пользователяntech
от базы данныхfindface-security
PostgreSQL. Скопируйте и вставьте его в резервную копию~/ffmulti_bak_${datetime}/etc/findface-security/config.py
.sudo vi /etc/findface-security/config.py DATABASES = { ‘default’: ‘PASSWORD’: ‘some_pass’
В директории
~/ffmulti_bak_${datetime}/etc/
удалите из файлов расширение.bak
любым доступным способом. Например, вы можете выполнить следующую команду.sudo rename 's/.ini.bak/.ini/' * && sudo rename 's/.conf.bak/.conf/' * && sudo rename 's/.cfg.bak/.cfg/' *
Совет
Если в вашей системе отсутствует команда
rename
, можно установить ее следующим образом:sudo apt install rename
Рекурсивно скопируйте файлы резервных копий в каталог
/etc
.sudo cp -r * /etc
Измените структуру базы данных с помощью исходного файла
tnt_schema.lua
.sudo findface-security make_tnt_schema | sudo tee /etc/findface-security/tnt_schema.lua
Перезапустите сервисы.
На CPU:
sudo systemctl restart findface-counter findface-liveness-api findface-video-manager findface-extraction-api findface-ntls findface-sf-api findface-video-worker-cpu findface-security
На GPU:
sudo systemctl restart findface-counter findface-liveness-api findface-video-manager findface-extraction-api findface-ntls findface-sf-api findface-video-worker-gpu findface-security
Сервисы Видеомагнитофона:
sudo systemctl restart findface-video-streamer-cpu findface-video-storage
Резервное копирование и восстановление системы целиком
Если вы намерены создать резервную копию FindFace Multi перед его удалением, будет достаточно следовать пошаговым инструкциям в разделе Удаление экземпляра продукта. Предоставленный скрипт ffmulti_uninstall.sh
может автоматически создать в директории ~/ffmulti_bak_${datetime}/
резервные копии файлов конфигурации FindFace Multi и всех хранилищ данных.
Для восстановления FindFace Multi после его удаления, используйте следующий алгоритм:
Восстановите настройки из резервных копий файлов конфигурации.
Восстановите MongoDB (если вы используете Видеомагнитофон).