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”