Основная цель резервирования это обеспечение отказоустойчивости системы с точки зрения аппаратной или программной части существует несколько вариантов решения. Прежде всего все схемы предполагают использование более одного компьютера, а так же некоторую дополнительную настройку программного окружения.
Выбор схемы резервирования зависит от первоначальных требований клиента и количества ТД которые будут использоваться. Всего предоставляется 2-а варианта настройки схемы с резервированием.
Обе схемы в качестве плагина для создания кластера используют Galera Cluster. Это плагин к InnoDB, благодаря которому возможно создание синхронного мульти-мастер кластера MySQL. Он принципиально отличается от стандартной репликации MySQL и решает ряд проблем, включая конфликты при записи на нескольких узлах Master, проблему с отставанием репликации, которая ведет к рассинхронизации ведомых узлов с мастером. При использовании Galera, пользователям нет необходимости знать, на какой сервер будет производиться запись (Master), а с каких серверов можно будет читать (Slave), поскольку Galera предоставляет равнодоступный, как для записи, так и для чтения, кластер.
В кластере Galera приложение может выполнять запись на любой узел, а фиксации транзакций, или событий репликации на основе строк (RBR), применяются ко всем серверам посредством репликации на основе сертификации. Репликация на основе сертификации — это альтернативный подход к синхронной репликации базы данных с использованием методов группового взаимодействия и упорядочивания транзакций.
Далее более подробно разберем какая схема больше подходит под определенные условия.
Схема резервирования SoftWLC 1+1 представляется 2 нодами active-active. Связь баз данных осуществляется при помощи ProxySQL+GaleraCluster.
Данная схема подходит эксплуатациям с малым количеством ТД (до 7000 ТД) и желающим иметь резервирование.
Для работы решения понадобятся 2 виртуальные машины (2 хоста SoftWLC).
Количество устройств | название VM | CPU core, Xeon | RAM, Gb | HDD, Gb |
|---|---|---|---|---|
| от 10 до 200 ТД | SoftWLC | 4, 64-bit x86 CPUs | 16 | 200 |
| от 200 до 500 ТД | SoftWLC | 4, 64-bit x86 CPUs | 24 | 200 |
| от 500 до 7000 ТД | SoftWLC | 8, 64-bit x86 CPUs | 32 | 500 |
Преимущества:
Недостатки:
![]()
![]()
Настройка данной схемы более подробно описана в инструкции: Настройка схемы репликации SoftWLC 1+1+3 GaleraNodes в Docker при помощи Ansible
Схема резервирования SoftWLC 1+1+3 GaleraNodes представляется мультихостовой установкой из 5 нод: 2 хоста SoftWLC и 3 хоста для баз данных. Связь баз данных осуществляется при помощи ProxySQL+GaleraCluster.
Данная схема подходит большим эксплуатациям, для которых основными критериями в выборе схемы является защита от Split-Brain (Split-Brain - критическое состояние в кластере, когда из-за потери связи между узлами (heartbeat) кластер разделяется на независимые части. Каждый узел или группа начинают считать себя единственными работающими, что приводит к конфликтам данных)
Для работы решения понадобятся 5 виртуальных машин: 2 хоста SoftWLC и 3 хоста для баз данных.
VM | CPU core, Xeon | RAM, Gb | HDD, Gb | Пакеты |
|---|---|---|---|---|
| SoftWLC | 8, 64-bit x86 CPUs | 32 | 500 | Однохостовая установка SoftWLC ProxySQL |
| SoftWLC | 8, 64-bit x86 CPUs | 32 | 500 | Однохостовая установка SoftWLC ProxySQL |
Database | 4, 64-bit x86 CPUs | 64 | 500 | openjdk-17-jdk |
Database | 4, 64-bit x86 CPUs | 64 | 500 | openjdk-17-jdk MariaDB (galera cluster) eltex-ems-db eltex-radius-db eltex-auth-service-db |
Database | 4, 64-bit x86 CPUs | 64 | 500 | openjdk-17-jdk MariaDB (galera cluster) eltex-ems-db eltex-radius-db eltex-auth-service-db |
Преимущества:
Недостатки:
![]()

Настройка данной схемы более подробно описана в инструкции: Настройка схемы репликации SoftWLC 1+1+3 GaleraNodes в Docker при помощи Ansible