はじめに
第3回では、
今回保守運用を行う環境は、

まずは、
crm_mon
crm_
Pacemakerが稼動しているサーバでcrm_
Online: [ pm01 pm02 ]#サーバ状態表示 Resource Group: web vip (ocf::heartbeat:IPaddr2): Started pm02 httpd (ocf::heartbeat:apache): Started pm02 Resource Group: grpStonith1 stonith1-1 (stonith:external/stonith-helper): Started pm02 stonith1-2 (stonith:external/ipmi): Started pm02 stonith1-3 (stonith:meatware): Started pm02 Resource Group: grpStonith2 stonith2-1 (stonith:external/stonith-helper): Started pm01 stonith2-2 (stonith:external/ipmi): Started pm01 stonith2-3 (stonith:meatware): Started pm01 Clone Set: clone_ping Started: [ pm01 pm02 ]#リソース状態表示 Node Attributes: * Node pm01: + default_ping_set : 100 + pm02-eth1 : up + pm02-eth2 : up * Node pm02: + default_ping_set : 100 + pm01-eth1 : up + pm01-eth2 : up#属性情報表示 Migration summary: * Node pm01: httpd: migration-threshold=1 fail-count=1 * Node pm02:#故障回数表示 Failed actions: httpd_monitor_10000 (node=pm01, call=78, rc=7, status=complete): not running#故障内容表示
- サーバ状態表示
- クラスタシステムを構成しているサーバ名と、
Pacemakerの稼動状態が表示されます。Pacemakerが稼動しているサーバは"Online"と表示され、 停止しているサーバは"OFFLINE"と表示されます。 - リソース状態表示
- Pacemakerが制御しているリソースの状態が表示されます。Resource Groupとして登録したリソースは、
"Started サーバ名"と表示され、 リソース稼動状態と稼働中のサーバ名がわかります。Cloneとして登録したリソースは、 "Started: [ pm01 pm02 ]"などと表示され、 リソース稼動状態と稼働中のサーバ名がわかります。 - 属性情報表示
- インターコネクトLANの状態、
ネットワーク監視の状態などが表示されます。Pacemakerでは、 インターコネクトLANやネットワークの監視において、 表1のように監視対象ごとにそれぞれ属性名と属性値を持っており、 Pacemakerはそれぞれの属性値から監視先の正常/異常を判断しています。
監視先 | 属性名 | 属性値 | |
---|---|---|---|
正常値 | 異常値 | ||
インターネットコネクトLAN | サーバ名- インターフェース名 | up | dead※ |
ネットワーク | default_ | 100 | 0 |
- ※ スプリットブレインなどで相手のサーバを一切認識できなくなったり、
Pacemakerが停止しているサーバの状態については、 表示されなくなります。
- 故障回数表示
- リソースの故障状態が表示されます。リソースの故障を検知すると、
故障が発生したサーバと故障リソースの情報を表示します。故障回数表示に表示される故障情報は、 サーバでリソース故障が起きたというフラグにも使用されており、 そのフラグのことをフェイルカウントと呼びます。また、 migration-threshold が"1"に設定されているため、 1回の故障でフェイルオーバが発生していることがわかります。 (migration-thresholdについては第2回を参照) - 故障内容表示
- 故障回数表示で表示されたリソースの故障内容として、
故障オペレーション (start/ monitor/ stop)、 故障サーバ名、 リターンコード (rc) が表示されます。ただし、 故障内容表示はリソースの故障が発生した場合のみ表示されます。
pm_logconv
Pacemaker標準のログは出力が多く、
pm_
# yum -c /tmp/pacemaker-1.0.10-1.4.1.el5.x86_64.repo/pacemaker.repo install pm_logconv-hb
# vi /etc/inittab
……
logc:2345:respawn:/usr/share/pacemaker/pm_logconv/pm_logconv.py ← /etc/inittabに設定追加
inittabに追加した設定を反映させるために、
# telinit q
# vi /etc/pm_logconv.conf …… [Settings] ha_log_path = /var/log/ha-log ← 第2回でsyslog.confの最後に追記したPacemakerのログファイルパスを設定 output_path = /var/log/pm_logconv.out ← pm_logconvのログ出力ファイルパスを設定 #hostcache_path = /var/lib/heartbeat/hostcache #syslogformat = True #reset_interval = 60 attribute_pingd = default_ping_set, lt, 100 ← ネットワーク監視を行う場合コメント(#)をはずす #attribute_diskd = diskcheck_status, eq, ERROR #attribute_diskd_inner = diskcheck_status_internal, eq, ERROR #logconv_logfacility = daemon act_rsc = vip httpd ← サービスリソースの最上位と最下位のリソースIDを設定 ……
設定ファイルの変更を行ったので、
# /usr/share/pacemaker/pm_logconv/pm_logconv.py -k
例としてリソース起動時のログを比較してお見せします。
Mar 30 11:51:04 pm01 lrmd: [29104]: info: rsc:httpd:39: start
Mar 30 11:51:05 pm01 crmd: [29107]: info: process_lrm_event: LRM operation httpd_start_0 (call=39, rc=0, cib-update=49, confirmed=true) ok
Mar 30 11:51:04 pm01 info: Resource httpd tries to start.
Mar 30 11:51:05 pm01 info: Resource httpd started. (rc=0)
Pacemaker標準ログでは、
それでは、
ネットワーク故障が起こった場合どうなるの?
Pacemakerにおいてネットワークを監視するのは、

故障を発生させてみよう
では、
LANケーブルを引き抜いた後crm_
Online: [ pm01 pm02 ] Resource Group: web vip (ocf::heartbeat:IPaddr2): Started pm02 httpd (ocf::heartbeat:apache): Started pm02 《中略》 Node Attributes: * Node pm01: + default_ping_set : 0 : Connectivity is lost + pm02-eth1 : up + pm02-eth2 : up
このとき、
Mar 30 11:53:28 pm01 ERROR: Network to 192.168.68.2 is unreachable.
Mar 30 11:53:31 pm01 ERROR: Network to 192.168.68.2 is unreachable.
Mar 30 11:53:33 pm01 info: Attribute "default_ping_set" is updated to "0".
復旧してみよう
復旧では、
ネットワークの状態が回復すると、
Node Attributes: * Node pm01: + default_ping_set : 100 + pm02-eth1 : up + pm02-eth2 : up
リソースを稼動していたサーバに戻したい場合は、
# crm resource move web pm01 force
コマンド実行後のモニタ表示では、
Online: [ pm01 pm02 ] Resource Group: web vip (ocf::heartbeat:IPaddr2): Started pm01 httpd (ocf::heartbeat:apache): Started pm01
crm resource moveコマンドでは、
# crm resource unmove web
「保守運用編(1)」