クラスタ構成において、サーバ、ネットワーク、リソース、ディスクの稼働状態、故障状況を一元的に表示するツールです。 Heartbeatに付属のツール crm_monで表示できなかったネットワーク、ディスクの稼働状態、リソースの故障状況(以下、拡張情報)も含めてクラスタの状況を表示します。
作成とテストは RHEL5.5(CentOS5.5) + Heartbeat2.1.4 で行っています。他の環境でのテストは行っていませんので、問題があれば linux-ha-japan@lists.souceforge.jp にご報告ください。
注 : Heartbeat2.1.4ではcrm_monも拡張され、fail_count等の表示は可能となっていますが、Interconnect LANの表示は実現されていません。
(1) リソースの稼動状況
(2) リソースの故障情報
(3) ネットワークの動作状況
(4) ディスクの動作状況
以下に表示例を示します。(注:★を含む文は説明のためであり、実際には表示されません)
本例はheartbeat-2.1.4でhb_monitor-1.03-1を動作させたものです。
============ Last updated: Tue Feb 15 14:31:07 2011 Current DC: hb02 (931a8c0b-0d94-47fe-97da-dc199564a419) 2 Nodes configured. 3 Resources configured. ============ Node: hb02 (931a8c0b-0d94-47fe-97da-dc199564a419): online Node: hb01 (1ce77d87-d0fa-4c2b-aa05-13a6c809df1e): online Resource Group: grpPg ★(1) リソースの動作状況 prmEx (ocf::heartbeat:sfex): Started hb01 prmFs (ocf::heartbeat:Filesystem): Started hb01 prmIp (ocf::heartbeat:IPaddr): Started hb01 prmPg (ocf::heartbeat:pgsql): Started hb01 prmStonithN1 (stonith:external/stonith-wrapper): Started hb02 prmStonithN2 (stonith:external/stonith-wrapper): Started hb01 Fail-count: ★(2) リソースの故障情報 ResourceID: prmAp (fail-count::hb02:1): Resource is failure !! Instance attributes: ★(3)ネットワークの動作状況(pingd), (4)ディスクの動作状況(diskd) attribute (diskcheck_status_internal::hb02:normal): Disk is working attribute (probe_complete::hb02:true) attribute (diskcheck_status::hb02:normal): Disk is working attribute (default_ping_set::hb02:100): Link is working attribute (diskcheck_status_internal::hb01:normal): Disk is working attribute (probe_complete::hb01:true) attribute (diskcheck_status::hb01:normal): Disk is working attribute (standby::hb01:off) attribute (default_ping_set::hb01:100): Link is working Interconnect-LAN: ★(3)ネットワークの動作状況(Interconnect-LAN) heartbeat-comm (eth2::hb02:up): Heartbeat is working heartbeat-comm (eth1::hb02:up): Heartbeat is working heartbeat-comm (eth2::hb01:up): Heartbeat is working heartbeat-comm (eth1::hb01:up): Heartbeat is working Failed actions: prmAp_monitor_10000 (node=hb02, call=17, rc=7): complete
本ツールのパッケージ hb-monitor-1.03-1.hb214.x86_64.rpm をダウンロードします。その後、以下のようにrpmコマンドを使ってインストールします。
# rpm -ivh hb-monitor-1.03-1.hb214.x86_64.rpm 準備中... ########################################### [100%] 1:hb-monitor ########################################### [100%]注意:hb-monitor-1.03のrpmパッケージはHeartbeat2.1.4を必要とします。
hb-monitorは単体でビルドすることはできません。Heartbeat本体と一緒にビルドします。 buildに必要なファイルは以下です。
hb-monitorをbuildし、インストールする手順は以下の通りです。
(1) Heartbeatのソースコードアーカイブを展開します。
tar jxvf Heartbeat-2-1-STABLE-2.1.4.tar.bz2 Heartbeat-2-1-STABLE-2.1.4/ Heartbeat-2-1-STABLE-2.1.4/config.sub (略)(2) クラスタ状態表示ツールのパッチを適用します。
$ cd Heartbeat-2-1-STABLE-2.1.4 $ patch –p 1 < ../ hb-monitor-1.03-1.hb214.patch patching file configure.in patching file crm/admin/Makefile.am patching file crm/admin/hb_monitor/Makefile.am patching file crm/admin/hb_monitor/hb_monitor.c patching file crm/admin/hb_monitor/hb_monitor.spec patching file heartbeat.spec.in(3) Heartbeatのconfigureを実行します。
$ ./ConfigureMe bootstrap Configure flags for RedHat Linux: --prefix=/usr --sysconfdir=/etc --localstatedir=/var --mandir=/usr/share/man --disable-rpath Running ./bootstrap --prefix=/usr --sysconfdir=/etc --localstatedir=/var --mandir=/usr/share/man --disable-rpath (略) Now type 'gmake' to compile the system, noting that 'gmake' is often available as 'make'.(4) Heartbeatの replaceディレクトリ以下をビルドします。
$ cd replace $ make if /bin/sh ../libtool --tag=CC --tag=CC --mode=compile gcc -DHAVE_CONFIG_H (略) ranlib .libs/libreplace.a creating libreplace.la (cd .libs && rm -f libreplace.la && ln -s ../libreplace.la libreplace.la)(5) Heartbeatの libディレクトリ以下をビルドします。
$ cd ../lib $ make Making all in pils gmake[1]: ディレクトリ `/tmp/Heartbeat-2-1-STABLE-2.1.4/lib/pils' に入ります if /bin/sh ../../libtool --tag=CC --tag=CC --mode=compile gcc -DHAVE_CONFIG_H (略) (cd .libs && rm -f libhbmgmtcommon.la && ln -s ../libhbmgmtcommon.la libhbmgmtcommon.la) gmake[1]: ディレクトリ `/tmp/Heartbeat-2-1-STABLE-2.1.4/lib/mgmt' から出ます gmake[1]: ディレクトリ `/tmp/Heartbeat-2-1-STABLE-2.1.4/lib' に入ります gmake[1]: `all-am' に対して行うべき事はありません. gmake[1]: ディレクトリ `/tmp/Heartbeat-2-1-STABLE-2.1.4/lib' から出ます(6) クラスタ状態表示ツールをビルドします。
$ cd ../crm/admin/hb_monitor $ make if gcc -DHAVE_CONFIG_H -I. -I. -I../../../include -I../../../include -I../../../include (略) /pengine/.libs/libpe_status.so -lbz2 -lz -lxml2 -lc -luuid -lpam -lrt /usr/lib64/libltdl.so -ldl creating hb_monitor(7) クラスタ状態表示ツールをインストールします。
$ su # make install gmake[1]: ディレクトリ `/tmp/Heartbeat-2-1-STABLE-2.1.4/crm/admin/hb_monitor' に入ります gmake[1]: `install-exec-am' に対して行うべき事はありません. (略) /usr/bin/install -c .libs/hb_monitor /usr/sbin/hb_monitor gmake[1]: ディレクトリ `/tmp/Heartbeat-2-1-STABLE-2.1.4/crm/admin/hb_monitor' から出ます
Heartbeat本体とhb-monitorを合わせて、ビルドする場合は、hb-monitorのパッチ適用後、Heartbeatのインストール手順(リンク)にしがたい、Heartbeatをビルド、インストールしてください。
以下に代表的な使用方法を示します。
# hb_monitor -e -1
# hb_monitor -e -i 1 -n
[PageInfo]
LastUpdate: 2011-02-16 08:52:08, ModifiedBy: takayukitanaka
[Permissions]
view:all, edit:login users, delete/config:members