DRBDとHeartbeat [1] サービス稼働率の向上
これまでwebサービスを停止させないためのHA(High Availability)構成を組む方法として、ロードバランサやNASなどの共有ディスクがよく活用されてきました。しかし、それらの機器は一般的には高価であるため、費用面がどうしてもネックとなっていました。
そういった費用面での問題を解決するために、オープンソースソフトウェアである「DRBD」と「Heartbeat」というソフトを利用し、安価にHA構成を実現させるという方法があります。
弊社ではeZ Publishを利用したCMSによるサイト構築案件やスクラッチ開発案件のお手伝いをさせていただいておりますが、最近ではHA構成を望まれるお客様が増えてきていることから、「DRBD」と「Heartbeat」の利用頻度があがってきております。
そこで、それらのソフトウェアとメリットをご紹介させていただきます。
DRBDとは?
DRBD(Distributed Replicated Block Device)とは、サーバ間のネットワークミラーリングを行うためのオープンソースソフトウェアです。よくネットワーク越しのRAID1を実現させるものと例えられています。
DRBDは下記のような特徴を備えています
- カーネルモジュールとして動作するため、ファイルシステムに依存しません。
- 2台間でデータのミラーリングを行います(バージョン8.3以降では3台以上で動作可能なようです)
- ミラーリング対象はディレクトリ単位ではなく、ブロックデバイスです。
- Heartbeatなどのクラスタソフトと組み合わせることにより、簡単にHA構成が構築できます。
- データベース(MySQLなど)やファイルサーバ(NFSなど)のHA化によく利用されます。webサーバ(apacheなど)にも利用できます。
Heartbeatとは?
Linux-HAという高可用ソリューションを提供するプロジェクトで開発されているオープンソースソフトウェアです。HA構成を実現させるためのクラスタソフトとなります。先述したDRBDと組み合わせることにより初めてHA構成として機能することになります。
このHeartbeatを導入することにより、下記の機能が実現できます(アクティブ機とスタンバイ機の2台間での運用を想定しています)
- サーバの稼働状況の監視
- サービスの稼働状況の監視
- IPアドレスの共有
- 自動フェイルオーバ
例えばアクティブ機で稼働していたMySQLに障害が発生して停止してしまった場合、Heartbeatが検知してスタンバイ機へ自動的にサービスが切り替わるといった処理が行われます。その結果、サービスを継続して利用することが可能となります。
弊社でもすでにMySQLやApacheはもちろん、Solrといった検索エンジンにもDRBDとHeartbeatを利用してHA構成を組んでいる実績が数件ほどあります。先述したように、お客様のHA構成の要望が高まってきていることから、その数は今後も増えていくでしょう。
次回はDRBDとHeartbeatのインストールから起動までに触れていきたいと思います。
■関連記事