DRBDバージョン8.3.0以上で使用可能。
3ノードセットアップでは、1つのDRBDデバイスのが別のデバイスの上にスタックされています。
このタイプのセットアップでは次のような事項に注意する必要があります。
スタックデバイスがアクティブなデバイスです。
1つのDRBDデバイス/dev/drbd0が構成され、
その上位にスタックデバイス/dev/drbd10 があるとします。
この場合は、/dev/drbd10がマウントされて使用されるデバイスになります。
配下のDRBDデバイスおよびスタックDRBDデバイスに、 デバイスのメタデータが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に知らせます。
これは、通常のリソース構成に含まれるonセクションのいずれかと置き換えられます。
下位レベルリソースにはstacked-on-top-ofを使用しないでください。
![]() | 注意 |
|---|---|
スタックリソースに プロトコルAを使用することは必須ではありません。 アプリケーションに応じて 任意のDRBDのレプリケーションプロトコルを選択できます。 |
スタックリソースを有効にするには、 まず、下位レベルリソースを有効にしてプライマリに昇格します。
drbdadm up r0
drbdadm primary r0
非スタックリソースと同様に、 スタックリソースの場合もDRBDメタデータを作成する必要があります。 次のコマンドで実行します。
drbdadm --stacked create-md r0-U
次に、スタックリソースを有効にします。
drbdadm --stacked up r0-U
drbdadm --stacked primary r0-U
この後でバックアップノードのリソースを起動し、3ノードレプリケーションを有効にします。
drbdadm create-md r0-U
drbdadm up r0-U
スタックリソースの管理を自動化するには、 スタックリソースをクラスタマネージャ構成と統合します。 Pacemakerクラスタ管理フレームワークで管理されるクラスタでこれを実行する方法については、 「Pacemakerクラスタでスタック DRBD リソースを使用する」を参照してください。