[Linux-ha-jp] pacemaker/heartbeatの設定について

Back to archive index

Keisuke MORI keisu****@gmail*****
2014年 5月 9日 (金) 16:22:14 JST


もりと申します。

2014年4月30日 19:27 Daisuke Kuji <daisu****@gmail*****>:
> お世話になります。
> 久慈と申します。
>
> 検証環境のVmwarePlayer上で2ノードのクラスタシステムを構築しておりますが、設定値等について不明点が
> ありますのでご質問させて頂きます。
>
>
> 環境:Centos6.5、VmwarePlayer
> version:pacemaker-1.0.13、heartbeat-3.0.5
> (商用ではRHEL6.5を使用予定)
>
> ①プロパティの以下の設定値のデフォルト値をご教示頂けますでしょうか。
> crmd-transition-delay
> dc-deadtime
> election-timeout
> shutdown-escalation

これらのパラメタ値の説明とデフォルト値は、以下のコマンドで確認できます。

# /usr/lib64/heartbeat/crmd metadata
# /usr/lib64/heartbeat/pengine metadata

Pacemaker-1.0.13では以下の通りとなっていると思います。

crmd-transition-delay  : 0s
dc-deadtime : 20s
election-timeout : 2min
shutdown-escalation : 20min



>
> ②プロパティの以下の設定値の意味をご教示頂けますでしょうか。
> dc-deadtime
> election-timeout
> node-health-red
> node-health-strategy
> node-health-yellow
> shutdown-escalation
> stop-all-resources

上記①でのコマンドで説明が表示されますので、そちらも参照ください。
ただ、これらのパラメタが使われてるのを私は今までほとんど見たことはないですし、
他にもやたら細かい設定パラメタがたくさんあるので全てを理解しようとする必要はないと思います。
(「よくわからないものはそのまま放っておく」で良いと思いますw)

私も全てを把握しているわけではないですが、分かる範囲で補足しておきますと、

 * dc-deadtime
   Pacemaker起動時に対向ノードを待ち合わせる時間(正確には「DCノード」という
   リーダの役割を果たすノードがすでに起動しているかを確認待ちする時間)。
   短くすることで初期起動時間を短縮できますが、あまり短くすると複数ノード同時起動時に
   クラスタがうまく構成されなくなる可能性があります。

 * election-timeout
   上記の「DCノード」を選出する際に内部処理で使用されるタイムアウト値です。
   metadataにも書いてある通り通常は変更するべきではありません。

 * node-health-red
 * node-health-strategy
 * node-health-yellow
   リソースエージェントの HealthCPU, HealthSMART  などの機能を使う場合の
   動作のカスタマイズ用です。
   HealthCPUとは例えばCPUの利用率に応じてノード状態を green/yellow/red に
   状態分けしてフェイルオーバを制御する、という機能ですが、単に使うだけなら
   これらのパラメタをいじる必要はないです(もっと他のlocation設定が重要です)。
   デフォルトの動作ではどうしても不満でもっと細かく制御したい、  という場面に
   ならない限り不要なパラメタです。

 * shutdown-escalation
   Pacemakerを停止しようとした時に、なんらかの不具合で停止できない場合の
   タイムアウト値です。 これもmetadataにあるように通常変更すべきではありません。

 * stop-all-resources
    名前の通り、全てのリソースを(STONITHリソースを除いて)停止させるパラメタです。
    利用目的ははっきり言って私もわかりませんw。


>
> ③STONITHについて
> STONITH機能(IPMI)でハードウェアを制御する場合、相手のIPMIボードへの
> 接続が必要である認識ですが、これはHUBやスイッチ等を介した接続でも同セグメントであれば問題ない
> 認識でよろしいでしょうか。

同セグメントでなくても問題無いです。IP的に到達可能であればHUBやスイッチ等経由しても問題ありません。


>
> ④クラスタ名について
> 以下の確認コマンドでクラスタ名が[linux-ha]となっていますが、
> これは変更することは可能でしょうか。
> 可能である場合、変更方法をご教示頂けますでしょうか。
>
> /usr/lib64/heartbeat/heartbeat -v
>
> 中略
> #---------------------------------------------------
> #
> #       HA configuration and status
> #
> cluster linux-ha        #       the name of cluster

/etc/ha.d/ha.cf にそのまま書けば変更されるようですが・・・
正直こんなパラメタが存在すること自体私も知りませんでした。

実際ソースを確認しても、このパラメタ値は実質的に
何にも利用されていないように見受けられます。

何のために変更しようとされているのかわかりませんが、
おそらくもっと他に適切な方法があるんじゃないかと思います。



>
> ⑤ha.cfのcompression_thresholdについて
> 上記設定項目は閾値を超えた場合、メッセージを圧縮する項目のようですが、メッセージというのは
> 何を指しているのでしょうか。

ノード間でPacemakerの内部情報をやりとりするメッセージです。
具体的な内容として、最大で cibadmin -Ql で表示される内容が
送信されることがあります。


>
> ⑥primitiveのintervalについて
> params name行と、op start、monitor、stop行両方にintervalがあるRA(diskd、vipなど)がありますが、
> これはop行に指定がない場合はparams行のinterval値が適用される、という認識でよろしいでしょうか。

params name と op は別の意味を持つパラメタですので、両者は別物です。

op monitor 行の interval:
   PacemakerがRAを実行する間隔です。指定必須なので、「指定がない場合」はないと思います。

op start/stop行の interval:
   使用されません。設定書式の都合上存在していますが、設定しても省略しても動作に違いはありません。

params name行の interval:
    これはRAごとの独自処理用のパラメタなので、意味やデフォルト値はRAによって異なります。


>
> ⑦pingdについて
> 以下の設定値の意味をご教示頂けますでしょうか。
> multiplier

pingdの監視結果をPacemakerのscore値へ換算する係数です。
例えば multiplier=100 の設定では、
ping先が1個所OKの場合100、2個所OKの場合200、
となるので、あとはこれに合わせて必要な rule 設定を書きます。
多くの設定例では multiplier=100 を使っているようですので、
特に変更せず100のまま使うのが良いと思います。



-- 
Keisuke MORI



Linux-ha-japan メーリングリストの案内
Back to archive index