MHA for MySQL: Master High Availability Manager and tools for MySQL

Недавно вышел релиз 0.52 замечательного средства поддержки MySQL кластера “Master High Availability Manager” от моего японского товарища Yoshinori Matsunobu. Он известен в первую очередь, как разработчик HandlerSocket (NoSQL средства доступа к БД MySQL).

Он работает в компании DeNA, которая управляет географически-распределённый MySQL кластером. Чем больше машин в кластере, тем больше вероятность сбоев. Именно поэтому Yoshinori занялся разработкой такого рода. MHA был протестирован в рамках компании и теперь его можно спокойно скачать с Google Code.

Обзор релиза

Итак, что же нового в версии 0.52.

  1. Именование версий теперь будет таким: mha4mysql-manager-X.Y Автор кстати непрозрачно намекает, что в будущем собирается патентовать одноимённую (MHA) торговую марку.
  2. Теперь поддерживается Multi-Master схема! В прошлой (0.50) версии она не работала, по этому поводу даже создали feature request на gitbub. Разработка велась сначала в отдельной ветке, а 12 сентября была перенесена в основную. Пример конфига для установки вы найдёте здесь.
  3. Багфиксы:

Multi-master scheme

Как я понял, схема работает следующим образом. Пусть есть 4 сервера A <–> B, A –> C, B –>D и в данный момент сервер A – активный мастер, т.е. на него идут все запросы на запись. Мастер-сервер B находится в оперативном резерве. Сервер С – slave для A, D – slave для B. Как только сервер A падает, то активным мастером становится B, а C переключается на него. Схема очень похожа на MongoDB Replica Sets, однако там голосование нод и выборы нового мастера идёт децентрализовано, а здесь централизовано с помощью MHA Manager’а.

Но в принципе и на том спасибо, ранее такой схемы не было, а сейчас она бы очень пригодилось многим админам и веб-разработчикам, т.к. избавляет от ручного труда по перенастройке (да я в курсе про MMA-tools). Например в 1С-Битрикс: веб-кластер насколько я знаю в данный момент делают аналогичную системе. Теперь можно взять за основу труды Yoshinori и допилить их под свои нужды.

Ссылки

http://yoshinorimatsunobu.blogspot.com/2011/09/mha-for-mysql-052-released.html
http://code.google.com/p/mysql-master-ha/
http://code.google.com/p/mysql-master-ha/wiki/TableOfContents?tm=6
http://code.google.com/p/mysql-master-ha/downloads/list

Leave a Comment