DRDB を使って MySQL の可用性を高めるのがいいらしい

DRBD (Distributed Replicated Block Device) って初めて知ったんだけど、なんかブロックデバイスをネットワーク越しにコピーするものみたい。ネットワーク経由のRAID1 (mirroring) ということか。

で、MySQLではこれを使って可用性を高めるソリューションがおすすめらしい。
Clusterと比べると、可用性は多少落ちるが、設定は簡単になるとか。

MySQL 高可用性ソリューションの概要

  • 可用性が低い順に、レプリケーション→DRBD + Heartbeat→MySQL Cluster
  • MySQL ClusterはShared Nothingでネットワーク上のRAID1と考えればよい
  • マスターのレプリケーションはDRBDで。SANやNASより良いのは、読み取りではローカルアクセスなところ
  • 理想の構成図は、Shardを複数作る下に、DRBDが二つぶら下がり、さらにslaveが複数台ぶらさがっている形
  • DRBDのフェールオーバーに掛かる時間は30秒未満、とのこと (下も注目)

DR:BDおよびHeartbeatによる高可用性MySQL

  • MySQL Clusterは良さそうだが、当時はサポートが頼りない、と言うことでMySQL社に止められた
  • DR:BDでマスターをPrimaryとSecondaryバックアップ構成にし、Heartbeatで監視
  • DR:BDはパフォーマンスの劣化がほぼなく、マスターの一台を止めて作業やハード交換もできる

データ量は、検証結果では、40GBくらい、秒間2000トランザクションなどは問題なさそうだった

 

パートナー向けの打合、セッション、これでもかというくらい「DRBD」をプッシュしてきます。

http://k.hirohama.biz/wiki/index.php/MySQL_Cluster


ヘー。試してみたいけど、難しいな。