Перенос данных на другой диск

Высокая нагрузка на диск может приводить к задержкам при поступлении событий. В тяжелых случаях возможна полная неработоспособность FindFace Multi. Одним из способов снижения нагрузки на диск является перенос хранилищ данных FindFace Multi на другой диск.

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

Подготовка диска

Для того чтобы подготовить диск к миграции данных, выполните следующие действия:

  1. Создайте новую точку монтирования (в примере /mnt/ffdata).

    sudo mkdir /mnt/ffdata
    sudo chown ntech:ntech /mnt/ffdata
    
  2. Создайте раздел.

    sudo parted /dev/sdb
    mklabel gpt
    mkpart primary ext4 1MiB 100%
    q
    sudo mkfs.ext4 /dev/sdb1
    
  3. Узнайте UUID раздела (для sdb1 в примере).

    sudo blkid | grep sdb1
    /dev/sdb1: LABEL="data" UUID="0638ebe0-853e-43ea-8f35-bfae305695d1" TYPE="ext4" PARTUUID="8cebaacc-77d7-4757-b4c6-14147e92646c"
    
  4. Настройте автоматическое монтирование раздела при загрузке ОС, добавив запись в fstab.

    sudo vi /etc/fstab
    ------------
    #DATA mount
    UUID=0638ebe0-853e-43ea-8f35-bfae305695d1 /mnt/ffdata/    ext4    auto,user,rw     0       2
    -------------
    
  5. Смонтируйте все файловые системы.

    sudo mount -a
    

Миграция хранилища фотографий

Для миграции хранилища фотографий FindFace Multi выполните следующие действия:

  1. Остановите сервис findface-security, чтобы предотвратить потерю данных.

    sudo systemctl stop findface-security
    
  2. По умолчанию фотографии хранятся в директории /var/lib/. Выполните миграцию хранилища на новый диск.

    sudo cp -ax /var/lib/findface-security/ -R /mnt/ffdata/
    sudo rm -r /var/lib/findface-security/
    sudo cp -ax /var/lib/ffupload/ -R /mnt/ffdata/
    sudo rm -r /var/lib/ffupload/
    
  3. Создайте символические ссылки на новые директории.

    sudo ln -s /mnt/ffdata/findface-security/ /var/lib/
    sudo ln -s /mnt/ffdata/ffupload/ /var/lib/
    
  4. Убедитесь, что права назначены верно.

    sudo chown ntech:ntech /mnt/ffdata/findface-security/
    
  5. Запустите сервис findface-security.

    sudo systemctl start findface-security
    

Миграция основной базы данных (PostgreSQL)

Для того чтобы мигрировать базу данных PostgreSQL, выполните следующие действия:

  1. Остановите сервисы findface-security, pgbouncer и PostgreSQL.

    sudo systemctl stop findface-security.service pgbouncer.service postgresql.service postgresql@10-main.service
    
  2. Создайте директорию для базы данных на новом диске.

    sudo mkdir -p /mnt/ffdata/some_directory/db
    
  3. Перенесите базу данных в новую директорию.

    sudo mv /var/lib/postgresql /mnt/ffdata/some_directory/db
    
  4. Создайте символическую ссылку на новую директорию.

    sudo ln -s /mnt/ffdata/some_directory/db/postgresql /var/lib/postgresql
    
  5. Запустите сервисы PostgreSQL, pgbouncer и findface-security.

    sudo systemctl start postgresql.service postgresql@10-main.service pgbouncer.service
    
    sudo systemctl start findface-security.service