Конфигурирование катастрофоустойчивости
Для обеспечения катастрофоустойчивости необходимо выполнить две установки продукта:
- базовую (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_replication | true / false (по умолчанию) | bool | Включение переменной запускает сервис replication в стеке arango |
| idle_mode | true / false (по умолчанию) | bool | Включение переменной запускает сервис replication в стеке arango |
| host_active_patroni | "" | str | IP-адрес или FQDN сервера для доступа к кластеру Patroni на master кластере |
| port_active_patroni | "" | str | Порт сервера для доступа к кластеру Patroni на master кластере |
| master_bucket | "" | str | Bucket 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 кластера.