[Linux-ha-jp] 両ノードのDRBDがslaveのまま、primaryに昇格しません

アーカイブの一覧に戻る

Junko IKEDA tsuki****@gmail*****
2011年 12月 1日 (木) 10:56:47 JST


中村様

NTTデータ先端技術の池田と申します。

> 設定ファイルの類を添付させていただきます。
> なお、DRBDのリソースエージェントは、drbd-8.4.0同梱のものを使用しています。

crmの設定ではdrbd RAのproviderがheartbeatとなっていますが
これは、DRBD 8.4.0のRAを
/usr/lib/ocf/resource.d/heartbeat/
にコピーされたということでしょうか。
DRBDのRAはデフォルトでは
/usr/lib/ocf/resource.d/linbit/
にインストールされます。

よって、drbd RAの設定では通常、providerにlinbitを指定します。
/usr/lib/ocf/resource.d/heartbeat/
にもdrbd RAは存在しますが、これはresource-agentsに含まれる古いRAです。

また、Master/Slaveリソースのmonitor設定ですが
MasterリソースとSlaveリソースのinterval値をそれぞれ
別の値として設定してください。

drbd RAの設定例

primitive drbd_hadoop ocf:linbit:drbd \
        params drbd_resource="r_hadoop" \
        op monitor interval="10s" \
        op start interval="0s" timeout="240s" on-fail="restart" \
        op monitor interval="10s" timeout="20s" on-fail="restart"
role="Master" \
        op monitor interval="20s" timeout="20s" on-fail="restart" role="Slave" \
        op promote interval="0s" timeout="90s" on-fail="restart" \
        op demote interval="0s" timeout="90s" on-fail="block" \
        op stop interval="0s" timeout="100s" on-fail="block"

locationの設定ですが、groupではなくMaster/Slaveの
スコア値を設定してみてください。

location l_hadoop ms_drbd \
        rule role=master  200: #uname eq hdpmaster30 \
        rule role=master  100: #uname eq hdpmaster38

また、Pacemaker 1.0.11では、Master/Slaveの動作でバグが確認されています。
参考 http://linux-ha.sourceforge.jp/wp/archives/2468/2

上記のバグを回避するために、Master/Slaveだけではなく
groupに含まれる各リソースにもlocationを設定してください。

location l_hadoop ms_drbd \
        rule role=master  200: #uname eq hdpmaster30 \
        rule role=master  100: #uname eq hdpmaster38 \
        rule role=master  -inf: defined fail-count-fs_hadoop \
        rule role=master  -inf: defined fail-count-ip_hadoop

なお、上記のバグはPacemaker 1.0.12では修正されています。

以上よろしくお願いいたします。

池田淳子

2011年11月30日21:11 中村 圭太 <nakam****@jp*****>:
> 中村と申します。
> はじめて投稿させていただきます。
> heartbeatおよびDRBDに関して、以下の問題で困っています。
>
> <問題>
> Heartbeatを両ノードでほぼ同時に起動させると、DRBDが起動はするのですが、
> 両ノード共にslaveの状態が続き、primaryに昇格しません。
> ただし、片方のノードがHeartbeatにおけるONLINEの状態までなった後に、
> 一方のノードを立ち上げると、DRBDが両方ともslaveになった後、
> cib.xmlのlocationで指定したノードがprimaryに昇格します。
>
> <疑問点>
> ・Heartbeatを起動させるノードについては、
>  起動順番を意識する必要があるのでしょうか?
> ・当方の設定に、上記問題の元となる箇所はありますでしょうか?
>
> <環境>
> ・pacemaker-1.0.11
> ・heartbeat-3.0.5
> ・drbd-8.4.0
>
> 設定ファイルの類を添付させていただきます。
> なお、DRBDのリソースエージェントは、drbd-8.4.0同梱のものを使用しています。
>
> ------- crm configure show -------
> node $id="24606b2c-5a9d-4a86-9e83-a84ee941739d" hdpmaster38
> node $id="57e51646-569b-4501-8073-61f06ec146bf" hdpmaster30
> primitive drbd_hadoop ocf:heartbeat:drbd \
> params drbd_resource="r_hadoop" \
> op monitor interval="10s"
> primitive fs_hadoop ocf:heartbeat:Filesystem \
> params device="/dev/drbd0" directory="/hadoop/dfs/name" fstype="ext3"
> options="noatime"
> primitive ip_hadoop ocf:heartbeat:IPaddr2 \
> params ip="10.171.208.87" nic="eth1" cidr_netmask="24" \
> op monitor interval="10s"
> group rg_hadoop fs_hadoop ip_hadoop
> ms ms_drbd drbd_hadoop \
> meta master-max="1" master-node-max="1" clone-max="2" clone-node-max="1"
> notify="true"
> location l_hadoop rg_hadoop 100: hdpmaster30
> colocation c_hadoop inf: rg_hadoop ms_drbd:Master
> order o_hadoop inf: ms_drbd:promote rg_hadoop:start
> property $id="cib-bootstrap-options" \
> dc-version="1.0.11-1554a83db0d3c3e546cfd3aaff6af1184f79ee87" \
> cluster-infrastructure="Heartbeat" \
> stonith-enabled="false" \
> no-quorum-policy="ignore" \
> default-resource-stickiness="200"
>
> 大変お手数ですが、どなたかご教授くださいますよう、お願いいたします。
>
> 以上です。
>
> _______________________________________________
> Linux-ha-japan mailing list
> Linux****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/linux-ha-japan
>





Linux-ha-japan メーリングリストの案内
アーカイブの一覧に戻る