HeartBeat=心臓の鼓動。このツールは、2台のPC間で、パケットを定期的に通信し合い、お互いが動作しているかどうかを確認しあいます。片方が、片方からのパケットが届かないことを検知したら、相手が死んだと判断して、自分自身をアクティブにします。アクティブにして、何をするか?は設定しだいということです。
またもやSRV1(192.168.1.1)、SRV2(192.168.1.2)に登場していただきましょう。
/usr/share/doc/heartbeat-1.2.3から、ha.cf,haresources,authkeysをコピーしてきます
# cp /usr/share/doc/heartbeat-1.2.3/ha.cf /etc/ha.d # cp /usr/share/doc/heartbeat-1.2.3/haresources /etc/ha.d # cp /usr/share/doc/heartbeat-1.2.3/authkeys /etc/ha.d
authkeysのフォーマットは以下のようになっています
auth 1 1 crc #2 sha1 HI! #3 md5 Hello!
デフォルトだとこんな感じ。まず、1行目のauthを1、2、3のいずれかにします。これで、heartbeatパケットの認証方式を選択します。SHA1やMD5の方がいいだろうと思うのですが、何故かうまく行きませんでした…1番のCRCを選択しています。そして、ファイルのパーミッションを変更してやります。
# chmod 600 authkeys
重要なのは以下の点。
この辺を記述しておけばとりあえずOK これを双方のサーバSRV1,SRV2に置いておきます。
haresourcesは、自分がアクティブになったときに何をするか、を以下のフォーマットで記述していきます。
マスタノード名 アドレス コマンド::オプション コマンド::オプション コマンド::オプション....
コマンド オプション start
コマンド オプション stop
# /etc/init.d/heartbeat start # rc-update add heartbeat default
をSRV1,SRV2で動かします。/var/log/messageを見てみましょう。どうでしょうか??うまく通信成立してるのが見えますか?
ためしに片方HeartBeatを落としてみましょう。もう片方にアドレスがつけ変わってますか?そこまで行けば、HeartBeatが正常稼動した証拠ですね。
(This host) = https://femt.ddo.jp