たんたんめん日記

ソシャゲ関連のなんでもやさん備忘録

【MySQL】MHAを設定してみた感想

MHAを設定してみたので、その感想や気付いたことを。
と言っても、全サーバーが10台ちょいのシステムなので、もっと良いカンジに出来るかと思いますが…

  • 当たり前なのですが、全SlaveはMasterに昇格する可能性があります。なので、スペックは同じか、同等にしておく必要があります。

  • これまた当たり前なのですが、メンテ等でMasterを再起動すると、MHAが反応してフェイルオーバーが開始されます。Masterの再起動前に、MHAを停止する等の対策が必要かと思います。

  • MHA ManagerがMasterのダウンを検知してから、フェイルオーバーが開始するまで数秒かかります。その間のMasterへの更新は捨てられることになります。

  • MHAの設定時に、sshでパスワードなしでログインする設定がありますが、binary・relay logにアクセス出来る権限があれば良いので、ログインに使うユーザーをusermod -Gなどでmysqlグループに追加しておけばOKかと思います。

  • 実際のところ、フェイルオーバーが発生して、新しいMasterとSlaveの情報を、どうやってアプリサーバーに伝えるかが問題になります。「Mobageを支える技術」ではMyDNSを採用していますが、なかなか設定がめんどかったりします。
    新しいMasterのIPが変わった時にキックされるスクリプトに何を書くか、なのですが…