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

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

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

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

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

  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 выполните следующие действия:

  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. Узнайте текущую директорию базы данных.

    postgres=# SHOW data_directory;
    
            data_directory
    ------------------------------
     /var/lib/postgresql/10/main
    
  2. Остановите PostgreSQL.

    sudo systemctl stop postgresql
    
  3. Создайте новую директорию для базы данных и назначьте ее пользователю ntech.

    mkdir postgres_data_dir
    chown ntech postgres_data_dir
    
  4. Перенесите базу данных и создайте резервную копию прежней версии.

    sudo rsync -av /var/lib/postgresql /test/postgres_data_dir/
    sudo mv /var/lib/postgresql/10/main /backups/pg_backup
    
  5. Замените директорию в файле конфигурации PostgreSQL <директория PostgreSQL>/postgresql.conf.

    data_directory = '/test/postgres_data_dir/postgresql/10/main'
    
  6. Запустите PostgreSQL.

    sudo systemctl start postgresql
    
  7. Убедитесь, что директория успешна изменена.

    postgres=# SHOW data_directory;
    
            data_directory
    --------------------------------------------
    /test/postgres_data_dir/postgresql/10/main