...
Необходимо открыть файл .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-- ноды кластера баз данных;
SENTINELRABBITMQ_ MASTERCLUSTER_ NAMEPASSWORD — содержит уникальное произвольное имя, присваиваемое кластеру баз данных для их мониторинга- пароль, используемый сервисом RabbitMQ для подключения к кластеру;
SENTINEL_PASSWORD — содержит пароль, используемый службой мониторинга для подключения к кластеру баз данных и получения информации о состоянии серверов.
| Примечание |
|---|
Содержимое файла должно находиться на узлах кластера баз данных, в ином случае система не запустится в режиме резервированияЕсли не указать данные переменные, запуск кластера баз данных или кластера приложений завершится с ошибкой. |
|
Синхронизация файлов конфигурации
...
После выполнения команды для каждого сервера назначения файл конфигурации будет соответствовать настроенному ранее.
...
сервера назначения файл конфигурации будет соответствовать настроенному ранее.
Настройка SSL/TLS для связи узлов кластера
...
| Блок кода |
|---|
| language | bash |
|---|
| title | Master: 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-базу данных при помощи следующей команды: | Блок кода |
|---|
| language | bash |
|---|
| title | Master-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/ и запустите базу данных: | Блок кода |
|---|
| language | bash |
|---|
| title | Slave-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 с необходимыми параметрами. Пример запуска с обязательными параметрами: | Блок кода |
|---|
| language | bash |
|---|
| title | Witness: eccm/2.7/ |
|---|
| ./compose-tools.sh --install # установит docker, если он отсутствует в системе
./compose-tools.sh --pull -s <WITNESS<ECCM_WITNESS_HOST> --cluster witness |
После полной инициализации всего кластера баз данных перейдите на сервер Master-ECCM. При помощи bash-скрипта произведите запуск мастера с необходимыми параметрами. Пример запуска с обязательными параметрами: | Блок кода |
|---|
| language | bash |
|---|
| title | Master-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 с необходимыми параметрами. Пример запуска с обязательными параметрами: | Блок кода |
|---|
| language | bash |
|---|
| title | Slave: 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>/). Веб-интерфейс ЕССМ будет доступен. |
...