Skip to main content

Конфигурирование катастрофоустойчивости

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

  • базовую (master-кластер);
  • резервную (slave-кластер).

Работа сервиса replication в режимах master и slave отличается:

  • в master-кластере сервис создает дамп базы данных ArangoDB и загружает его в сервис MinIO, bucket arangodump;
  • в slave-кластере сервис загружает дамп из bucket arangodump в базу и два docker-контейнера (SYNC) с MinIO-client. SYNC синхронизируют master-slave данные, копируют данные файлов в бакет arangodump и в master-slave.

Для включения режима катастрофоустойчивости с репликацией между кластерами master-replica следует настроить конфигурацию:

  • открыть с помощью текстового редактора файл group_vars/pgs_setup/main.yml;
  • добавить переменные, представленные в таблице.
Имя переменнойЗначениеТипОписание
disaster_replicationtrue / false (по умолчанию)boolВключение переменной запускает сервис replication в стеке arango
idle_modetrue / false (по умолчанию)boolВключение переменной запускает сервис replication в стеке arango
host_active_patroni""strIP-адрес или FQDN сервера для доступа к кластеру Patroni на master кластере
port_active_patroni""strПорт сервера для доступа к кластеру Patroni на master кластере
master_bucket""strBucket c файлами пользователей в master кластере. Следует использовать только буквы в нижнем регистре
master_minio_url""strСсылка для доступа к master MinIO
master_minio_access_key""strКлюч доступа к сервису master MinIO.
Значение в произвольном виде, минимальная длина — 8 символов
master_minio_secret_key""strКлюч доступа к сервису master MinIO.
Значение в произвольном виде, минимальная длина — 8 символов

Для master должны быть заданы следующие переменные:

disaster_replication: true

Для slave должны быть заданы следующие переменные:

disaster_replication: true
idle_mode: true
host_active_patroni: 192.168.0.100
port_active_patroni: 15000
master_bucket: myoffice-files
master_minio_access_key: <access_key>
master_minio_secret_key: <secret_key>
master_minio_url: http://192.168.0.60:9000

После настройки переменных следует выполнить чистую установку продукта на master-кластер, а затем на slave-кластер. При развертывании slave-кластера удаляются разделы диска, используемые сервисами patroni и etcd.

Внимание

По умолчанию доступ до Patroni в типовой установке закрыт. Для настройки работы катастрофоустойчивости следует пробросить порт в docker swarm и ограничить доступ к порту только от slave кластера.