DRBDリソースを物理ボリュームとして構成する

DRBDリソースを物理ボリュームとして使用するためには、 DRBDデバイスにPVのシグネチャを作成する必要があります。リソースが現在プライマリロールになっているノードで、 次のいずれかのコマンドを実行します。

pvcreate /dev/drbdnum

または

pvcreate /dev/drbd/by-res/resource

次に、LVMがPVシグネチャをスキャンするデバイスのリストにこのデバイスを加えます。このためには、通常は /etc/lvm/lvm.confという名前のLVM設定ファイルを編集する必要があります。devices セクションで、filter キーワードを含む行を見つけて編集します。すべての PVをDRBDデバイスに格納する場合は、filter オプションを次のように編集します。

filter = [ "a|drbd.*|", "r|.*|" ]

このフィルタ表現がDRBDデバイスで見つかったPVシグネチャを受け入れ、それ以外のすべてを拒否(無視)します。

[注記]注記

デフォルトでは、LVMが /dev にある すべてのブロックデバイスのPVシグネチャをスキャンします。これは filter = [ "a|.*|" ]に相当します。

LVMのPVでスタックリソースを使用する場合は、より明示的にフィルタ構成を指定する必要があります。対応する下位レベルリソースや下位デバイスでPVシグネチャを無視している場合、LVMはスタックリソースでPVシグネチャを検出する必要があります。次の例では、下位レベルDRBDリソースは0から9のデバイスを使用し、スタックリソースは10以上のデバイスを使用しています。[1]

filter = [ "a|drbd1[0-9]|", "r|.*|" ]

このフィルタ表現は、/dev/drbd10から/dev/drrbd19 までのDRBDのデバイスで見つかったPVシグニチャを受け入れ、それ以外のすべてを拒否(無視)します。

lvm.conf ファイルを変更したら vgscan コマンドを実行します。LVMは構成キャッシュを破棄し、デバイスを再スキャンしてPVシグネチャを見つけます。

システム構成に合わせて、別の filter 構成を使用することもできます。重要なのは、次の2つです。

さらに、次の設定で、LVMのキャッシュを無効にする必要があります。

write_cache_state = 0

LVMのキャッシュを無効にした後、/etc/lvm/cache/.cacheを削除して、古いキャッシュを削除してください。

対向ノードでも、上記の手順を繰り返します。

新しいPVを構成したら、ボリュームグループに追加するか、 新しいボリュームグループを作成します。このとき、DRBDリソースがプライマリロールになっている必要があります。

vgcreate name /dev/drbdnum

[注記]注記

同じボリュームグループ内にDRBD物理ボリュームとDRBD以外の物理ボリュームを混在させることができますが、これはお勧めできません。また、混在させても実際には意味がないでしょう。

VGを作成したら、 lvcreate コマンドを使用して、(DRBD以外を使用するボリュームグループと同様に)ここから論理ボリュームを作成します。



[1] これは、スタックリソースに最近よく使われる方法です。