Перенос данных на другой диск
Высокая нагрузка на диск может приводить к задержкам при поступлении событий. В тяжелых случаях возможна полная неработоспособность FindFace Multi. Одним из способов снижения нагрузки на диск является перенос хранилищ данных FindFace Multi на другой диск.
В этом разделе:
Подготовка диска
Для того чтобы подготовить диск к миграции данных, выполните следующие действия:
Создайте новую точку монтирования (в примере
/mnt/ffdata
).sudo mkdir /mnt/ffdata
Создайте раздел.
sudo parted /dev/sdb mklabel gpt mkpart primary ext4 1MiB 100% q sudo mkfs.ext4 /dev/sdb1
Узнайте UUID раздела (для
sdb1
в примере).sudo blkid | grep sdb1 /dev/sdb1: LABEL="data" UUID="0638ebe0-853e-43ea-8f35-bfae305695d1" TYPE="ext4" PARTUUID="8cebaacc-77d7-4757-b4c6-14147e92646c"
Настройте автоматическое монтирование раздела при загрузке ОС, добавив запись в
fstab
.sudo vi /etc/fstab ------------ #DATA mount UUID=0638ebe0-853e-43ea-8f35-bfae305695d1 /mnt/ffdata/ ext4 auto,user,rw 0 2 -------------
Смонтируйте все файловые системы.
sudo mount -a
Миграция хранилища фотографий и видеофрагментов
Примечание
Рекомендуем ознакомиться с разделом Хранилища данных FindFace Multi перед началом миграции хранилищ.
Для миграции хранилищ фотографий и видеофрагментов FindFace Multi выполните следующие действия:
Внутри точки монтирования создайте каталоги (например,
/mnt/ffdata/ffupload
и/mnt/ffdata/findface-security
) для хранения фотографий и записанных видеофрагментов (если был развернут Видеомагнитофон). Затем переместите содержимое директорий/opt/findface-multi/data/findface-upload/uploads/
и/opt/findface-multi/data/findface-multi-legacy/uploads/
во вновь созданные каталоги.sudo mkdir /mnt/ffdata/ffupload sudo mkdir /mnt/ffdata/findface-security sudo cp -ax /opt/findface-multi/data/findface-upload/uploads/ -R /mnt/ffdata/ffupload/ sudo cp -ax /opt/findface-multi/data/findface-multi-legacy/uploads/ -R /mnt/ffdata/findface-security/ sudo rm -r /opt/findface-multi/data/findface-multi-legacy/uploads/ sudo rm -r /opt/findface-multi/data/findface-upload/uploads/
Смонтируйте созданные каталоги (
/mnt/ffdata/ffupload
и/mnt/ffdata/findface-security
в примере) в соответствующие контейнеры. Для этого откройте конфигурационный файл/opt/findface-multi/docker-compose.yaml
и перечислите созданные каталоги в указанных в примере томах (volumes) разделов вместо каталогов по умолчанию.sudo vi /opt/findface-multi/docker-compose.yaml findface-upload: ... volumes: ['./configs/findface-upload/40-ffupload.sh:/docker-entrypoint.d/40-ffupload.sh:ro', '/mnt/ffdata/ffupload:/var/lib/ffupload'] ... findface-multi-identity-provider: ... volumes: ['./configs/findface-multi-identity-provider/findface-multi-identity-provider.py:/etc/findface-security/config.py:ro', '/mnt/ffdata/findface-security/uploads:/var/lib/findface-security/uploads'] ... findface-multi-legacy: ... volumes: ['./configs/findface-multi-legacy/findface-multi-legacy.py:/etc/findface-security/config.py:ro', '/mnt/ffdata/findface-security/uploads:/var/lib/findface-security/uploads'] ... findface-multi-ui: ... volumes: ['./configs/findface-multi-ui/nginx-site.conf:/etc/nginx/conf.d/default.conf:ro', '/mnt/ffdata/findface-security/uploads:/var/lib/findface-security/uploads']
Выполните пересборку контейнеров FindFace Multi.
cd /opt/findface-multi sudo docker-compose down sudo docker-compose up -d
Миграция основной базы данных (PostgreSQL)
Для того чтобы мигрировать базу данных PostgreSQL, выполните следующие действия:
Остановите все контейнеры FindFace Multi:
cd /opt/findface-multi sudo docker-compose down
Переместите каталог
/opt/findface-multi/data/postgresql
в каталог/mnt/ffdata
.sudo mv /opt/findface-multi/data/postgresql /mnt/ffdata
Укажите новый путь каталога
postgresql
(/mnt/ffdata/postgresql
в примере) для монтирования в контейнерfindface-multi-postgresql-1
. Для этого в файле конфигурации/opt/findface-multi/docker-compose.yaml
укажите его в томах (volumes) секцииpostgresql
вместо каталога по умолчанию/opt/findface-multi/data/postgresql
.sudo vi /opt/findface-multi/docker-compose.yaml postgresql: ... volumes: ['./configs/postgresql/40-init.sql:/docker-entrypoint-initdb.d/40-init.sql:ro', '/mnt/ffdata/postgresql:/bitnami/postgresql']
Запустите все контейнеры FindFace Multi.
sudo docker-compose up -d