Для обеспечения катастрофоустойчивости необходимо выполнить две установки продукта:
–базовую (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 следует настроить конфигурацию с помощью переменных, представленных в таблице
Имя переменной |
Значение |
Тип |
Описание |
|---|---|---|---|
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. |
master_minio_secret_key |
"" |
str |
Ключ доступа к сервису master MinIO. |
Для 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.