KeepAlived+MySQLレプリケーションを利用した高可用性インフラの構築


そもそレプリケーションの構成的にどうなの?とかいう話は別として、単純にやってみたいからやってみました(笑
まず、MySQL レプリケーション(シングルMASTER – マルチSLAVE)ってすごいよね?
データベース参照負荷の高いアプリでは、SLAVEをガンガン増やして、ロードバランサー(keepalived)のvip経由でアクセスしちゃえば、簡単にスケールアウトできちゃうわけだから。仮に複数あるSLAVEサーバのうち1台が故障したとしても、他のSLAVEが生きているかぎり、簡単にロードバランサーから関連ノードを切り離してしまえば、サービスを停止することなく、データベースのメンテナンスができちゃうもんね。

では、MASTERサーバが障害に陥った場合はどうするのか?
ここのリカバリに関してはどうしても時間かかっちゃいますのでなんとか短く復帰できないか?なんていうのを考えてみました。ちなみに動作全く未保障

続きを読む “KeepAlived+MySQLレプリケーションを利用した高可用性インフラの構築”

MySQL HyperDB + Keepalivedを利用した、wordpress の負荷分散


keepalived

思っていたより簡単にできた、ついでにいうと思っていたよりパフォーマンスがよく無いのですが、それはこちらの環境の問題かと思われます。

表題の通り、wordpressのデータベースを、MySQL レプリケーションを駆使して負荷分散する際に活用できるプラグインです。それプラスといってはなんですが、KeepAlived(LVS)を間にはさんで、スケールアウトしやすい構成にしていました、以下のその構成図になります。





続きを読む “MySQL HyperDB + Keepalivedを利用した、wordpress の負荷分散”

lvs:内部ロードバランサー クライアント自動設定shell


題名長いすね・・たとえば、MySQLのSLAVEを利用した内部ロードバランサーを構築した場合など、振り分け先のリアルサーバにちょっとした細工をする必要があるのですが、慣れればいいのですが私はこの手のものは、なかなか慣れないのですべてスクリプト化しちゃいます。ようは、実行してはい終わりって感じにしたい。Keepalived LVSにつきましては、大昔に、「負荷分散について考えてみる②: keepalivedの設定」でこの話に触れている部分がありますので参考にしてみてくださいね。でも今回のスクリプトは前回の設定内容とは大きく違います。今回の設定スクリプトはnicの設定をいじる方法でやっております。実際こちらのほうが楽です。

続きを読む “lvs:内部ロードバランサー クライアント自動設定shell”

KeepAlivedを使ってみる① ~インストール


前回も書いた気がするのですが、結構手順がめちゃくちゃでついでに、ロードバランシングするものがないのに書いてしまったのでこんどは目的を持って再度書き直します。というわけで、今回は、たぶん王道でmysqlで、keepalivedを利用するってところを目標にします。mysqlのレプリケーションはご存知の通り結構簡単です。DB2なんかに比べ、作業手順に慣れてしまうとサクサクッといけてしまいますからね(実運用はそうもいかないです)。で、keepalivedを利用する目的としては、マスタ一台、スレーブ二台の構成で、スレーブは参照専用にしてその上にlvsをはさむと言った感じでしょうか?このサイトのmysqlもそうしたいところなのですが、wordpress自体でそんな設定ってたぶん行えないと思いますので、あくまでも導入検証ってレベルではあるのですが、もしこのページを参考にしてインストールされる方がおられましたら可能な限りでコピペで設定できるような構成にしたいなあ、と思っております。

keepalived

続きを読む “KeepAlivedを使ってみる① ~インストール”