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

Ключ

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

...

Необходимо открыть файл .env.cluster на Master-ноде при помощи любого текстового редактора и для минимальной настройки назначить следующие переменные:

  • ECCM_MASTER_HOST — содержит IP-адрес Master-ноды;
  • ECCM_SLAVE_HOST — содержит IP-адрес Slave-ноды;
  • ECCM_WITNESS_HOST — содержит IP-адрес Witness-ноды;
  • RABBITMQ_CLUSTER_PASSWORD — содержит пароль, используемый сервисом RabbitMQ для подключения к кластеру;
  • SENTINEL_PASSWORD — содержит пароль, используемый службой мониторинга для подключения к кластеру баз данных и получения информации о состоянии серверов.

...

Раскрыть
titleПодготовка конфигурационного файла для запуска ЕССМ при запуске БД на отдельных серверах

Подготовка конфигурационного файла для запуска ЕССМ при запуске БД на отдельных серверах

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

Для кластера приложений необходимо открыть файл Откройте файл .env.cluster на Master-ноде ECCM приложения при помощи любого текстового редактора и для минимальной настройки назначить следующие переменные:

  • ALLOWED_HOSTS — содержит разрешенные IP-адреса. Значение переменной должно соответствовать IP-адресам всех серверов, участвующих в работе отказоустойчивой системы;
  • ECCM_MASTER_HOST — содержит IP-адрес Master-ноды ECCM приложения;
  • ECCM_SLAVE_HOST — содержит IP-адрес Slave-ноды ECCM приложения;
  • ECCM_WITNESS_HOST — содержит IP-адрес Witness-ноды
  • из кластера баз данных;
  • SENTINEL_MASTER_NAME — содержит уникальное произвольное имя, присваиваемое кластеру баз данных для их мониторинга;
  • SENTINEL_PASSWORD — содержит пароль, используемый службой мониторинга для подключения к кластеру баз данных и получения информации о состоянии серверов.
Примечание

Содержимое файла должно находиться на узлах кластера приложений, в ином случае система не запустится в режиме резервирования.

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

  • ;
  • POSTGRES_MASTER_HOST 
  • ROLE — содержит роль БД в кластере. Допустимые значения переменной: master, slave;
  • ALLOWED_HOSTS — содержит разрешенные IP-адреса. Значение переменной должно соответствовать IP-адресам всем серверам, участвующим в работе отказоустойчивой системы;
  • MASTER_HOST
  • — содержит IP-адрес Master-
  • базы
  • ноды кластера баз данных;
  • POSTGRES_SLAVE_HOST — содержит IP-адрес Slave-
  • базы данных;WITNESS_HOST — содержит IP-адрес Witness-
  • ноды кластера баз данных;
  • SENTINEL
  • RABBITMQ_
  • MASTER
  • CLUSTER_
  • NAME
  • PASSWORD — содержит
  • уникальное произвольное имя, присваиваемое кластеру баз данных для их мониторинга
  • пароль, используемый сервисом RabbitMQ для подключения к кластеру;
  • SENTINEL_PASSWORD — содержит пароль, используемый службой мониторинга для подключения к кластеру баз данных и получения информации о состоянии серверов.
Примечание

Содержимое файла должно находиться на узлах кластера баз данных, в ином случае система не запустится в режиме резервированияЕсли не указать данные переменные, запуск кластера баз данных или кластера приложений завершится с ошибкой.

Синхронизация файлов конфигурации

...

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

...

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

Настройка SSL/TLS для связи узлов кластера

...

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

Состав директории директории cluster-cert/:

  • ca.crt — корневой CA-сертификат;
  • cluster.crt — сертификат кластера, подписанный CA;
  • cluster.key — приватный ключ кластера.

...

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

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

Примечание

Убедитесь, что значение переменной ROLE на Master-базе данных и Slave-базе данных различается и соответствует их роли.

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

Блок кода
languagebash
titleMaster-db: eccm/2.7/
./compose-tools.sh --install # установит docker, если он отсутствует в системе
cd postgres/
docker compose./compose-tools.sh --env-file=.envpull -s <POSTGRES_MASTER_HOST> --env-file=../.env.cluster -f docker-compose.cluster.yml up -ddatabase-only --cluster master

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

Блок кода
languagebash
titleSlave-db: eccm/2.7/
./compose-tools.sh --install # установит docker, если он отсутствует в системе
cd postgres/
docker compose./compose-tools.sh --env-file=.envpull -s <POSTGRES_SLAVE_HOST> --env-file=../.env.cluster -f docker-compose.cluster.yml up -ddatabase-only --cluster master

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

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

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

Блок кода
languagebash
titleMaster-app: eccm/2.7/
./compose-tools.sh --install # установит docker, если он отсутствует в системе
./compose-tools.sh --pull -s <MASTER<ECCM_ECCMMASTER_HOST> --cluster master --database-host <MASTER<POSTGRES_DBMASTER_HOST> --database-port <MASTER<POSTGRES_DBMASTER_PORT> --backup-database-host <SLAVE<POSTGRES_DBSLAVE_HOST> --backup-database-port <SLAVE<POSTGRES_DBSLAVE_PORT>

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

Блок кода
languagebash
titleSlave: eccm/2.7/
./compose-tools.sh --install # установит docker, если он отсутствует в системе
./compose-tools.sh --pull -s <SLAVE<ECCM_ECCMSLAVE_HOST> --cluster slave --database-host <MASTER<POSTGRES_DBMASTER_HOST> --database-port <MASTER<POSTGRES_DBMASTER_PORT> --backup-database-host <SLAVE<POSTGRES_DBSLAVE_HOST> --backup-database-port <SLAVE<POSTGRES_DBSLAVE_PORT>

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

...