現: 2009-08-19 (水) 00:53:44 maruo[3] [4] | |||
---|---|---|---|
Line 1: | Line 1: | ||
+ | [[Gentoo Linuxな生活/システム管理関連]] | ||
+ | *HeartBeatとは? [#tde66450] | ||
+ | HeartBeat=心臓の鼓動。このツールは、2台のPC間で、パケットを定期的に通信し合い、お互いが動作しているかどうかを確認しあいます。片方が、片方からのパケットが届かないことを検知したら、相手が死んだと判断して、自分自身をアクティブにします。アクティブにして、何をするか?は設定しだいということです。 | ||
+ | |||
+ | *インストール [#lda7a81d] | ||
+ | # emerrge heartbeat | ||
+ | 終了~ | ||
+ | *設定 [#ad1fcedf] | ||
+ | またもやSRV1(192.168.1.1)、SRV2(192.168.1.2)に登場していただきましょう。 | ||
+ | **設定ファイルの雛形をコピー [#ka3dc233] | ||
+ | /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を設定 [#s218785f] | ||
+ | authkeysのフォーマットは以下のようになっています | ||
+ | auth 1 | ||
+ | 1 crc | ||
+ | #2 sha1 HI! | ||
+ | #3 md5 Hello! | ||
+ | デフォルトだとこんな感じ。まず、1行目のauthを1、2、3のいずれかにします。これで、heartbeatパケットの認証方式を選択します。SHA1やMD5の方がいいだろうと思うのですが、何故かうまく行きませんでした…1番のCRCを選択しています。そして、ファイルのパーミッションを変更してやります。 | ||
+ | # chmod 600 authkeys | ||
+ | |||
+ | **ha.cfの設定 [#t0ce69ee] | ||
+ | 重要なのは以下の点。 | ||
+ | :keepalive|heartbeatの感覚 | ||
+ | :deadtime|どれぐらいで死んだと判断するか | ||
+ | :initdead|起動時にどれぐらいで相手が死んだと判断するか | ||
+ | :HeartBeatで通信するポート|serial,bcast,mcast,ucastのいずれかです。serialはシリアルポート、bcastは特定ポートにブロードキャスト、mcastはマルチキャスト、ucastはユニキャストです。serialは、専用の通信線でピア2ピアで通信するため、信頼性は最も高い。その他はEtherでもOK。お手軽ですが信頼性は若干下がる。 | ||
+ | :auto_failback|後で述べる、haresourcesとの設定に関わる。これを設定しておくと、マスタサーバが障害から復旧時に、自動的にマスタサーバに優先権を戻してくれる | ||
+ | :node|クラスタに参加する全てのノードを記述しておく。うちでは2台なので、2台登録しておく。uname -nを打って出てきた名前を書いておくです。SRV1,SRV2を書いておきましょう | ||
+ | |||
+ | この辺を記述しておけばとりあえずOK | ||
+ | これを双方のサーバSRV1,SRV2に置いておきます。 | ||
+ | **haresources [#j18b3f25] | ||
+ | haresourcesは、自分がアクティブになったときに何をするか、を以下のフォーマットで記述していきます。 | ||
+ | マスタノード名 アドレス コマンド::オプション コマンド::オプション コマンド::オプション.... | ||
+ | -マスタノード名は、優先するノード。先のauto_failbackが設定されている場合は、こちらのサーバが復帰すると、マスタノード側がアクティブに戻るように動いてくれます。 | ||
+ | -アドレスは、双方で引き継ぎあうアドレスです。アクティブになると、このアドレスを自分のノードにつけるように動作します。 | ||
+ | -コマンド::オプションは、/etc/ha.d/resource.d(こちらが優先)もしくは、/etc/init.d/の下にあるコマンドを呼び出します。オプションがついていると、アクティブになるときには | ||
+ | コマンド オプション start | ||
+ | スタンバイになるときには | ||
+ | コマンド オプション stop | ||
+ | というコマンドを自動実行します。 | ||
+ | |||
+ | *動作確認 [#e9e9642b] | ||
+ | # /etc/init.d/heartbeat start | ||
+ | # rc-update add heartbeat default | ||
+ | をSRV1,SRV2で動かします。/var/log/messageを見てみましょう。どうでしょうか??うまく通信成立してるのが見えますか? | ||
+ | |||
+ | ためしに片方HeartBeatを落としてみましょう。もう片方にアドレスがつけ変わってますか?そこまで行けば、HeartBeatが正常稼動した証拠ですね。 |
(This host) = https://femt.ddo.jp