Кластер MariaDB — различия между версиями

Материал из Брацка Правки
Перейти к: навигация, поиск
(Инфраструктура)
 
(не показаны 3 промежуточные версии этого же участника)
Строка 2: Строка 2:
  
  
Этот кластер построен на основе трёх [[MariaDB Galera Cluster]] в качестве взаимо-синхранизуемых баз данных, [[MariaDB MaxScale]] в качестве распределителя нагрузки, а также [[MariaDB Backup]] для резервного копирования и [[MariaDB Replication]] для поддержки приложений [[Опытно Облако|Опытна Облака]].
+
==Положение дел==
 +
===Инфраструктура===
 +
:Ранее, если одно приложение, использующее базу данных MariaDB, падало, за ним следовали все остальные. Все данные терялись и восстановление шло из резервной копии, если таковая была в наличии, или было невозможно.
  
[[Кластер MariaDB]] -- это та часть решает проблему устойчивости основной части пользовательских приложений. Ранее, если одно приложение, использующее базу данных MariaDB падало, за ним следовали все остальные.
+
:По состоянию на сентябрь 2021, пользователи работают с приложениями, которые установлены на трёх различных серверах Contabo (два -- в Сент-Луисе, один -- в Германии). Этот кластер построен на основе трёх [[MariaDB Galera Cluster]] (установленная версия -- 26.4.6) в качестве взаимо-синхранизуемых баз данных. Сервера поддерживают синхранизованные базы, которые обновляют друг друга. Три сервера синхранизовано копируются друг на друга, скорее всего, при поддержке инсталляции InnoDB.
  
Основная часть пользовательских приложений использует MariaDB Server'a, которые сейчас объединены в один MariaDB Galera Cluster (установленная версия -- 26.4.6)
+
===Задачи===
 +
:Структура нуждается в переделке на отказоустойчивый кластер прежде всего и, ещё лучше, географически распределённый (Geocast). В перспективе одну машину в Сент-Луисе планируется заменить на машину в Сингапуре.
  
Пользователи работают с приложениями, которые установлены на трёх различных серверах Contabo (два -- в штатах, один -- в Германии). Сервера поддерживают синхранизованные базы, которые обновляют друг друга. Три сервера MariaDB синхранизовано копируются друг на друга, скорее всего, при поддержке инсталляции InnoDB.
+
:Доступность приложений -- это текущая проблема отказоустойчивости. В настоящее время, если один сервер падает, то его пользовательские приложения не доступны. То есть, хотя базы сохраняются и данные не теряются, не решена проблема load balancer.
  
В настоящее время, если один сервер падает, то его пользовательские приложения не доступны. То есть, не решена проблема load balancer; предпринимается попытка использовать MariaDB MaxScale. Также будут рассмотрены для использования MariaDB Backup и MariaDB Replication.
+
===Наработки===
 +
:Наработки решения шли по двум направлениям:
 +
:#[[MariaDB MaxScale]] в качестве распределителя нагрузки. Использовались следующие ресурсы:
 +
:#*https://mariadb.com/resources/blog/getting-started-with-mariadb-galera-and-mariadb-maxscale-on-centos/
 +
:#*https://mariadb.com/services/training/
 +
:#[[HAProxy]] в качестве распределителя нагрузки. Наработки задокументированы на вики-странице [[Кластер Оплёта]].
  
*https://mariadb.com/resources/blog/getting-started-with-mariadb-galera-and-mariadb-maxscale-on-centos/
+
:Теоретически, каждое из этих двух решений имеет плюсы и минусы. [[HAProxy]] отлично работает на раздаче, но не понимает в рабочем ли состоянии базы данных. [[MariaDB MaxScale]] привлекательно тем, что оно понимает состояние баз, а также может слушать [[Nagios Core]].
*https://mariadb.com/services/training/
+
 
 +
:Также должны быть рассмотрены [[MariaDB Backup]] для резервного копирования и [[MariaDB Replication]] для поддержки тех приложений [[Опытно Облако|Опытна Облака]], котoрые используют [[MariaDB Server]].

Текущая версия на 11:27, 22 сентября 2021

Кластер Оплёта -- это связка ресурсов Брацка Облака, обеспечивающая отказоустойчивость тех пользовательских приложений, которые в качестве базы данных используют 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.