2010年2月13日土曜日

そろそろDRBDに挑戦(Heartbeat連携編)

スズキです。

ちょっと時間が空きましたが、DRBDが稼働している前提での作業です。
http://blog.suz-lab.com/2010/02/drbd_07.html

Heartbeatはこんな感じでインストールしておきます。
http://blog.suz-lab.com/2009/07/heartbeat.html

ちなみに今回の"/etc/ha.d/ha.cf"は、こんな感じです。

--------【ha.cf】--------
debugfile /var/log/ha-debug
logfile /var/log/ha-log
keepalive 2
deadtime 30
initdead 120
udpport 694
bcast eth0
node suz-lab-ha1
node suz-lab-ha2
crm yes
--------

ここからDRBDとの連携に関する設定になります。
(二つのマシン"suz-lab-ha1/suz-lab-ha2"で同じ操作をします)

まず、Heartbeatが起動していたら停止します。
# /etc/init.d/heartbeat stop

次に、cib.xmlまわりのファイルを削除します。
# rm -f /var/lib/heartbeat/crm/*

そして、以下のような"/etc/ha.d/haresources-for-cib"を作成します。

--------【suz-lab-ha1】--------
suz-lab-ha1 \
  drbddisk::r0 \
  Filesystem::/dev/drbd0::/mnt/drbd
--------【suz-lab-ha2】--------
suz-lab-ha2 \
  drbddisk::r0 \
  Filesystem::/dev/drbd0::/mnt/drbd
--------
※"drbddisk"で指定されている"r0"は"/etc/drbd.conf"のリソース名です。

最後に、以下のコマンドで"/var/lib/heartbeat/crm/"に"cib.xml"を作成し、Heartbeatを起動します。
# /usr/lib/heartbeat/haresources2cib.py /etc/ha.d/haresources-for-cib
# /etc/init.d/heartbeat start

ある程度時間がたつと、"crm_mon"の出力が以下のようになり、
片方のDRBDがプライマリになり、マウントされていることがわかります。
# crm_mon
...
Resource Group: group_1
drbddisk_1 (heartbeat:drbddisk): Started suz-lab-ha2
Filesystem_2 (ocf::heartbeat:Filesystem): Started suz-lab-ha2

"suz-lab-ha2"のHeartbeatを落とすと、
"suz-lab-ha1"のDRBDがプライマリになりマウントされることもわかります。
# crm_mon
...
Resource Group: group_1
drbddisk_1 (heartbeat:drbddisk): Started suz-lab-ha1
Filesystem_2 (ocf::heartbeat:Filesystem): Started suz-lab-ha1

次は、さらに、MySQLとの連携です。
--------
http://www.suz-lab.com

0 コメント: