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デバイスに送るアクション。使用できる値はrebootとoff。レガシーなデバイスでは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