しおり
CentOS6.5でDRBD8.4を使ってみる - vol.0 準備編
CentOS6.5でDRBD8.4を使ってみる - vol.1 インストール編
CentOS6.5でDRBD8.4を使ってみる - vol.2 Corosync設定編
CentOS6.5でDRBD8.4を使ってみる - vol.3 DRBD初期設定編
CentOS6.5でDRBD8.4を使ってみる - vol.4 CRM設定編
CRMの設定
最低限の設定
DRBDをPacemakerで制御する最低限の設定をします。
CRM Shellで次のように入力していきます。
途中でWARNINGが表示されますが、 WARNING: drbd: default timeout 20s for start is smaller than the advised 240
というようなものであれば問題ありません。
primitive drbd ocf:linbit:drbd params drbdconf=/etc/drbd.conf drbd_resource=r0 \
op monitor interval=10 role=Slave \
op monitor interval=11 role=Master \
op stop on-fail=block
ms ms-drbd drbd meta notify=true
commit
exit
primitive drbd
行は長いのでバックスラッシュ(表示によっては円マーク)で行を分割しています。
ここではDRBDのリソース r0
を制御するPacemakerのリソースdrbd
を作成し、 ms
でMaster/Slaveモードで動作するように設定しています。
Master/Slaveモードは「両方のノードでリソースを同時に起動しつつ、MasterやSlaveの状態を導入し管理する」モードです。
Slave
で動作している場合には監視間隔を10秒、 Master
で動作している場合には監視間隔を11秒に設定しています。
Master
で動作していても Slave
で動作していても状態を監視する設定なのですが、秒数を変えているのは単純に「同じ秒数だと設定が通らない」ためです。
内部的に op
を リソース名-アクション-インターバル
という書式のIDで管理しているのが原因です。
ms ms-drbd
で notify=true
としていますが、これはノードの参加や脱退、リソースの起動といったイベントごとに、 ms-drbd
リソースに判断をさせるための設定です。
crm_mon -Ar
を実行して次のようになっていれば成功です。
============
Last updated: Sun Aug 31 19:50:01 2014
Stack: openais
Current DC: drbd1 - partition with quorum
Version: 1.0.13-a83fae5
2 Nodes configured, 2 expected votes
1 Resources configured.
============
Online: [ drbd1 drbd2 ]
Full list of resources:
Master/Slave Set: ms-drbd
Masters: [ drbd1 ]
Slaves: [ drbd2 ]
Node Attributes:
* Node drbd1:
+ master-drbd:0 : 10000
* Node drbd2:
+ master-drbd:1 : 10000
ファイルシステムマウント
Pacemakerにファイルシステムをマウントさせる設定をします。
/dev/drbd0
が マウントされていない ことを確かめておいてください。
Pacemakerに /dev/drbd0
上のファイルシステムをマウントさせるためには、DRBDリソースが Primary
でなくてはなりません(同居制約;colocation)。
CRM Shellで次の設定を行います。
primitive filesystem ocf:heartbeat:Filesystem params run_fsck=no device=/dev/drbd0 directory=/mnt/drbd fstype=ext4 \
op monitor interval=15 \
op stop on-fail=ignore
colocation drbd-fs-colocation inf: filesystem ms-drbd:Master
order drbd-fs-order inf: ms-drbd:promote filesystem:start
commit
primitive filesystem
については見たとおりですが、リソースの停止に失敗しても無視して処理を継続させます( op stop on-fail=ignore
)。
colocation
は上で述べた条件(同居制約)を実現するものです。
drbd-fs-colocation
と名前をつけて、制約をかけています。
「 filesystem
リソースが動作するのは、必ず( inf:
) ms-drbd
リソースが Master
ロールを持っている( ms-drbd:Master
)ノード」というものです。
order
はリソースの起動順序を制御するものです。
drbd-fs-order
と名前をつけており、この順序を強制( inf:
)しています。
ms-drbd
リソースを昇格させ( ms-drbd:promote
)、つづいて filesystem
リソースを起動( filesystem:start
)させます。