3ノード構成では、1つのDRBDデバイスを別のデバイスの上にスタック(積み重ね)します。
3ノード構成では次のような事項に注意する必要があります。
スタックデバイスがアクティブなデバイスです。1つのDRBDデバイス/dev/drbd0が構成され、その上位にスタックデバイス/dev/drbd10 があるとします。この場合は、/dev/drbd10がマウントされて使用されるデバイスになります。
下位のDRBDデバイスおよびスタックDRBDデバイス(上位DRBDデバイス)の両方にそれぞれメタデータが存在します。 上位DRBDデバイスには、必ず内部メタデータを使用してください。このため、3ノード構成時の使用可能なディスク領域は、2ノード構成に比べてわずかに小さくなります。
スタックされた上位デバイスを実行するには、下位のデバイスがプライマリロールになっている必要があります。
バックアップノードにデータを同期するには、アクティブなノードのスタックデバイスがプライマリモードで動作している必要があります。
次の例では、alice、bob、charlie という名前のノードがあり、 aliceとbobが2ノードクラスタを構成し、 charlieがバックアップノードになっています。
resource r0 {
protocol C;
on alice {
device /dev/drbd0;
disk /dev/sda6;
address 10.0.0.1:7788;
meta-disk internal;
}
on bob {
device /dev/drbd0;
disk /dev/sda6;
address 10.0.0.2:7788;
meta-disk internal;
}
}
resource r0-U {
protocol A;
stacked-on-top-of r0 {
device /dev/drbd10;
address 192.168.42.1:7788;
}
on charlie {
device /dev/drbd10;
disk /dev/hda6;
address 192.168.42.2:7788; # Public IP of the backup node
meta-disk internal;
}
}他のdrbd.conf設定ファイルと同様に、この設定ファイルもクラスタのすべてのノード(この場合は3つ)に配布する必要があります。非スタックリソース構成にはない次のキーワードにご注意ください。
stacked-on-top-of. この情報により、DRBDに含まれるリソースがスタックリソースであることをDRBDに知らせます。これは、非スタックリソース構成ににある2つのonセクションのいずれかと置き換えます。下位レベルリソースにはstacked-on-top-ofを使用しないでください。
![]() | 注記 |
|---|---|
スタックリソースに プロトコルAを使用することは必須ではありません。アプリケーションに応じて任意のDRBDのレプリケーションプロトコルを選択できます。 |
スタックリソースを有効にするには、まず、下位レベルリソースを有効にしてどちらか一方をプライマリに昇格します。
drbdadm up r0drbdadm primary r0
非スタックリソースと同様に、スタックリソースの場合もDRBDメタデータを作成する必要があります。次のコマンドで実行します。
drbdadm --stacked create-md r0-U次に、スタックリソースを有効にします。
drbdadm --stacked up r0-Udrbdadm --stacked primary r0-U
この後でバックアップノードのリソースを起動し、3ノードレプリケーションを有効にします。
drbdadm create-md r0-Udrbdadm up r0-U
クラスタ管理システムを使えばスタックリソースの管理を自動化できます。Pacemakerクラスタ管理フレームワークで管理する方法については、 「Pacemakerクラスタでスタック DRBD リソースを使用する 」を参照してください。