リソースの設定

すべて設定ファイル/etc/drbd.confによって制御されます。通常、この設定ファイルは、次のような内容となっています。

include "/etc/drbd.d/global_common.conf";
include "/etc/drbd.d/*.res";

通常、 /etc/drbd.d/global_common.conf には、DRBDの設定の globalcommon セクションが含まれます。また、 .res ファイルには、各 resource セクションが含まれます。

include ステートメントを使用せずにすべての設定を drbd.conf に記述することも可能ですが、設定の見やすさの観点からは、複数のファイルに分割することをお勧めします。

いずれにしても、 drbd.conf や、その他の設定ファイルは、すべてのクラスタノードで同一である必要があります。

DRBDのソースtarファイルのscriptsサブディレクトリに、サンプル設定ファイルがあります。バイナリインストールパッケージの場合、サンプル設定ファイルは直接etcにインストールされるか、または/usr/share/doc/packages/drbdなどのパッケージ固有の文書ディレクトリにインストールされます。

[注記]注記

このセクションは、設定ファイルについて、DRBDの使用を開始するために必ず理解しておく必要のある項目に関する説明です。設定ファイルの構文と内容の詳細については、drbd.conf(5)を参照してください。

設定の例

本ガイドの説明は、上述の非常に簡単なセットアップを前提としています。

global {
  usage-count yes;
}
common {
  protocol C;
}
resource r0 {
  on alice {
    device    /dev/drbd1;
    disk      /dev/sda7;
    address   10.1.1.31:7789;
    meta-disk internal;
  }
  on bob {
    device    /dev/drbd1;
    disk      /dev/sda7;
    address   10.1.1.32:7789;
    meta-disk internal;
  }
}

この例では、DRBDが次のように構成されます。

  • DRBDの使用状況の統計をオプトインとして含める(次項を参照)。

  • 完全に同期したレプリケーションを使用するようにリソースを設定する(Protocol C)。

  • クラスタには2つのノード(alicebob)がある。

  • 任意の名前r0を持つリソースがあり、/dev/sda7 を下位レベルデバイスとして使用する。このリソースは、内部メタデータによって設定されている。

  • リソースはネットワーク接続にTCPポート7789を使用し、それぞれIPアドレス10.1.1.31と10.1.1.32にバインドされる。

global セクション

このセクションは設定の中で1回しか使用できません。通常この設定は、 /etc/drbd.d/global_common.conf ファイルに記述します。/etc/drbd.conf にすべて記述する場合は、設定ファイルの一番上に記述します。このセクションで使用できるオプションはわずかですが、ほとんどのユーザの場合、必要なのは次の1つだけです。

usage-countDRBDプロジェクトはさまざまなバージョンのDRBDの使用状況について統計を取ります。これは、システムに新規のDRBDバージョンがインストールされるたびに、HTTPサーバに接続することにより実行されます。これを無効にするには、usage-count no; と指定します。デフォルトはusage-count ask;で、DRBDをアップグレードするたびにプロンプトが表示されます。

[注記]注記

DRBDの使用状況の統計は公開されています。http://usage.drbd.org/を参照してください。

common セクション

このセクションで、各リソースに継承される設定を簡単に定義できます。通常この設定は、 /etc/drbd.d/global_common.conf に記述します。ここで定義するオプションは、リソースごとに定義することもできます。

commonセクションは必須ではありませんが、複数のリソースを使用する場合は、記述することを強くお勧めします。これにより、オプションを繰り返し使用することによって設定が複雑になることを回避できます。

上記の例では、protocol C;commonセクションで指定されているため、設定されているすべてのリソース(r0 を含む)がこのオプションを継承します。ただし、明示的に別のprotocolオプションが指定されている場合は除きます。使用可能なその他の同期プロトコルについては、「レプリケーションのモード」を参照してください。

resource セクション

各リソースの設定ファイルは、通常 /etc/drbd.d/resource.res という名前にします。定義する DRBD リソースは、設定ファイルで resource name を指定して名前を付ける必要があります。任意の名前を使用できますが、空白を除くUS-ASCII文字セットを使う必要があります。

各リソースには2つのon hostサブセクションも必要です(各クラスタノードに1つずつ)。

その他すべての設定はcommonセクション(記述した場合)から継承されるか、 DRBDのデフォルト設定から取得されます。

on hostサブセクションにも簡単な記述方法があります。オプションの値が両方のホストで等しい場合は、直接resourceセクションで指定することができます。これにより、上記の例よりもこのセクションを短くすることができます。

resource r0 {
  device    /dev/drbd1;
  disk      /dev/sda7;
  meta-disk internal;
  on alice {
    address   10.1.1.31:7789;
  }
  on bob {
    address   10.1.1.32:7789;
  }
}
      

この記述方法はDRBDバージョン8.2.1以上で使用できます。