Distributed Replicated Block Device (DRBD)は、ストレージのレプリケーション(複製)のためのソフトウェアで、シェアードナッシングを実現します。DRBDはサーバ間でブロックデバイス(ハードディスク、パーティション、論理ボリュームなど)の内容をミラーします。
DRBDによるミラーは、次の特徴を持ちます。
リアルタイムレプリケーション. 上位アプリケーションがデバイスのデータを書き換えると、そのデータをリアルタイムでレプリケートします。
アプリケーションから透過的. アプリケーションはミラーされたデバイスに1回書き込むだけですが、実際にはデータはミラーされるすべてのコンピュータのデバイスに書き込まれます。
同期および非同期の両方に対応. 同期的に動作している場合、全部のコンピュータのディスクへの書き込みが完了した後で、アプリケーションは完了通知を受け取ります。非同期的に動作しているときは、ローカルディスクへの書き込みが完了したときに、アプリケーションは完了通知を受け取ります。この場合、他のシステムへの書き込みは後で行われます。
DRBDのコア機能はLinuxのカーネルモジュールとして実装されています。OSのI/Oスタックの「一番底に近い場所で」DRBDは仮想的なブロックデバイスを作ります。このために、DRBDは非常に柔軟で応用範囲が広く、さまざまなアプリケーションの可用性を高めるために利用できます。
![]() | 重要項目 |
|---|---|
その定義とLinuxカーネルアーキテクチャとの関連にもとづき、 DRBDは上位レイヤに関して一切関知しません。このため、DRBDは上位レイヤに対して何らかの機能を付与できません。たとえば、DRBDはファイルシステムの故障を検出できません。またext3やXFSなどのファイルシステムに対してアクティブ-アクティブクラスタ機能を追加することもできません。 |