Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление

Введение

Отказоустойчивая система ECCM реализуется по схеме резервирования Active-Active с использованием VIP (Virtual IP) адреса, что позволяет использовать единый адрес для доступа к каждому узлу системы и хранить на них актуальные данные. Для настройки отказоустойчивой схемы требуется выделить не менее трех серверов. В схеме резервирования также предусмотрено разделение ECCM на сервер с БД и сервер с ECCM, использующим эту базу — для таких случаев требуется выделить 5 серверов.

...

Блок кода
languagebash
titleMaster: eccm/2.1011/
cd root-ca-generator && ./generate-cluster-cert.sh

...

Блок кода
languagebash
titleMaster: eccm/2.1011/
./compose-tools.sh --install # установит docker, если он отсутствует в системе
./compose-tools.sh -s <MASTER_HOST> --cluster master

...

Блок кода
languagebash
titleSlave: eccm/2.1011/
./compose-tools.sh --install # установит docker, если он отсутствует в системе
./compose-tools.sh -s <SLAVE_HOST> --cluster slave

...

Блок кода
languagebash
titleWitness: eccm/2.1011/
./compose-tools.sh --install # установит docker, если он отсутствует в системе
./compose-tools.sh -s <WITNESS_HOST> --cluster witness

...

Раскрыть
titleЗапуск ЕССМ в отказоустойчивой системе при запуске БД на отдельных серверах

Запуск ECCM в отказоустойчивой системе при запуске БД на отдельных серверах

Для запуска ECCM в отказоустойчивой системе при запуске БД на отдельном сервере перейдите на сервер будущей Master-базы данных. Запустите Master-базу данных при помощи следующей команды:

Блок кода
languagebash
titleMaster-db: eccm/2.10/
./compose-tools.sh --install # установит docker, если он отсутствует в системе
./compose-tools.sh --pull -s <POSTGRES_MASTER_HOST> --database-only --cluster master
Подсказка

Перед запуском самих контейнеров скрипт проверяет наличие файла .env.personal и в случае его отсутствия предлагает создать его в дополнительном диалоговом окне. При стандартных паролях система также предложит изменить их: вручную или с помощью автоматической генерации. После изменения паролей проект продолжит запуск.

Во время запуска Master-базы данных подтвердите создание файла .env.personal и переменной ключа шифрования ENCRYPTION_SECRET_KEY. Описание файла и переменной приведено в разделе "Инструкция по установке и запуску".

Конфигурационный файл .env.personal с паролями должен быть одинаковым на всех нодах кластера. Для синхронизации файла конфигурации между серверами можно воспользоваться утилитой rsync. Для передачи файла .env.personal после успешного запуска Master-db используйте следующую команду:

Блок кода
languagebash
titleMaster-db
sudo rsync -av --delete --rsync-path="sudo rsync" <полный путь до директории eccm>/.env.personal <имя пользователя сервера>@<IP-адрес сервера назначения>:<полный путь до директории eccm>

После выполнения команды для каждого сервера назначения файл конфигурации будет соответствовать настроенному ранее.

После того как база данных на Master-db будет проинициализирована, перейдите на сервер Slave-db. Запустите Slave-базу данных:

Блок кода
languagebash
titleSlave-db: eccm/2.1011/
./compose-tools.sh --install # установит docker, если он отсутствует в системе
./compose-tools.sh --pull -s <POSTGRES_SLAVE_HOST> --database-only --cluster slave

После полной инициализации баз данных Master-db и Slave-db перейдите на сервер Master-ноды приложения ECCM. Запустите мастер с помощью bash-скрипта, указав необходимые параметры. Пример запуска:

Блок кода
languagebash
titleMaster-app: eccm/2.1011/
./compose-tools.sh --install # установит docker, если он отсутствует в системе
./compose-tools.sh --pull -s <ECCM_MASTER_HOST> --cluster master --database-host <POSTGRES_MASTER_HOST> --database-port <POSTGRES_MASTER_PORT> --backup-database-host <POSTGRES_SLAVE_HOST> --backup-database-port <POSTGRES_SLAVE_PORT>

Перейдите на сервер Slave-узла. Запустите Slave с помощью bash-скрипта, указав необходимые параметры. Пример запуска:

Блок кода
languagebash
titleSlave-app: eccm/2.1011/
./compose-tools.sh --install # установит docker, если он отсутствует в системе
./compose-tools.sh --pull -s <ECCM_SLAVE_HOST> --cluster slave --database-host <POSTGRES_MASTER_HOST> --database-port <POSTGRES_MASTER_PORT> --backup-database-host <POSTGRES_SLAVE_HOST> --backup-database-port <POSTGRES_SLAVE_PORT>

После полной инициализации кластера приложений перейдите на сервер Witness-узла. Запустите Witness с помощью bash-скрипта, указав необходимые параметры. Пример запуска:

Блок кода
languagebash
titleWitness: eccm/2.1011/
./compose-tools.sh --install # установит docker, если он отсутствует в системе
./compose-tools.sh --pull -s <ECCM_WITNESS_HOST> --cluster witness

После инициализации перейдите по ранее установленному VIP-адресу (имеет формат http://<VIP>/). Веб-интерфейс ECCM будет доступен.