Smart Communication Design Company
ホーム > ナレッジ > Blog > CMS Blog > 2010年6月 > DRBDとHeartbeat [3] DRBDの設定

DRBDとHeartbeat [3] DRBDの設定

2010年6月25日
システムエンジニア 野沢

前回はDRBD及びHeartbeatの起動までを行いました。
今回は前回軽く触れたDRBDの設定について見ていきましょう。

以下が前回起動時に設定したDRBDの設定になります。

resource r0 {
    protocol C;
    syncer {
        rate 100M;
    }

    on active.demo.com {
        device /dev/drbd0;
        disk /dev/mapper/vg00-drbddata;
        address 192.168.100.10:7789;
        meta-disk /dev/mapper/vg00-drbdmeta;
    }

    on standby.demo.com {
        device /dev/drbd0;
        disk /dev/mapper/vg00-drbddata;
        address 192.168.100.20:7789;
        meta-disk /dev/mapper/vg00-drbdmeta;
    }
}

設定解説

それでは各設定の意味を解説していきます。

resource

resource r0 {
      ~
}

resourceセクションです。このリソースセクションの内部に同期に必要な設定を記述していきます。また、リソースは名前を定義する必要があります。今回の例ですと「r0」がリソース名となります。名前は任意に指定可能です。

protocol

protocol C

データの同期方式を指定します。「A」「B」「C」の3方式があり、それぞれ以下の特徴があります。

protocaol A ローカルにデータを書き込み、リモートへデータを送った時点で書き込み終了と判断
protocaol B ローカルにデータを書き込み、リモートがデータの受信を確認した時点で書き込み終了と判断
protocaol C ローカル及びリモートディスクの両方にデータを書き込んだことを確認した時点で終了と判断

ほとんどのケースで「B」もしくは「C」を利用することになるかと思います。
「B」はパフォーマンス、「C」は信頼性と考えて、利用する環境やサービスレベルに合わせて検討して下さい。

rate

syncer {
    rate 100M;
}

syncerセクションです。このセクションでは同期デーモンに関するチューニングを行います。今回は「rate」のみを設定しています。
rateは同期作業で利用する帯域の制限を行います。例では「100M」としていますが、こちらも環境に合わせて設定を行って下さい。

on [hostname]

on active.demo.com {
       ~
}

DRBDデバイスを定義するためのセクションです。データの同期をとる各ノードの情報を設定します。
注意点として、hostname(例の場合「active.demo.com」)は「uname -n」の結果で表示されるhostnameでなければいけません。

device

device /dev/drbd0;

DRBDリソースに対応しているブロックデバイス名を指定します。大抵の場合、例のように「/dev/drbd0」でいいでしょう。

disk

disk /dev/mapper/vg00-drbddata;

DRBDで実際に読み書きするブロックデバイス名を設定します。

address

address 192.168.100.10:7789;

DRBDの同期に利用するIPアドレス及びポートを指定します。

meta-disk

meta-disk /dev/mapper/vg00-drbdmeta;

meta領域で使用するブロックデバイスを指定します。meta領域を作成しない場合、「meta-disk internal」と設定します。今回はmeta領域を別に作成しているため、この設定が必要となります。

以上がDRBDを起動する上で必要となる設定項目です。
実際に運用を行う際には上記設定のみでは不十分であり、下記のような様々な障害のケースを想定して設定を行う必要があります。

次回はHeartbeatの設定について説明していきます。

■関連記事