Кластер MariaDB — различия между версиями
Gary (обсуждение | вклад) |
Gary (обсуждение | вклад) (→Инфраструктура) |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 4: | Строка 4: | ||
==Положение дел== | ==Положение дел== | ||
===Инфраструктура=== | ===Инфраструктура=== | ||
− | :Ранее, если одно приложение, использующее базу данных MariaDB, падало, за ним следовали все остальные. | + | :Ранее, если одно приложение, использующее базу данных MariaDB, падало, за ним следовали все остальные. Все данные терялись и восстановление шло из резервной копии, если таковая была в наличии, или было невозможно. |
:По состоянию на сентябрь 2021, пользователи работают с приложениями, которые установлены на трёх различных серверах Contabo (два -- в Сент-Луисе, один -- в Германии). Этот кластер построен на основе трёх [[MariaDB Galera Cluster]] (установленная версия -- 26.4.6) в качестве взаимо-синхранизуемых баз данных. Сервера поддерживают синхранизованные базы, которые обновляют друг друга. Три сервера синхранизовано копируются друг на друга, скорее всего, при поддержке инсталляции InnoDB. | :По состоянию на сентябрь 2021, пользователи работают с приложениями, которые установлены на трёх различных серверах Contabo (два -- в Сент-Луисе, один -- в Германии). Этот кластер построен на основе трёх [[MariaDB Galera Cluster]] (установленная версия -- 26.4.6) в качестве взаимо-синхранизуемых баз данных. Сервера поддерживают синхранизованные базы, которые обновляют друг друга. Три сервера синхранизовано копируются друг на друга, скорее всего, при поддержке инсталляции InnoDB. | ||
Строка 11: | Строка 11: | ||
:Структура нуждается в переделке на отказоустойчивый кластер прежде всего и, ещё лучше, географически распределённый (Geocast). В перспективе одну машину в Сент-Луисе планируется заменить на машину в Сингапуре. | :Структура нуждается в переделке на отказоустойчивый кластер прежде всего и, ещё лучше, географически распределённый (Geocast). В перспективе одну машину в Сент-Луисе планируется заменить на машину в Сингапуре. | ||
− | В настоящее время, если один сервер падает, то его пользовательские приложения не доступны. То есть, не решена проблема load balancer. | + | :Доступность приложений -- это текущая проблема отказоустойчивости. В настоящее время, если один сервер падает, то его пользовательские приложения не доступны. То есть, хотя базы сохраняются и данные не теряются, не решена проблема load balancer. |
===Наработки=== | ===Наработки=== |
Текущая версия на 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.