2012年4月29日日曜日

VPC上のCentOS6.2にHeartbeatをインストールし起動(アップデート版)

スズキです。

Heartbeatのインストールと起動に関しては、下記のようにいろいろと紹介してきましたが、
VPC上で無いものやOSが違ったりHeartbeatのバージョンが古かったりで、
現状、情報的に中途半端だったので、もう一度、試し直してみました。

まず、パッケージのインストールですが、下記の
http://sourceforge.jp/projects/linux-ha/releases/55568
"pacemaker-1.0.12-1.1.el6.x86_64.repo.tar.gz"を利用しました。
こちらは"yum"のリポジトリになっているので、"/tmp"に展開して
下記のようにインストールを行います。
# tar xvzf pacemaker-1.0.11-1.2.2.el6.x86_64.repo.tar.gz
# cd pacemaker-1.0.11-1.2.2.el6.x86_64.repo
# yum -c pacemaker.repo install heartbeat-3.0.5 pacemaker-1.0.11

次に設定ファイルですが、以下のようにしています。
# cd /etc/ha.d/
# cat ha.cf
debugfile   /var/log/ha-debug
logfile     /var/log/ha-log
logfacility local0
keepalive   2
deadtime    30
initdead    120
udpport     694
ucast       eth0 10.0.0.4
ucast       eth0 10.0.1.4
node        suz-lab-a
node        suz-lab-b
uuidfrom    nodename
crm         on
VPCは次のFAQの通りブロードキャストは利用できません。
Q: Amazon VPC は、マルチキャストまたはブロードキャストをサポートしますか?
いいえ。
ですのでユニキャスト(ucast)で直接IPアドレスを指定しています。
ちなみに、この"ha.cf"は、冗長化する両方のサーバで同一のものを利用するので
自分自身の記述も含めておく必要があります。
(つまり自分と相手2つ分を書いておきHeartbeatが自動でどちらか判断します)
ノード(node)も同様に自分と相手の両方("hostname"のもの)を記述します。

次に"authkeys"です。こちらも冗長化する二つのサーバで同一のものを
利用します。パーミッションの設定が注意点です。
# cd /etc/ha.d/
# cat authkeys
auth 1
1 crc
#2 sha1 HI!
#3 md5 Hello!
# chmod 600 authkeys

最後のHeartbeatの起動です。
# /etc/init.d/heartbeat start
# chkconfig heartbeat on

ここまでを、冗長化する両方のサーバで同様に実施しておきます。

そして最後に動作確認です。どちらかのサーバで下記のように
コマンドを実行し表示されれば、Heartbeatが稼働していることを確認できます。
# crm_mon
============
Last updated: Thu Apr 26 18:39:55 2012
Stack: Heartbeat
Current DC: suz-lab-a (33571cc4-23e2-4285-bb1d-f063c9657f1e) - partition
with quorum
Version: 1.0.11-1554a83db0d3c3e546cfd3aaff6af1184f79ee87
2 Nodes configured, unknown expected votes
0 Resources configured.
============

Online: [ suz-lab-a suz-lab-b ]

ここから、"Floating IPパターン"につなげたい...
--------
http://www.suz-lab.com

0 コメント: