3ノード構成

DRBDバージョン8.3.0以上で使用可能。

3ノード構成では、1つのDRBDデバイスを別のデバイスの上にスタック(積み重ね)します。

デバイススタックの検討事項

3ノード構成では次のような事項に注意する必要があります。

  • スタックデバイスがアクティブなデバイスです。1つのDRBDデバイス/dev/drbd0が構成され、その上位にスタックデバイス/dev/drbd10 があるとします。この場合は、/dev/drbd10がマウントされて使用されるデバイスになります。

  • 下位のDRBDデバイスおよびスタックDRBDデバイス(上位DRBDデバイス)の両方にそれぞれメタデータが存在します。 上位DRBDデバイスには、必ず内部メタデータを使用してください。このため、3ノード構成時の使用可能なディスク領域は、2ノード構成に比べてわずかに小さくなります。

  • スタックされた上位デバイスを実行するには、下位のデバイスがプライマリロールになっている必要があります。

  • バックアップノードにデータを同期するには、アクティブなノードのスタックデバイスがプライマリモードで動作している必要があります。

スタックリソースの設定

次の例では、alicebobcharlie という名前のノードがあり、 alicebobが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 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 リソースを使用する 」を参照してください。