DeNAにおけるMySQL高可用ソリューションとオープンソース戦略 #ragpress #rag_tech0913
http://t.co/RPiyFmq ←これ RT @wasaist: MHAのアーキテクチャ マスターの稼働監視およびダウン時の自動フェールオーバーを実現するツール http://t.co/AqDB1JP にてOSSで公開されている #rag_tech0913
2011-09-13 19:42:11#rag_tech0913 RT @uorat: MHA、モジュールの依存関係は少なくしているとのこと。インストール楽チン。
2011-09-13 19:43:58#rag_tech0913 MHAの特徴: フェイルオー場の自動化。フェイルオーバーは秒単位で可能。非同期レプリケーションにもかかわらず、スレーブ間の同期が取れている。任意のスレーブを新マスターに出来る。いくつかのところから外部スクリプトを呼ぶ拡張ポイントを容易。
2011-09-13 19:46:31主な特徴 マスターの稼働監視からフェイルオーバーまでを自動でできる。 フェイルオーバーが秒単位で可能。非同期オペレーションにもかかわらずスレーブ間での同期がとれる。 任意のスレーブを新マスターにできる。幾つかの箇所から外部スクリプトを呼ぶ機能がある #rag_tech0913
2011-09-13 19:47:02DRBDについてのコメント、数分単位のリカバリが発生するため、サービスで使いにくい。MHAはact/act型なのでフェイルオーバが秒単位で可能。 #rag_tech0913
2011-09-13 19:47:34マスタの稼働監視からFOまでを自動化、FOが秒単位で可能、非同期レプリにも関わらずSlave間の同期が取れる、任意のSlaveをマスタに昇格出来る #rag_tech0913
2011-09-13 19:48:15MySQL5.0以降であれば標準のMySQLで動作する。 インストール/アンインストールにあたり現在のmysqldプロセスやレプリケーションを止める必要はない #rag_tech0913
2011-09-13 19:49:35#rag_tech0913 MHAの特徴続き: MySQL 5.0以降であれば標準MySQLで動作可能。MHA導入時にmysqldプロセスを止めずにすむ。MHA自体は追加の負荷をかけない。ストレージエンジン非依存。バイナリログのフォーマットにも非依存。
2011-09-13 19:49:55MHA自体は追加の負荷をかけないため、パフォーマンスが低下せず、追加のサーバも不要。 ストレージエンジンに依存しない。 #rag_tech0913
2011-09-13 19:50:11拡張ポイント secondary_check_script マスターがダウンしたかどうかを複数のNW経路から判定するために呼ばれる マスターが接続エラーになったときに呼ばれる #rag_tech0913
2011-09-13 19:51:17shutdown_scipt 電源強制OFF フェイルオーバーの直前に呼ばれる master_ip_failover_script マスターIPあアドレスの更新やアプリケーションから接続するためのユーザ作成など #rag_tech0913
2011-09-13 19:52:36#rag_tech0913 RT @uorat: 内部動作の説明。転送の遅れたSlaveでRelay処理を実行、途中できれたトランザクションは、その一つ手前まで実行。その後、他のSlaveと同期を取る。
2011-09-13 19:52:51#rag_tech0913 RT @uorat: 単にチェンジマスタしてもデータが抜ける事もあるので注意しなければならない。どのスレーブにも転送されてないバイナリログをマスタから転送、スレーブ間のズレを解消、これらの作業が必要。
2011-09-13 19:53:13ケーススタディ DeNAのサービス(ソーシャルゲーム)において、150を超えるマスター/スレーブのペアに対して導入している #rag_tech0913
2011-09-13 19:53:47