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