MySQL MHA(マイエスキューエル エムエイチエー)。MySQLマスタ障害発生時に、MySQLマスタの自動フェイルオーバーを行い高可用性を実現するオープンソースツールです。

オープンソースのクラスタリング/MySQL MHAとは

MySQL MHA(マイエスキューエル エムエイチエー)。MySQLマスタ障害発生時に、MySQLマスタの自動フェイルオーバーを行い高可用性を実現するオープンソースツールです。

基本情報

概要

MySQL MHA(マイエスキューエル エムエイチエー)とは、MySQLマスタ障害発生時に、MySQLマスタの自動フェイルオーバーを行い高可用性を実現するオープンソースツールです。

基本説明

「MySQL MHA」は、「Master High Availability Manager and tools for MySQL」の略称です。

Perlで実装されており、マスタとスレーブで構成されるMySQLレプリケーション環境で稼働します。

MySQLには、マスタサーバ障害時のフェイルオーバ機能は標準では提供されていないため、短時間でミスなく障害復旧を行うために有効なツールです。

MySQLのマスタをフェイルオーバーさせ、スレーブをマスタに昇格させる作業を短時間(10〜30秒程度)で実行することを目的としています。MHAマネージャがマスタ障害を検知すると、スレーブの1つを新しいマスタに昇格させデータベースの稼働を継続します。

マスタ障害が発生しても、スレーブ間での整合性を崩さない機能を搭載しています。最小限のダウンタイムで迅速にレプリケーションを再開できます。非同期レプリケーションでもスレーブ間の同期が取れます。

経緯

MySQLエキスパートとして世界的にも著名な松信嘉範氏が開発されています。

TOPに戻る

主な特徴

フェイルオーバー機能

フェイルオーバーの際、非同期によるデータ差分をチェックし同期を取ることで、データロスの可能性を軽減します。

フェイルオーバー機能(1)自動フェイルオーバー(監視あり)

MHAマネージャがマスタを監視し、マスタに障害が発生するとフェイルオーバーさせます。最新のDB情報を反映しているスレーブから、その他のスレーブに対して差分を適用する動作を行うため、スレーブ間のデータ整合性が保証されます。

フェイルオーバー機能(2)手動フェイルオーバー

手動でのマスタフェイルオーバーも可能です。

フェイルオーバー機能(3)自動フェイルオーバー(監視なし)

MHA自身では、MySQLのサービス監視は実施しないモードです。監視作業を他の監視ソフトウェアで行い、監視ソフトウェアからの通知によりフェイルオーバーを実行します。

マスタ切り替え機能

オンラインでマスタを別ホストに切り替える機能です。0.5〜2秒ほどの書き込みブロックのみで切り替え可能です。

マスタ昇格指定機能

「特定スレーブのマスタ昇格(昇格不可)指定」が可能です。

動作条件

・rootで各ノード間でのSSH公開鍵認証が可能であること

・MySQL 5.0 以降のみサポート

・マスタ昇格候補のサーバでlog-binがenableであること

・マスタ昇格候補サーバにレプリケーション用ユーザが存在すること

・ステートメントベースレプリケーションでは「LOAD DATA INFILE」の使用は禁止

MHAマネージャコンポーネント

「MySQLマスタのサービス監視」と「フェイルオーバー実行」を行います。

MHAノードコンポーネント

MHAノードコンポーネントは、各MySQLサーバに1つずつ配置され、フェイルオーバーが発生した場合、「スレーブサーバの更新状態調査」「更新状態が最新であるスレーブサーバをマスタサーバへ昇格」「他のスレーブサーバの更新処理参照先を新マスタサーバへ変更」などを行います。

フックポイント

全部で6箇所のフックポイントが用意されています。動作の各所で任意のスクリプトを実行させることができます。

既に動作しているMySQLに影響を与えない

MHAのインストール/アンインストールにおいて、MySQLプロセスやレプリケーションを止める必要はありません。

負荷をかけない

MHA自体は追加の負荷をかけないため、パフォーマンスを低下させません。

バイナリログフォーマット

「Statement」ベースでも「Row」ベースでもサポートします。

ストレージエンジンに依存しない

トランザクション非対応ストレージエンジン(MyISAMなど)でも動作します。

ローコストで導入可能

・アクティブ/スタンバイ構成時のスタンバイ機のようなサーバは不要(サーバの追加投資が不要)

・既存のMySQLレプリケーションの構成変更は不要

・既存の環境を入れ替えることなく導入できる

TOPに戻る

導入事例

DeNAのサービスへのMHA導入実績があります。

TOPに戻る

ライセンス情報

「MySQL MHA」のライセンスは、「GNU General Public License Version 2」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

TOPに戻る

ダウンロード

ダウンロードページ

TOPに戻る

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

MySQL MHA最新TOPICS

最新情報はありません。

MySQL MHA最新CLOSEUPコラム

イベント情報

セミナー講演資料

無料資料プレゼント

2021/03/04 セキュリティDAYS Keyspider資料

講演資料を見るには、 プライバシーポリシーに同意して、送付先メールアドレスをご入力しご請求ください。

またご入力いただきました情報は、当該資料の作成・提供企業とも共有させていただき、当社及び各社のサービス、製品、セミナー、イベントなどのご案内に使用させていただきます。

本資料を見るには次の画面でアンケートに回答していただく必要があります。



セミナー講演資料公開中

【企業ネットワーク向け】ローカルブレイクアウト、適用できないSaaSはありませんか?通信速度や運用に課題はありませんか? 〜LBOに最適なネットワーク機器や管理ツールによる解決策をご提案〜

ハイブリッドワークにおける電話の新しいカタチ ~セールスプロセスを最適化する次世代クラウドビジネスフォン~

システム責任者が知っておくべき 「MySQLの高可用性/HA構成」 の選択肢と比較 〜 MySQLデータベースのダウンタイム“ゼロ”を目指す〜

  • オープソース書籍(サイド)
  • OSSNEWSに広告を掲載しませんか?

facebook

twitter