Кластер MariaDB

Материал из Брацка Правки
Перейти к: навигация, поиск

Кластер Оплёта -- это связка ресурсов Брацка Облака, обеспечивающая отказоустойчивость тех пользовательских приложений, которые в качестве базы данных используют MariaDB Server. Исключение составляет Оплёт, который использует Кластер Оплёта.


Положение дел

Инфраструктура

Ранее, если одно приложение, использующее базу данных MariaDB, падало, за ним следовали все остальные. Все данные терялись и восстановление шло из резервной копии, если таковая была в наличии, или было невозможно.
По состоянию на сентябрь 2021, пользователи работают с приложениями, которые установлены на трёх различных серверах Contabo (два -- в Сент-Луисе, один -- в Германии). Этот кластер построен на основе трёх MariaDB Galera Cluster (установленная версия -- 26.4.6) в качестве взаимо-синхранизуемых баз данных. Сервера поддерживают синхранизованные базы, которые обновляют друг друга. Три сервера синхранизовано копируются друг на друга, скорее всего, при поддержке инсталляции InnoDB.

Задачи

Структура нуждается в переделке на отказоустойчивый кластер прежде всего и, ещё лучше, географически распределённый (Geocast). В перспективе одну машину в Сент-Луисе планируется заменить на машину в Сингапуре.
Доступность приложений -- это текущая проблема отказоустойчивости. В настоящее время, если один сервер падает, то его пользовательские приложения не доступны. То есть, хотя базы сохраняются и данные не теряются, не решена проблема load balancer.

Наработки

Наработки решения шли по двум направлениям:
  1. MariaDB MaxScale в качестве распределителя нагрузки. Использовались следующие ресурсы:
  2. HAProxy в качестве распределителя нагрузки. Наработки задокументированы на вики-странице Кластер Оплёта.
Теоретически, каждое из этих двух решений имеет плюсы и минусы. HAProxy отлично работает на раздаче, но не понимает в рабочем ли состоянии базы данных. MariaDB MaxScale привлекательно тем, что оно понимает состояние баз, а также может слушать Nagios Core.
Также должны быть рассмотрены MariaDB Backup для резервного копирования и MariaDB Replication для поддержки тех приложений Опытна Облака, котoрые используют MariaDB Server.