DRBDとは
DRBDは、ストレージのレプリケーション(複製)のためのソフトウェアです。サーバ間でブロックデバイス(ハードディスク、パーティション、論理ボリュームなど)の内容をミラーします。
DRBDによるミラーは次の特徴を持ちます。
- リアルタイムレプリケーション. 上位アプリケーションがデバイスのデータを書き換えると、 そのデータをリアルタイムでレプリケートします。
- アプリケーションから透過的で. アプリケーションは、データが複数のホスト上に格納されていることを意識する必要はありません。
- 同期 または 非同期 の両方に対応した同期でミラーリングを行う場合には、 すべてのホストのディスクへの書き込みが完了した後で、アプリケーションが完了通知を受け取ります。 非同期でミラーリングを行う場合には、 ローカルディスクへの書き込みが完了したときに、すぐにアプリケーションが完了通知を受け取ります。 この際、他のホストへの書き込みは後で行われます。
DRBDにはLinuxでのHAシステムの基幹ソフトとして、アクティブ・スタンバイ形式の2ノードクラスタで広く利用されています。
<HAでのDRBD利用例>
DRBD9で追加された機能と改善点
DRBD9はDRBDの最新バージョンで、これまでのDRBDにはなかったいろいろな機能が追加されました。
多ノード接続
DRBD9では3台以上のノードでもデータのレプリケーションが可能になりました。
多ノード接続が可能になったことで、例えば1台が故障した場合でも2台での冗長構成を維持したまま切り替え作業が可能になります。2台構成のHAでは切り替え時に残りの1台が停止してしまうとサービス提供の続行が出来なくなるため長時間サービス停止できないシステムでは3ノード構成でHAを検討いただく場合も多いです。
特にインフラ系や金融系システムなど絶対にとめられないシステムには有効な構成です。
<DRBD9の多ノード同期>
そのためDRBDボリュームのスタック方式での利用は可能ではありますが推奨しません。 ただし、DRBD Proxyを併用する場合は、WAN接続の回線ごとにDRBD Proxyを設定する必要があり、トラフィック量が多くなってしまうため、これまで通りのスタック方式での設定を利用を勧めます。Proxyでの問題はDRBD 10で解決される予定です。
<DBRDのスタッキング構成>
<効率の悪いProxy接続の図>
<DRBD10での接続図>
DRBDをネットワークブロックデバイス(DRBD Client)として利用する事が可能になりました。これはDRBDの利用方法としてかなり大きな変化で、多ノード接続とDRBD Clientの機能の機能により、DRBDをSDSの基盤ソフトウェアとして利用できるようになりました。
<DRBD Clientの概念図>
接続のノード数が増えたため、メタデータの構造がDRBD 8.4までと大きく変わりました。対向ノード分のメタデータ領域が確保されます。(メタデータはDRBDの状態を管理する情報です。)
管理方法の変更点としては、/proc/drbdでは最小限の情報が表示されます。以前のバージョンのDRBDはこのファイルを参照して、DRBDの状態やレプリケーションの進捗を確認出来ました。DRBD9ではこのファイルの代わりにdrbdadm statusコマンドを使って情報を参照します。
自動プロモーション機能
DRBD9では必要なときに自動的に プライマリ/セカンダリ のロール切り替えを行います。DRBDのデバイス(例えば/dev/drbd100)にアクセスすると、アクセスしたノードでのDRBDのロールはSecondaryからPrimaryに昇格し、デバイスのアクセスを終了すると、PrimaryからSecondaryへ降格します。
この機能はPacemakerにおけるDRBDリソースエージェントを無用にするものです。ただし、DRBDリソースエージェントを使わない場合、PacemakerでのFencingを利用できなくなります。LINBITでは3ノード以上の構成でQuorum を使ったノードの制御を推奨していますが、2ノード構成で構築したい場合やDRBDリソースエージェントのFencingを使い続けたい場合には、従来のMSリソースを使った設定も可能です。
パフォーマンスの向上
DRBD9はパフォーマンスが大幅に向上しました。ランダム書き込みにおける1秒あたりのI/O処理数の測定において、SSDを使った環境では最大で100倍近く高速になります。これは高速なDBシステムやコンテナストレージ、仮想環境のストレージの構築に大きなメリットがあります。
DRBD8では冗長化した際にシステムの処理速度に影響を与えていましたがパフォーマンスが向上することでシステムの処理速度への影響も軽減します。
DRBD8から大きく進化を遂げたDRBD9、まだ利用されていない方は試してみてはいかがでしょうか。
次の記事では具体的にDRBD8からDRBD9への移行手順をステップ by ステップでご紹介します。