ITの問題はなくならないのか

日々考えていることを書く

ZabbixのDBでPercona Xtradb Clusterを使う

半年ほど前に、ソーシャルゲームの案件に携わった際にPercona ServerというMySQLの派生プロダクトの存在を知り、どっかで絶対使い倒してやろうと考えていた。

今の携わっている案件にてZabbixを立てる機会があったのだが、
そのZabbixを立てる際にPercona XtraDB Clusterというツールを導入してみた。
Percona XtraDB Cluster - A High Scalability Solution for MySQL Clustering and High Availability

これがまた非常に面白いツールで、Multi-Masterな構成を組むことができる。
レプリのアーキテクチャはこの辺に詳細に記載がある。
Multi-Master replication — Percona XtraDB Cluster 5.5 Documentation

いくらMulti-Masterな構成が組めるとはいえ、VIPを振って複数台でラウンドロビンしてやるぜ!
とまでは怖くてできず、せいぜい1台にVIPを振って、Activeが死んだらSlaveにVIPを切り替えといった運用しか今のところはできていない。

ただ、クラスタに1台サーバを新規追加したい、となった場合に非常に面白いツールであった。

たとえば、既存のクラスタから外したい場合には、
デーモンを止めるでもサーバシャットダウンすれば外れる。

その後、再度クラスタに追加したいとなった場合、データを全部削除したあと、
データの同期先を指定して起動するだけで勝手にクラスタにjoinする。

ちゃんとした環境で(例えばソーシャルゲームで使う等)ゴリゴリ使ったわけではないため、
負荷をかけても不整合は発生しないのか、とかその辺がすごく気になっている。
少なくともZabbix ServerのDBとしては、20万アイテム程度の監視を問題なく捌いているような状況である。