DRBD

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
DRBD®
開発元 LINBIT (http://www.linbit.com)
最新版 8.4.3 / 2013年02月5日(13か月前) (2013-02-05
対応OS Linux
種別 分散ストレージシステム
ライセンス GNU General Public License v2
公式サイト http://www.drbd.org/
テンプレートを表示
DRBDの概念図

DRBD (Distributed Replicated Block Device) は、Linuxプラットフォームの分散ストレージシステムである。カーネルモジュール、管理アプリケーション、シェルスクリプトで構成され、高可用 (HA) クラスタで使うのが一般的である。DRBD は RAID 1 に似ているが、ネットワーク上で動作する点が異なる。

DRBD は、ソフトウェアを指すと同時に、そのソフトウェアで管理される論理ブロックデバイスも指す。「DRBDデバイス」とか「DRBDブロックデバイス」といった呼称も見受けられるが、RAS症候群の一種であることは言うまでもない。

DRBDはフリーソフトウェアであり、GNU General Public License version 2 でライセンスされている。

運用モード[編集]

DRBD の論理ブロックデバイス(通常 /dev/drbdX で、X はマイナー番号)は既存のブロックデバイス群の上に存在し、クラスタノードを構成している。プライマリノードへの書き込みは下層のブロックデバイスへ転送され、同時にセカンダリノードへも伝播される。セカンダリノードは、書き込みデータを対応する下層のブロックデバイスへ転送する。読み出しは全てローカルに行う。

プライマリノードで障害が発生すると、クラスタ管理プロセスがセカンダリノードをプライマリ状態にする。この遷移の際に、fsckジャーナルリプレイといったDRBD上のファイルシステムの完全性検証を必要とする場合もある。障害の発生した元のプライマリノードが復旧したら、それを再びプライマリにする場合もあり、その際にはデバイスデータの再同期が必要になる。DRBDの同期アルゴリズムは、デバイス全体ではなく停止していた間に更新されたブロックだけを再同期するもので、効率的である。

DRBDはHeartbeatクラスタマネージャと共に使うことが多いが、他のクラスタ管理フレームワークと組み合わせることもできる。Xenのような仮想化技術と組み合わせたり、Linuxの論理ボリュームマネージャと組み合わせることもできる[1]

2007年1月にリリースされた DRBD version 8 は負荷分散構成もサポートしており、両方のノードで同時に読み書きできる構成も可能である[2]。そのような構成では分散ロックマネージャが必須となる。

共用クラスタストレージに対する優位点[編集]

クラスタシステムは一般に共用ストレージを使い、クラスタリソースに使うデータを格納する。この方式には以下のような欠点があり、DRBDはこれに対処できる。

  • 共用ストレージは単一障害点になりやすい。各ノードの障害に対してはサービスを継続可能だが、ストレージの故障はサービス停止を引き起こす。DRBDでは、データは共有されるのではなく複製されるため、そのような問題は発生しない。
  • スプリットブレインシンドロームが発生すると、共用ストレージが問題となる。つまり、ノード間の通信に障害が発生し、各ノードが自分だけが動作していると判断した場合、クラスタリソースを全て獲得しようとする。すると共用ストレージに両系から同時に書き込みが発生し内容を破壊してしまう可能性がある。DRBDではデータは共有せずに複製しているので、少なくとも内容が破壊されるような事態にはならない。
  • 共用ストレージとしては、SANNASが使われ、読み込みにもなんらかのオーバーヘッドがある。DRBDでは読み込みはローカルに行うので、オーバーヘッドがずっと小さい。

用途[編集]

DRBDはLinuxのブロックデバイスとして次の用途に使用可能である。

DRBDを使ったクラスタは、ファイルサーバデータベースMySQLなど)といった負荷に同期レプリケーションと高可用性を提供するのに使われる。

Linuxカーネルでの採用[編集]

DRBD開発者は、このソフトウェアをLinuxカーネルコミュニティに2007年7月に提出し、将来のLinuxカーネルにDRBDを含めることを希望していた[3]。長い議論の末、2010年2月24日にリリースされたLinuxカーネル 2.6.33に取り込まれた。

脚注[編集]

  1. ^ Haas, Florian; Reisner, Philipp; Ellenberg, Lars, The DRBD User's Guide, http://www.drbd.org/users-guide/ 2008年3月31日閲覧。 
  2. ^ Reisner, Philipp (2005-10-11). “DRBD v8 - Replicated Storage with Shared Disk Semantics”. Proceedings of the 12th International Linux System Technology Conference. Hamburg, Germany. http://www.drbd.org/fileadmin/drbd/publications/drbd8_wpnr.pdf 
  3. ^ Ellenberg, Lars (2007年7月21日). “DRBD wants to go mainline”. linux-kernel mailing list.. http://lkml.org/lkml/2007/7/21/255 2007年8月3日閲覧。 

外部リンク[編集]