Pacemaker 1.1 Configuration Explained – (3) クラスタ全体の設定

(3) クラスタ全体の設定 

 

CIBプロパティー

CIB自体が使用するための情報が自動的にCIBプロパティーに設定されます。通常これらの情報はユーザーが意識して設定することはありません。CIBプロパティーには以下のような情報があります。

プロパティー名

説明

admin_epoch

クラスタにノードが追加されると、どのノードに適切な設定があるかチェックを行い、その際にもっとも大きい値(admin_epoch, epoch, num_updates)のあるノードの設定を全ノードに適用する。admin_epochはクラスタによって変更されることはない。これは停止していたノードの設定が使用されることがないようにするためのものである。この値を0にした場合には、ディスク上に何も設定がない時に設定が空である時と区別することができないので注意が必要である。

epoch

クラスタ設定が(通常は管理者によって)変更されるたびにインクリメントされる。

num_updates

設定またはステータスが(通常はクラスタによって)変化するたびにインクリメントされる。epochが変わると0になる。

validate-with

設定に対するxmlの検証方法を指定する。NoneにするとDTDに従っているかを確認しない(DTDに従っていなくても拒否しない)。本オプションはアップグレード中など異なるバージョンが混在する場合に有用である。

cib-last-written

設定を最後にいつディスクに書き込んだかを示す。本オプションは単にクラスタが情報として保持するのみのものである。

have-quorum

クラスタにクォーラムがあるかどうか示す。falseの場合にはそのノードでリソースを起動することができないか、他のノードをフェンシングする(no-quorum-policy参照)。本設定値はクラスタが自動的に与える。

dc-uuid

どのクラスタノードが現在のリーダーであるかを示す。本設定値はクラスタが自動的に与える。

 

クラスタオプション

クラスタオプションは所定の状況でクラスタがどのように動作するかを規定します。xmlファイルではcrm_configセクション内に記載されます。

クラスタオプションは”man pengine”や”man crmd”コマンドでデフォルト値を含め確認することができます。

オプション名

デフォルト

説明

dc-version

 

クラスタのDCのPacemakerバージョン。ハッシュ値が表示されている場合もある。

cluster-infrastructure

 

現在稼働中のPacemakerのメッセージングインフラを表示する。

expected-quorum-votes

 

クラスタ内にあるべきノード数。この値はクラスタが自動的に設定する。メッセージングレイヤにCMANのないcorosync1.x系でクォーラムを計算するのに使用する。

no-quorum-policy

stop

クラスタにクォーラムがない場合にどうするかを指定する。

ignore: すべてのリソースの管理を継続する

freee: リソース管理を継続するが、影響がある側ではリソースの回復は行わない

stop:影響がある側のリソースをすべて停止する

suicide:影響のある側のすべてのノードをフェンシングする。

batch-limit

30

Transition Engine(TE)が並列に処理できるジョブの数。TEは、Policy Engine(PE)が決定したアクションをCRMdが実行するためのロジックである。本オプションの適切な値はノード数やネットワーク性能によって異なる。

migration-limit

-1

TEが一つのノードで並列に処理できるジョブの数。-1は無制限を意味する。

symmetric-cluster

TRUE

デフォルトですべてのノードで起動できるようにするか

stop-all-resources

FALSE

クラスタがすべてのリソースを停止させるか

stop-orphan-resources

TRUE

削除したリソースの停止を行うか

stop-orphan-actions

TRUE

削除したアクションをキャンセルするか

start-failure-is-fatal

TRUE

1つのノードで起動に失敗したリソースがさらに起動を試みることを抑制するか。FALSEの場合にはfailcountとmigration-thresholdによって制御する。

enable-startup-probes

TRUE

クラスタの開始時に稼働中のリソースをチェックするか

maintenance-mode

FALSE

クラスタによるリソースのモニタリングを停止するか

stonith-enabled

TRUE

障害のあるノードと、停止できないリソースのあるノードをフェンシングするか。TRUEまたは設定しない場合には1つ以上のSTONITHリソースが設定されていなければ、リソースを起動することができない。FALSEの場合、応答のないノードは即時何もリソースを起動していないものと扱われてオンラインのノードにリソースが引き継がれる。(共有ディスクを使用している場合にはプロテクト処理などが行われないためデータ破壊につながる)

stonith-action

reboot

STONITHデバイスに送るアクション。使用できる値はrebootoff。レガシーなデバイスではpoweroffも使用可能。

stonith-timeout

60s

STONITHアクション(reboot,on,off)の完了までに何秒待つか

concurrent-fencing

FALSE

複数のフェンシングアクションを同時に開始することを許可するか

cluster delay

60s

(アクションの実行時間を除いた)最大ラウンドトリップディレイタイムの予測値。TEが他のノードでの動作を要求する場合には、この時間内に他のノードからの応答が得られない場合アクションは失敗するとみなす。

dc-deadtime

20s

他のノードの起動中にどのくらい待つか。

cluster-recheck-interval

15min

オプション、リソースパラメータ、制約条件に関する変更をポーリングする時間間隔を指定する。minなどの単位を付けない場合には秒単位。

pe-error-series-max

-1

ERROR で保存する PE インプットの数。-1は無制限(すべて)を意味する。

pe-warn-series-max

-1

WARN で保存する PE インプットの数。-1は無制限(すべて)を意味する。

pe-input-series-max

-1

保存する通常の PE インプットの数。-1は無制限(すべて)を意味する。

node-health-strategy

none

node health属性に対する応答。指定できる値は、noen,migrate-on-red, only-green, progressive, custom

node-health-base

0

ノードに適用する基本のスコア。node-health-strategyがprogressiveの場合のみ使用される。

node-health-green

0

node health属性がgreenの場合のスコア。node-health-strategyがprogressiveまたはcustomの場合のみ使用される。

node-health-yellow

0

node health属性がyellowの場合のスコア。node-health-strategyがprogressiveまたはcustomの場合のみ使用される。

node-health-red

0

node health属性がredの場合のスコア。node-health-strategyがprogressiveまたはcustomの場合のみ使用される。

remove-after-stop

FALSE

※高度な利用方法。LRMの停止後にリソースを削除するかどうか。デフォルト以外の値は十分にテストされておらず、使用には潜在的な危険がある。

startup-fencing

TRUE

※高度な利用方法。まだ確認できていないノードをフェンシングするかどうか。デフォルト以外の使用は安全ではない。

election-timeout

2min

※高度な利用方法。この値を調整する必要がある場合にはおそらくバグが出現している。

 

クラスタオプションの確認と設定

crm_attributeツールを使うことでクラスタオプションを確認することができ、変更も行えます。

例:現在のcluster-delayの値を確認したい場合

# crm_attribute –query –name cluster-delay

上記は以下のように省略することもできます。

# crm_attribute -G -n cluster-delay

値を変更したい時には以下のようにします。以下例では30秒に変更しています。

 # crm_attribute –name cluster-delay –update 30s

デフォルト値に戻したい場合には以下のようにします。

 # crm_attribute –name cluster-delay --delete