Last Updated on 2016年12月16日 by かんりにん
[pukiwiki]
#topicpath
#contents
*クラスタリング/heartbeat [#t91d7900]
2台のホスト間でのクラスタリングを構成する。以下のような機能を提供する。
+~フェイルオーバ機能
2つのノードでアクティブ/スタンバイ構成とし、
フェイルオーバー、フェイルバック機能を提供。
+~共有リソースの切替
サーバー間で仮想IP、サービスの引継ぎを実行。
+~稼動監視、サービス監視(heartbeat-ldirectord)
IPでの監視のほか、シリアルIFでの監視も可能。
+~GUIコンソール
通常はコマンドラインから作業が必須だったが、
バージョン2.0.5より対応(検証中)。
**参考サイト
お世話になっております!
-heartbeat
–Linux-HA.org
http://linux-ha.org/HeartbeatProgram
http://linux-ha.org/download/
–UltraMonkey
http://www.ultramonkey.org/
日本語ページ有り
-libnet
http://packetfactory.net/libnet/
-ダウンロードページ
–libnet
http://mirror.centos.org/centos/4/extras/SRPMS/
–heartbeat
http://linux-ha.org/download/
そのほか、CentOSのパッケージページから、SRPMをダウンロード。
*構成ファイルとバージョン
 ※依存関係でインストールする追加パッケージは割愛。
  各作業ログを参照のこと。
・libnet
 libnet-1.1.2.1-2.rf.i386.rpm			libnet本体
・heartbeat
 heartbeat-2.0.0-1.i386.rpm			heartbeat本体
 heartbeat-stonith-2.0.0-1.i386.rpm		ユーティリティファイル
 heartbeat-pils-2.0.0-1.i386.rpm		ユーティリティファイル
 heartbeat-ldirectord-2.0.0-1.i386.rpm		共有リソースの監視用パッケージ
*作業ログ
**1)ダウンロードとインストール [#e08f1f16]
***libnet [#b5233061]
使用バージョンは1.1.2.1-2。
heartbeatのインストールに必要となるので、事前にビルド/インストール。
+ダウンロードとビルド
 # cd /usr/src/redhat/SRPM/
 # wget http://mirror.centos.org/centos/4/extras/SRPMS/libnet-1.1.2.1-2.rf.src.rpm
 # rpm -Uvh libnet-1.1.2.1-2.rf.src.rpm
 # cd ../SPECS/
 # rpmbuild -bb libnet-1.1.2.1-rf.spec
+インストール
 # rpm -ivh ../RPMS/i386/libnet-1.1.2.1-2.rf.i386.rpm
-ビルドしたパッケージの一覧
 /usr/src/redhat/RPMS/i386/libnet-1.1.2.1-2.rf.i386.rpm
 /usr/src/redhat/RPMS/i386/libnet-debuginfo-1.1.2.1-2.rf.i386.rpm
***heartbeat [#aaeabd55]
使用バージョンは2.0.0。ソースRPMからビルド/コンパイルする。
heartbeatのインストールには以下のパッケージが必要。
事前に確認し、不足分はインストールしておく。
 glib-devel
 libgcrypt-devel
+ダウンロードとビルド
 # cd /usr/src/redhat/SRPM/
 # wget http://linux-ha.org/download/heartbeat-2.0.0-1.src.rpm
 # rpm -Uvh heartbeat-2.0.0-1.src.rpm
 # cd ../SPECS/
 # rpmbuild -bb heartbeat.spec
-ビルドしたパッケージの一覧
 /usr/src/redhat/RPMS/i386/heartbeat-2.0.0-1.i386.rpm
 /usr/src/redhat/RPMS/i386/heartbeat-ldirectord-2.0.0-1.i386.rpm
 /usr/src/redhat/RPMS/i386/heartbeat-stonith-2.0.0-1.i386.rpm
 /usr/src/redhat/RPMS/i386/heartbeat-pils-2.0.0-1.i386.rpm
 /usr/src/redhat/RPMS/i386/heartbeat-debuginfo-2.0.0-1.i386.rpm
+インストール
heartbeat-ldirectordとheartbeat-debuginfoを除くパッケージを
まずインストール。
 # rpm -ivh heartbeat-2.0.0-1.i386.rpm \
 > heartbeat-stonith-2.0.0-1.i386.rpm \
 > heartbeat-pils-2.0.0-1.i386.rpm
 Preparing…                ########################################### [100%]
    1:heartbeat-pils         ########################################### [ 33%]
    2:heartbeat-stonith      ########################################### [ 67%]
    3:heartbeat              ########################################### [100%]
***heartbeat-ldirectord [#n06474cc]
+ダウンロードとビルド
パッケージはheartbeatのビルド時に同時に作成されるので割愛。
+追加パッケージ
heartbeat-ldirectordはデフォルトでは依存関係によりperlモジュールが必要。
必要としない場合はheartbeatのリビルド時にspecファイルから不要モジュールの記述を削除しておく。
※1.下記のうちRHELのメディアに含まれるのはperl-Net-DNS-0.48-1.i386.rpmのみ。
  そのほかはUltraMonkeyなどからダウンロードする。
※2.但しRH系で最新のものはFedora Core1用だったので、これを利用する。
  可能な限りソースRPMを落としてきてコンパイル。
–perl-Parse-RecDescent
http://www.ultramonkey.org/download/2.0.1/rh.el.3.0/RPMS/perl-Parse-RecDescent-1.80-1.rh.el.um.1.noarch.rpm
–perl-Mail-IMAPClient
http://www.ultramonkey.org/download/2.0.1/fr.c.1/SRPMS/perl-Mail-IMAPClient-2.2.7-1.fr.c.1.um.1.src.rpm
–perl-Net-DNS
以下のパッケージも含む。
 perl-Digest-HMAC
 perl-Digest-SHA
 perl-Net-SSLeay
http://www.ultramonkey.org/download/2.0.1/fr.c.1/SRPMS/perl-Net-SSLeay-1.23-1.fr.c.1.um.1.src.rpm
–perl-ldap
http://www.ultramonkey.org/download/2.0.1/fr.c.1/SRPMS/perl-ldap-0.2701-1.fr.c.1.um.1.src.rpm
–perl-Authen-SASL
http://www.ultramonkey.org/download/2.0.1/fr.c.1/SRPMS/perl-Authen-SASL-2.03-1.fr.c.1.um.1.src.rpm
–perl-IO-Socket-SSL
http://www.ultramonkey.org/download/2.0.1/fr.c.1/SRPMS/perl-Authen-SASL-2.03-1.fr.c.1.um.1.src.rpm
–perl-libnet
http://www.hizlab.net/archive/rpms/perl-libnet/perl-libnet-1.19-1.noarch.rpm
インストール部分は割愛。
+heartbeat-ldirectordのインストール
各パッケージの依存関係が解消したところでldirectordをインストール。
 # rpm -ivh –test heartbeat-ldirectord-2.0.0-1.i386.rpm
 Preparing…                ########################################### [100%]
 # rpm -ivh heartbeat-ldirectord-2.0.0-1.i386.rpm
 Preparing…                ########################################### [100%]
    1:heartbeat-ldirectord   ########################################### [100%]
 # 
**2)構成の概要 [#zaac88fa]
インストール直後のファイル構成は以下のとおり。
:設定ファイルディレクトリ|/etc/ha.d/
但しインストール直後はコンフィグファイルが無いので
/usr/share/doc/heartbeat-2.0.0/からコピーして配置する。
:サービススクリプト|
heartbeatが用意するフェイルオーバー用起動スクリプトとして
デフォルトで/etc/ha.d/resource.d/以下に設置される。
これらは仮想IPの切替や共有ディスクのマウント、Raidなどの切替用に使用する。
heartbeatで共有リソースを指定するスクリプトは
/etc/ha.d/resource.d/のほか、/etc/init.d/も検索対象となる。
上記のディレクトリに置かれているスクリプトはそのままの名称で指定OK。
**3)設定 [#m5b885ca]
***heartbeat [#w88d25b8]
heartbeatを構成する設定は以下のとおり。
-クラスタ設定
クラスタ構成ノード、主系サーバの指定、ログ出力先、keepaliveやタイムアウトの指定など
-共有リソース設定
クラスタ間で共有するリソース(仮想IP、共有ディスク、アプリケーション)の指定
IPは今回以下の組み合わせで設定。
–仮想IP[主系・副系がそれぞれアクティブの際に使用するIP]
192.168.0.1
–主系サーバIP
192.168.0.2
–副系サーバIP
192.168.0.3
-メール通知設定
状態変化時に通知するメールの宛先、内容の指定
-認証キー設定
クラスタ間で行う通信の認証方式
+クラスタの設定
 設定ファイル	:/etc/ha.d/ha.cf
 サンプルファイル	:/usr/share/doc/heartbeat-2.0.0/ha.cf
クラスタ設定は/etc/ha.d/ha.cfで設定。
 # cd /etc/ha.d/
 # cp /usr/share/doc/heartbeat-2.0.0/ha.cf /etc/ha.d/
 # vi ha.cf
–[設定パラメータ]
主系サーバの編集後の設定値を抜粋。
 # grep -v ^# /etc/ha.d/ha.cf | sed -e “s/TexttoRemove//g”
 debugfile 		/var/log/ha-debug
 logfile		/var/log/ha-log
 logfacility	local0
 keepalive		2
 deadtime		30
 warntime		10
 initdead		120
 udpport		694				←ポート694番:ha-cluster
 ucast		eth0 192.168.0.3
 auto_failback	on
 watchdog		/dev/watchdog
 node		host2
 ping		192.168.0.3
 respawn		hacluster /usr/lib/heartbeat/ipfail
 apiauth		ipfail gid=haclient uid=hacluster
+共有リソースの設定
 設定ファイル	:/etc/ha.d/haresources
 サンプルファイル	:/usr/share/doc/heartbeat-2.0.0/haresources
共有リソースの定義は/etc/ha.d/haresourcesで行う。
こちらもサンプルファイルを利用して編集。
主系/副系で同じ設定にする。
 # cp /usr/share/doc/heartbeat-2.0.0/haresources /etc/ha.d/
 # vi haresources
–設定例)
上記の3つのサービスを順番に起動する場合の例。今回は下記の設定で起動テストを行う。
++仮想IPを設定
++共有ディスク/dev/drdb0を/mnt/shareにマウント
※DRBDでマウントされる共有ディスクを使用する場合、
heartbeat起動前にプライマリにしておくこと。
セカンダリになっていると起動に失敗する。
++httpデーモンを起動
[設定内容]
 host1 192.168.0.1/24 drbddisk Filesystem::/dev/drbd0::/mnt/share::ext3 httpd
+メール通知の設定
 設定ファイル	:/etc/ha.d/haresources
今回検証したバージョン2.0からheartbeatの動作に応じて
メール通知を行うスクリプトが追加されたので、設定を追加。
スクリプト実行のトリガーとなる動作は以下のとおり。
-heartbeatデーモン起動
-フェイルオーバー時
-フェイルバック時
 スクリプト名	:/etc/ha.d/resource.d/MailTo
 設定項目		:/etc/ha.d/haresourcesへ記述する。
–[記述例]
書式は
 <主系ホスト名> <スクリプト名>::<通知先アドレス>::<サブジェクト>
 host1 MailTo::testuser@host.example.com::heartbeat
+認証方式と認証鍵の設定
 設定ファイル	:/etc/ha.d/authkey
 サンプルファイル	:/usr/share/doc/heartbeat-2.0.0/authkey
サーバ間の通信の認証方法と認証に使う鍵(文字列)を指定する。
/etc/ha.d/authkeyに設定を追記。
 # cp /usr/share/doc/heartbeat-2.0.0/authkeys /etc/ha.d/
 # vi authkeys
–[認証方法]
サーバ間の認証には以下の3つの方法を指定可能。
 ・sha1		SHA1による暗号化を実施。
 ・md5		MD5方式による暗号化。
 ・crc		暗号化なし、パケットの整合性のみチェックを実施。
 		※シリアルケーブルでの通信の場合はこの方式。
今回は起動とフェイルオーバのテストなのでcrcでテストする。
–[記述内容]
 auth 1		←優先番号
 1 crc		←認証方式
設定が終わったらセキュリティのためパーミッションを設定。
 # chmod 600 authkeys
※この時点でheartbeatの運用開始が可能。
***heartbeat-ldirectord [#xb1d56e9]
今回は割愛。
**4)動作検証 [#pa2fbc72]
***単独の動作検証 [#tc481b91]
+heartbeatサービスの起動(主系)
設定が完了したら主系ノードで動作を確認。
事前にharesourcesで指定した共有リソースが停止/無効になっていることを確認する。
 # /etc/init.d/heartbeat start
同時に/var/log/ha-logを確認しておく。
–[リソース開始時のログ出力]
仮想IP、DRBDデバイスのマウント、httpdの起動の順に確認できる。
 harc[4738]:     2006/09/26_12:13:19 info: Running /etc/ha.d/rc.d/status status
 heartbeat[4731]: 2006/09/26_12:13:21 info: standby: acquire [foreign] resources from host2
 heartbeat[4749]: 2006/09/26_12:13:21 info: acquire local HA resources (standby).
 ResourceManager[4759]:  2006/09/26_12:13:22 info: Acquiring resource group: host1 192.168.0.1/
 24 drbddisk Filesystem::/dev/drbd0::/mnt/share::ext3 httpd
 ResourceManager[4759]:  2006/09/26_12:13:22 info: Running /etc/ha.d/resource.d/IPaddr 192.168.0.1/24 start
 IPaddr[4817]:   2006/09/26_12:13:22 info: /sbin/ifconfig eth0:0 192.168.0.1 netmask 255.255.25
 5.0    broadcast 192.168.0.255
 IPaddr[4817]:   2006/09/26_12:13:22 info: Sending Gratuitous Arp for 192.168.0.1 on eth0:0 [et
 h0]
 IPaddr[4817]:   2006/09/26_12:13:22 /usr/lib64/heartbeat/send_arp -i 500 -r 10 -p /var/lib/heartb
 eat/rsctmp/send_arp/send_arp-192.168.0.1 eth0 192.168.0.1 auto 192.168.0.1 ffffffffffff
 ResourceManager[4759]:  2006/09/26_12:13:23 info: Running /etc/ha.d/resource.d/drbddisk  start
 ResourceManager[4759]:  2006/09/26_12:13:23 info: Running /etc/ha.d/resource.d/Filesystem /dev/dr
 bd0 /mnt/share ext3 start
 ResourceManager[4759]:  2006/09/26_12:13:23 info: Running /etc/init.d/httpd  start
 ResourceManager[5026]:  2006/09/26_12:13:24 info: Acquiring resource group: host1 MailTo::testuser@host.exa
 mple.com::heartbeat
 ResourceManager[5026]:  2006/09/26_12:13:24 info: Running /etc/ha.d/resource.d/MailTo testuser@host.example
 .com heartbeat start
 heartbeat[4749]: 2006/09/26_12:13:24 info: local HA resource acquisition completed (standby).
 heartbeat[4731]: 2006/09/26_12:13:24 info: Standby resource acquisition done [foreign].
 heartbeat[4731]: 2006/09/26_12:13:24 info: Initial resource acquisition complete (auto_failback)
 heartbeat[4731]: 2006/09/26_12:13:24 info: remote resource transition completed.
–[通知メール]
設定したアドレスに以下のメールを配信。
 主系:heartbeat Takeover in progress on host1
 副系:無し
–[リソースの確認]
・共有ディスクのマウント確認
 # mount | grep drbd
 /dev/drbd0 on /mnt/share type ext3 (rw)
・ディスク容量とマウントポイントの確認
 # df -k
 Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
 /dev/sda3              7637400   2217080   5032352  31% /
 /dev/sda1               101086     11424     84443  12% /boot
 none                    159892         0    159892   0% /dev/shm
 /dev/drbd0              505636     10544    468987   3% /mnt/share
 #
・ネットワークの確認
共有リソースに割り当てた仮想IPが有効になっていることを確認
 # ifconfig (仮想IFのみ抜粋)
 eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:1B:B0:F2
           inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           Interrupt:185 Base address:0x1480
・登録したサービスの確認
今回登録したhttpdが正常起動していることを確認。
 # ps aux | grep http
 root      8767  0.0  1.4 14768 4560 ?        Ss   10:14   0:00 /usr/sbin/httpd
 apache    8768  0.0  0.7 14904 2356 ?        S    10:14   0:00 /usr/sbin/httpd
 apache    8769  0.0  0.7 14904 2356 ?        S    10:14   0:00 /usr/sbin/httpd
 apache    8770  0.0  0.7 14904 2356 ?        S    10:14   0:00 /usr/sbin/httpd
 apache    8771  0.0  0.7 14904 2356 ?        S    10:14   0:00 /usr/sbin/httpd
 apache    8772  0.0  0.7 14904 2356 ?        S    10:14   0:00 /usr/sbin/httpd
 apache    8773  0.0  0.7 14904 2356 ?        S    10:14   0:00 /usr/sbin/httpd
 apache    8774  0.0  0.7 14904 2356 ?        S    10:14   0:00 /usr/sbin/httpd
 apache    8775  0.0  0.7 14904 2356 ?        S    10:14   0:00 /usr/sbin/httpd
+heartbeatサービスの起動(副系)
主系のheartbeartを起動後にこちらも起動する。
 # /etc/init.d/heartbeat start
–[主系ログ]
副系ノードのリンクアップを確認後、ステータスがアクティブに設定される。
 heartbeat[10754]: 2006/09/26_14:16:59 info: Link host2:eth0 up.
 heartbeat[10754]: 2006/09/26_14:16:59 info: Local status now set to: ‘active’
 heartbeat[10754]: 2006/09/26_14:16:59 info: Starting child client “/usr/lib64/heartbeat/ipfail” (
 500,500)
 heartbeat[10754]: 2006/09/26_14:16:59 info: Status update for node host2: status up
 heartbeat[10762]: 2006/09/26_14:16:59 info: Starting “/usr/lib64/heartbeat/ipfail” as uid 500  gi
 d 500 (pid 10762)
 harc[10763]:    2006/09/26_14:16:59 info: Running /etc/ha.d/rc.d/status status
 heartbeat[10754]: 2006/09/26_14:16:59 info: Status update for node host2: status active
 harc[10773]:    2006/09/26_14:17:00 info: Running /etc/ha.d/rc.d/status status
***フェイルオーバーの動作検証 [#l9f0930b]
主系・副系のheartbeatサービスが起動した状態での
フェイルオーバー・フェイルバックを確認。
+主系heartbeatサービス停止→副系共有サービス起動(シャットダウン→フェイルオーバー)
主系のデーモンを通常に停止した際の副系の動作を確認。
–[通知メール]
 主系:heartbeat Migrating resource away from host1
 副系:heartbeat Takeover in progress on host2
–[主系ログ]
サービスの停止を確認。
 heartbeat[11924]: 2006/09/26_14:34:03 info: Heartbeat shutdown in progress. (11924)
 heartbeat[12230]: 2006/09/26_14:34:03 info: Giving up all HA resources.
 ResourceManager[12240]: 2006/09/26_14:34:03 info: Releasing resource group: host1 192.168.0.1/
 24 drbddisk Filesystem::/dev/drbd0::/mnt/share::ext3 httpd
 ResourceManager[12240]: 2006/09/26_14:34:04 info: Running /etc/init.d/httpd  stop
 ResourceManager[12240]: 2006/09/26_14:34:04 info: Running /etc/ha.d/resource.d/Filesystem /dev/dr
 bd0 /mnt/share ext3 stop
 ResourceManager[12240]: 2006/09/26_14:34:04 info: Running /etc/ha.d/resource.d/drbddisk  stop
 ResourceManager[12240]: 2006/09/26_14:34:04 info: Running /etc/ha.d/resource.d/IPaddr 192.168.0.1/24 stop
 IPaddr[12366]:  2006/09/26_14:34:04 info: /sbin/route -n del -host 192.168.0.1
 IPaddr[12366]:  2006/09/26_14:34:05 info: /sbin/ifconfig eth0:0 down
 IPaddr[12366]:  2006/09/26_14:34:05 info: IP Address 192.168.0.1 released
 heartbeat[12230]: 2006/09/26_14:34:05 info: All HA resources relinquished.
— 中略 —
 heartbeat[11924]: 2006/09/26_14:34:08 info: Heartbeat shutdown complete.
–[副系ログ]
リソースのフェイルオーバーを確認。
keepalive=2に設定されているので、主系のheartbeat停止を検知したのち
2秒後にサービスを開始。
ログの1行目で、host1からshutdownコマンドを受けていることが確認できる。
 heartbeat[16187]: 2006/09/26_14:34:05 info: Received shutdown notice from ‘host1’.
 heartbeat[16187]: 2006/09/26_14:34:05 info: Resources being acquired from host1.
 heartbeat[17309]: 2006/09/26_14:34:05 info: acquire local HA resources (standby).
 heartbeat[17309]: 2006/09/26_14:34:05 info: local HA resource acquisition completed (standby).
 heartbeat[16187]: 2006/09/26_14:34:05 info: Standby resource acquisition done [foreign].
 heartbeat[17310]: 2006/09/26_14:34:05 info: No local resources [/usr/lib64/heartbeat/ResourceMana
 ger listkeys host2] to acquire.
 harc[17329]:    2006/09/26_14:34:05 info: Running /etc/ha.d/rc.d/status status
 mach_down[17339]:       2006/09/26_14:34:05 info: Taking over resource group 192.168.0.1/24
 ResourceManager[17359]: 2006/09/26_14:34:05 info: Acquiring resource group: host1 192.168.0.1/
 24 drbddisk Filesystem::/dev/drbd0::/mnt/share::ext3 httpd
 ResourceManager[17359]: 2006/09/26_14:34:05 info: Running /etc/ha.d/resource.d/IPaddr 192.168.0.1/24 start
 IPaddr[17417]:  2006/09/26_14:34:06 info: /sbin/ifconfig eth0:0 192.168.0.1 netmask 255.255.25
 5.0    broadcast 192.168.144.255
 IPaddr[17417]:  2006/09/26_14:34:06 info: Sending Gratuitous Arp for 192.168.0.1 on eth0:0 [et
 h0]
 IPaddr[17417]:  2006/09/26_14:34:06 /usr/lib64/heartbeat/send_arp -i 500 -r 10 -p /var/lib/heartb
 eat/rsctmp/send_arp/send_arp-192.168.0.1 eth0 192.168.0.1 auto 192.168.0.1 ffffffffffff
 ResourceManager[17359]: 2006/09/26_14:34:06 info: Running /etc/ha.d/resource.d/drbddisk  start
 ResourceManager[17359]: 2006/09/26_14:34:06 info: Running /etc/ha.d/resource.d/Filesystem /dev/dr
 bd0 /mnt/share ext3 start
 ResourceManager[17359]: 2006/09/26_14:34:07 info: Running /etc/init.d/httpd  start
 mach_down[17339]:       2006/09/26_14:34:07 info: /usr/lib64/heartbeat/mach_down: nice_failback:
 foreign resources acquired
 heartbeat[16187]: 2006/09/26_14:34:07 info: mach_down takeover complete.
 mach_down[17339]:       2006/09/26_14:34:07 info: mach_down takeover complete for node host1.
フェイルオーバーの完了を確認後、リソースの正常性を確認する。
+主系heartbeatサービス停止→副系共有サービス起動(電源OFF→フェイルオーバー)
主系ノードがダウンした際の副系の動作を確認。
ping監視の停止を確認後、フェイルオーバーが行われる。
–[通知メール]
 主系:なし
 副系:heartbeat Takeover in progress on host2
 [副系]
 heartbeat[16187]: 2006/09/26_14:51:03 WARN: node 192.168.0.2: is dead
 heartbeat[16187]: 2006/09/26_14:51:03 info: Link 192.168.0.2:192.168.0.2 dead.
 harc[17844]:    2006/09/26_14:51:03 info: Running /etc/ha.d/rc.d/status status
 heartbeat[16187]: 2006/09/26_14:51:04 WARN: node host1: is dead
 heartbeat[16187]: 2006/09/26_14:51:04 WARN: No STONITH device configured.
 heartbeat[16187]: 2006/09/26_14:51:04 WARN: Shared disks are not protected.
 heartbeat[16187]: 2006/09/26_14:51:04 info: Resources being acquired from host1.
 heartbeat[16187]: 2006/09/26_14:51:04 info: Link host1:eth0 dead.
 harc[17860]:    2006/09/26_14:51:04 info: Running /etc/ha.d/rc.d/status status
 heartbeat[17861]: 2006/09/26_14:51:04 info: No local resources [/usr/lib64/heartbeat/ResourceMana
 ger listkeys host2] to acquire.
 mach_down[17871]:       2006/09/26_14:51:04 info: Taking over resource group 192.168.0.1/24
 ResourceManager[17900]: 2006/09/26_14:51:04 info: Acquiring resource group: host1 192.168.0.1/
 24 drbddisk Filesystem::/dev/drbd0::/mnt/share::ext3 httpd
 ResourceManager[17900]: 2006/09/26_14:51:05 info: Running /etc/ha.d/resource.d/IPaddr 192.168.0.1/24 start
 IPaddr[17958]:  2006/09/26_14:51:05 info: /sbin/ifconfig eth0:0 192.168.0.1 netmask 255.255.25
 5.0    broadcast 192.168.0.255
 IPaddr[17958]:  2006/09/26_14:51:05 info: Sending Gratuitous Arp for 192.168.0.1 on eth0:0 [et
 h0]
 IPaddr[17958]:  2006/09/26_14:51:05 /usr/lib64/heartbeat/send_arp -i 500 -r 10 -p /var/lib/heartb
 eat/rsctmp/send_arp/send_arp-192.168.0.1 eth0 192.168.0.1 auto 192.168.0.1 ffffffffffff
 ResourceManager[17900]: 2006/09/26_14:51:05 info: Running /etc/ha.d/resource.d/drbddisk  start
 ResourceManager[17900]: 2006/09/26_14:51:05 info: Running /etc/ha.d/resource.d/Filesystem /dev/dr
 bd0 /mnt/share ext3 start
 ResourceManager[17900]: 2006/09/26_14:51:06 info: Running /etc/init.d/httpd  start
 mach_down[17871]:       2006/09/26_14:51:06 info: /usr/lib64/heartbeat/mach_down: nice_failback:
 foreign resources acquired
 heartbeat[16187]: 2006/09/26_14:51:06 info: mach_down takeover complete.
 mach_down[17871]:       2006/09/26_14:51:06 info: mach_down takeover complete for node host1.
+主系heartbeatサービス起動→副系共有サービス停止(フェイルバック)
–[通知メール]
 主系:heartbeat Takeover in progress on host1
 副系:heartbeat Migrating resource away from host2
–[主系]
副系との通信を確立し、共有サービスの停止を確認後、主系で共有サービスを起動。
 heartbeat[12466]: 2006/09/26_14:44:27 info: Configuration validated. Starting heartbeat 2.0.0
 heartbeat[12467]: 2006/09/26_14:44:27 info: heartbeat: version 2.0.0
 heartbeat[12467]: 2006/09/26_14:44:27 info: Heartbeat generation: 19
— 中略 —
 heartbeat[12467]: 2006/09/26_14:44:28 info: Link 192.168.0.3:192.168.0.3 up.
 heartbeat[12467]: 2006/09/26_14:44:28 info: Status update for node 192.168.0.3: status ping
 heartbeat[12467]: 2006/09/26_14:44:29 info: Link host2:eth0 up.
 heartbeat[12467]: 2006/09/26_14:44:29 info: Status update for node host2: status active
 heartbeat[12467]: 2006/09/26_14:44:29 info: Local status now set to: ‘active’
 heartbeat[12467]: 2006/09/26_14:44:29 info: Starting child client “/usr/lib64/heartbeat/ipfail” (
 500,500)
 heartbeat[12467]: 2006/09/26_14:44:29 info: remote resource transition completed.
— 中略 —
 heartbeat[12486]: 2006/09/26_14:44:31 info: acquire local HA resources (standby).
 ResourceManager[12496]: 2006/09/26_14:44:32 info: Acquiring resource group: host1 192.168.0.1/
 24 drbddisk Filesystem::/dev/drbd0::/mnt/share::ext3 httpd
 ResourceManager[12496]: 2006/09/26_14:44:32 info: Running /etc/ha.d/resource.d/IPaddr 192.168.0.1/24 start
 IPaddr[12554]:  2006/09/26_14:44:32 info: /sbin/ifconfig eth0:0 192.168.0.1 netmask 255.255.25 5.0 broadca
 st 192.168.0.255
 IPaddr[12554]:  2006/09/26_14:44:32 info: Sending Gratuitous Arp for 192.168.0.1 on eth0:0 [et
 h0]
 IPaddr[12554]:  2006/09/26_14:44:32 /usr/lib64/heartbeat/send_arp -i 500 -r 10 -p /var/lib/heartb
 eat/rsctmp/send_arp/send_arp-192.168.0.1 eth0 192.168.0.1 auto 192.168.0.1 ffffffffffff
 ResourceManager[12496]: 2006/09/26_14:44:32 info: Running /etc/ha.d/resource.d/drbddisk  start
 ResourceManager[12496]: 2006/09/26_14:44:33 info: Running /etc/ha.d/resource.d/Filesystem /dev/dr
 bd0 /mnt/share ext3 start
 ResourceManager[12496]: 2006/09/26_14:44:33 info: Running /etc/init.d/httpd  start
 heartbeat[12486]: 2006/09/26_14:44:34 info: local HA resource acquisition completed (standby).
 heartbeat[12467]: 2006/09/26_14:44:34 info: Standby resource acquisition done [foreign].
 heartbeat[12467]: 2006/09/26_14:44:34 info: Initial resource acquisition complete (auto_failback)
 heartbeat[12467]: 2006/09/26_14:44:34 info: remote resource transition completed.
–[副系]
主系のheartbeatとの通信を確認後、共有リソースを停止。
 heartbeat[16187]: 2006/09/26_14:44:28 info: Heartbeat restart on node host1
 heartbeat[16187]: 2006/09/26_14:44:28 info: Link host1:eth0 up.
 heartbeat[16187]: 2006/09/26_14:44:28 info: Status update for node host1: status init
 heartbeat[16187]: 2006/09/26_14:44:28 info: Status update for node host1: status up
 harc[17642]:    2006/09/26_14:44:28 info: Running /etc/ha.d/rc.d/status status
 harc[17652]:    2006/09/26_14:44:28 info: Running /etc/ha.d/rc.d/status status
 heartbeat[16187]: 2006/09/26_14:44:29 info: Status update for node host1: status active
 heartbeat[16187]: 2006/09/26_14:44:29 info: remote resource transition completed.
 heartbeat[16187]: 2006/09/26_14:44:29 info: host2 wants to go standby [foreign]
 heartbeat[16187]: 2006/09/26_14:44:29 info: standby: host1 can take our foreign resources
 heartbeat[17663]: 2006/09/26_14:44:29 info: give up foreign HA resources (standby).
 harc[17662]:    2006/09/26_14:44:29 info: Running /etc/ha.d/rc.d/status status
 ResourceManager[17682]: 2006/09/26_14:44:29 info: Releasing resource group: host1 192.168.0.1/
 24 drbddisk Filesystem::/dev/drbd0::/mnt/share::ext3 httpd
 ResourceManager[17682]: 2006/09/26_14:44:29 info: Running /etc/init.d/httpd  stop
 ResourceManager[17682]: 2006/09/26_14:44:31 info: Running /etc/ha.d/resource.d/Filesystem /dev/dr
 bd0 /mnt/share ext3 stop
 ResourceManager[17682]: 2006/09/26_14:44:31 info: Running /etc/ha.d/resource.d/drbddisk  stop
 ResourceManager[17682]: 2006/09/26_14:44:31 info: Running /etc/ha.d/resource.d/IPaddr 192.168.0.1/24 stop
 IPaddr[17809]:  2006/09/26_14:44:31 info: /sbin/route -n del -host 192.168.0.1
 IPaddr[17809]:  2006/09/26_14:44:31 info: /sbin/ifconfig eth0:0 down
 IPaddr[17809]:  2006/09/26_14:44:31 info: IP Address 192.168.0.1 released
 heartbeat[17663]: 2006/09/26_14:44:31 info: foreign HA resource release completed (standby).
 heartbeat[16187]: 2006/09/26_14:44:31 info: Local standby process completed [foreign].
 heartbeat[16187]: 2006/09/26_14:44:34 WARN: 1 lost packet(s) for [host1] [13:15]
 heartbeat[16187]: 2006/09/26_14:44:34 info: remote resource transition completed.
 heartbeat[16187]: 2006/09/26_14:44:34 info: No pkts missing from host1!
 heartbeat[16187]: 2006/09/26_14:44:34 info: Other node completed standby takeover of foreign reso
 urces.
今回はディスク容量も少なく、起動アプリもhttpdのみだったので軽快にフェイルオーバー、フェイルバックが
切り替わったが、DBやJDKなどで負荷のかかるサーバでの動作については今後も要検証。
[/pukiwiki]
 
