...
| Раскрыть |
|---|
| title | Схема отказоустойчивой системы при запуске БД на отдельном сервере |
|---|
|
Схема отказоустойчивой системы при запуске БД на отдельных серверах| draw.io Diagram |
|---|
| border | true |
|---|
| |
|---|
| diagramName | Диаграмма без названия-1772101019543 |
|---|
| simpleViewer | false |
|---|
| width | 600 |
|---|
| links | auto |
|---|
| tbstyle | top |
|---|
| diagramDisplayName | Схема отказоустойчивой системы ЕССМ с разделением БД и приложения |
|---|
| lbox | true |
|---|
| diagramWidth | 1221 |
|---|
| revision | 1 |
|---|
|
Схема отказоустойчивой системы с запуском базы данных на отдельных серверах представляет из себя совокупность двух кластеров: - Кластер приложений;
- Кластер баз данных.
Кластер баз данных включает в себя три сервера: - Master база данных PostgreSQL — база данных для всех операций;
- Slave база данных PostgreSQL — база данных для операций чтения и репликации с Master;
- Witness-нода — сервер для отслеживания состояния PostgreSQL и Redis с переключением мастерства Repmgr и Redis Sentinel по необходимости.
| Информация |
|---|
Сервис Redis находится в кластере приложений, поэтому доступ до Witness также должен быть обеспечен. |
Кластер приложений включается включает в себя запуск ЕССМ с использованием внешних баз данных. Для доступа к веб-интерфейсу необходимо использовать VIP, который находится на текущем мастере Keepalived. |
...
Подготовка конфигурационного файла для запуска ЕССМ в стандартной схеме отказоустойчивой системы
...
| Раскрыть |
|---|
| title | Использование корпоративного CA |
|---|
|
Использование корпоративного CAЕсли предусмотрен корпоративный CA, необходимо переместить все файлы безопасного соединения в директорию cluster-cert/ на Master-ноде, а именно: - ca.crt — корневой CA-сертификат;
- cluster.crt — сертификат кластера, подписанный CA;
- cluster.key — приватный ключ кластера.
| Информация |
|---|
При наличии файла Java Truststore также поместите его в директорию cluster-cert/. |
| Подсказка |
|---|
Для изменения получения сертификатов и ключа измените переменные файла .env.cluster. Назначение переменных описано в конфигурационном файле .env.cluster описано в в статье Инструкция по установке и запуску. |
|
...
После того как мастер будет инициализирован и готов к работе, перейдите на сервер Slave-узла. При помощи bash-скрипта произведите запуск Slave с необходимыми параметрами. Пример запуска с обязательными параметрами:
| Блок кода |
|---|
| language | bash |
|---|
| title | Slave: eccm/2.8/ |
|---|
|
./compose-tools.sh --install # установит docker, если он отсутствует в системе
./compose-tools.sh -s <SLAVE_HOST> --cluster slave |
Параллельно с запуском Slave-узла произведите запуск Witness-узла. Подключитесь к Witness-ноде. При помощи bash-скрипта произведите запуск Witness с необходимыми параметрами. Пример запуска с обязательными параметрами:
| Блок кода |
|---|
| language | bash |
|---|
| title | Witness: eccm/2.8/ |
|---|
|
./compose-tools.sh --install # установит docker, если он отсутствует в системе
./compose-tools.sh -s <WITNESS_HOST> --cluster witness |
...
| Раскрыть |
|---|
| title | Запуск ЕССМ в отказоустойчивой системе при запуске БД на отдельных серверах |
|---|
|
Запуск ЕССМ в отказоустойчивой системе при запуске БД на отдельных серверахДля запуска ЕССМ в отказоустойчивой системе при запуске БД на отдельном сервере перейдите на сервер будущей Master-базы данных. Запустите Master-базу данных при помощи следующей команды: | Блок кода |
|---|
| language | bash |
|---|
| title | Master-db: eccm/2.8/ |
|---|
| ./compose-tools.sh --install # установит docker, если он отсутствует в системе
./compose-tools.sh --pull -s <POSTGRES_MASTER_HOST> --database-only --cluster master |
После того как база данных на Master-db будет проинициализирована, перейдите на сервер Slave-db. Запустите Slave-базу данных: | Блок кода |
|---|
| language | bash |
|---|
| title | Slave-db: eccm/2.8/ |
|---|
| ./compose-tools.sh --install # установит docker, если он отсутствует в системе
./compose-tools.sh --pull -s <POSTGRES_SLAVE_HOST> --database-only --cluster masterslave |
После полной инициализации баз данных Master-db и Slave-db перейдите на сервер Master-ECCM. При помощи bash-скрипта произведите запуск мастера с необходимыми параметрами. Пример запуска с обязательными параметрами: | Блок кода |
|---|
| language | bash |
|---|
| title | Master-app: eccm/2.8/ |
|---|
| ./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-узла. При помощи bash-скрипта произведите запуск Slave с необходимыми параметрами. Пример запуска с обязательными параметрами: | Блок кода |
|---|
| language | bash |
|---|
| title | Slave-app: eccm/2.8/ |
|---|
| ./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-nodeузла. При помощи bash-скрипта произведите запуск Witness с необходимыми параметрами. Пример запуска с обязательными параметрами: | Блок кода |
|---|
| language | bash |
|---|
| title | Witness: eccm/2.8/ |
|---|
| ./compose-tools.sh --install # установит docker, если он отсутствует в системе
./compose-tools.sh --pull -s <ECCM_WITNESS_HOST> --cluster witness |
После инициализации перейдите по ранее установленному VIP-адресу (имеет формат http://<VIP>/). Веб-интерфейс ЕССМ будет доступен. |
...