6.2. Pacemaker コマンド
6.2.1. クラスターの起動と停止 リンクのコピーリンクがクリップボードにコピーされました!
すべてのノードでクラスターを起動するには、次のコマンドを実行します。
pcs cluster start -all
# pcs cluster start -all
再起動後、サービスが有効になっている場合にのみ、クラスターが自動的に起動します。このコマンドは、クラスターが起動したかどうか、およびデーモンの自動起動が有効になっているかどうかを確認するのに役立ちます。
pcs cluster status
# pcs cluster status
クラスターの自動起動は次の方法で有効にできます。
pcs cluster enable --all
# pcs cluster enable --all
その他のオプションは以下のとおりです。
- クラスターを停止する
- ノードをスタンバイ状態にする
-
クラスターを
maintenance-modeにする
詳細は、pcs cluster のヘルプを参照してください。
pcs cluster stop --all pcs cluster help
# pcs cluster stop --all
# pcs cluster help
6.2.2. クラスターを maintenance-mode にする リンクのコピーリンクがクリップボードにコピーされました!
変更を加えるときに Pacemaker クラスターによる干渉を避けるには、クラスターを maintenance-mode にすることで、クラスターを "フリーズ" できます。
pcs property set maintenance-mode=true
# pcs property set maintenance-mode=true
maintenance-mode を確認する簡単な方法は、リソースが unmanaged かどうかを確認することです。
maintenance-mode のクラスターは、リソースステータスの変更を更新しません。その間に、クラスターリソースを更新してリソース状態を検出します。
pcs resource refresh
# pcs resource refresh
これにより、何か問題がある場合にその問題が示され、maintenance-mode が終了するとすぐに、クラスターによる修復アクションが実行されます。
次のコマンドを実行して maintenance-mode を解除します。
pcs property set maintenance-mode=false
# pcs property set maintenance-mode=false
これで、クラスターが引き続き動作します。設定に問題があった場合、クラスターはその問題にすぐに対処します。
6.2.3. クラスターのステータスの確認 リンクのコピーリンクがクリップボードにコピーされました!
以下に、クラスターのステータスを確認するいくつかの方法を示します。
クラスターが実行中かどうかを確認します。
pcs cluster status
# pcs cluster statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターとすべてのリソースを確認します。
pcs status
# pcs statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow クラスター、すべてのリソース、およびすべてのノード属性を確認します。
pcs status --full
# pcs status --fullCopy to Clipboard Copied! Toggle word wrap Toggle overflow リソースのみを確認します。
pcs resource status --full
# pcs resource status --fullCopy to Clipboard Copied! Toggle word wrap Toggle overflow Stonithの履歴を確認します。pcs stonith history
# pcs stonith historyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 場所の制約を確認します。
pcs constraint location
# pcs constraint locationCopy to Clipboard Copied! Toggle word wrap Toggle overflow
フェンシングを設定してテストする必要があります。可能な限り自動化されたソリューションを実現するには、クラスターを常にアクティブにする必要があります。そうすることで、再起動後にクラスターが自動的に起動できるようになります。実稼働環境では、再起動を無効にすると、クラッシュ後などに手動で介入できるようになります。デーモンのステータスも確認してください。
以下に例を示します。
6.2.4. リソースの状態の確認 リンクのコピーリンクがクリップボードにコピーされました!
pcs resource を使用して、すべてのリソースのステータスを確認します。これにより、リソースのリストと現在のステータスが出力されます。
以下に例を示します。
6.2.5. リソース設定の確認 リンクのコピーリンクがクリップボードにコピーされました!
次のコマンドで、現在のリソース設定が表示されます。
これには、インストールおよび設定されたリソースエージェントの設定に使用されるすべてのパラメーターがリスト表示されます。
6.2.6. SAPHana リソースオプションの AUTOMATED_REGISTER=true リンクのコピーリンクがクリップボードにコピーされました!
このオプションを SAPHana リソースで使用すると、Pacemaker はセカンダリーデータベースを自動的に再登録します。
最初のテストではこのオプションを使用することを推奨します。AUTOMATED_REGISTER=false を使用した場合、管理者はセカンダリーノードを手動で再登録する必要があります。
6.2.7. リソースの処理 リンクのコピーリンクがクリップボードにコピーされました!
リソース管理には複数のオプションがあります。詳細は、利用可能なヘルプを参照してください。
pcs resource help
# pcs resource help
使用されているリソースエージェントをリスト表示します。
pcs resource config | grep "type=" | awk -F"type=" '{ print $2 }' | sed -e "s/)//g"
# pcs resource config | grep "type=" | awk -F"type=" '{ print $2 }' | sed -e "s/)//g"
出力例:
IPaddr2 SAPHanaTopology SAPHana
IPaddr2
SAPHanaTopology
SAPHana
特定のリソースエージェントの説明と設定パラメーターを表示します。
pcs resource describe <resource agent>
# pcs resource describe <resource agent>
例 (出力なし):
pcs resource describe IPaddr2
# pcs resource describe IPaddr2
リソースエージェント IPaddr2 の例 (出力付き):
クラスターが停止すると、すべてのリソースも停止します。クラスターが maintenance-mode になると、すべてのリソースは現在のステータスのままになりますが、監視または管理されなくなります。
6.2.8. maintenance mode のクラスタープロパティーの処理 リンクのコピーリンクがクリップボードにコピーされました!
定義されているすべてのプロパティーをリスト表示します。
データベースを再設定するには、設定が完了するまで変更を無視するようにクラスターに指示する必要があります。以下を使用してクラスターを maintenance-mode にできます。
pcs property set maintenance-mode=true
# pcs property set maintenance-mode=true
maintenance-mode を確認します。
すべてのリソースが "unmanaged" であることを確認します。
maintenance-mode の設定を解除すると、リソースは managed に戻ります。
pcs property set maintenance-mode=false
# pcs property set maintenance-mode=false
6.2.9. move を使用した SAPHana リソースのフェイルオーバー リンクのコピーリンクがクリップボードにコピーされました!
SAP HANA データベースをフェイルオーバーする簡単な例は、pcs resource move コマンドを使用することです。以下に示すように、クローンリソース名を使用してリソースを移動する必要があります。
pcs resource move <SAPHana-clone-resource>
# pcs resource move <SAPHana-clone-resource>
この例では、クローンリソースは SAPHana_RH2_02-clone です。
リソースを移動します。
制約が残っているかどうかを確認します。
pcs constraint location
# pcs constraint location
リソースをクリアすることで、フェイルオーバー中に作成された場所の制約を削除できます。以下に例を示します。
pcs resource clear SAPHana_RH2_02-clone
[root@clusternode1]# pcs resource clear SAPHana_RH2_02-clone
"Migration Summary" に警告やエントリーが残っているかどうかを確認します。
pcs status --full
# pcs status --full
stonith の履歴を確認します。
pcs stonith history
# pcs stonith history
必要に応じて、stonith の履歴をクリアします。
pcs stonith history cleanup
# pcs stonith history cleanup
Pacemaker バージョン 2.1.5 より前のバージョンを使用している場合は、Is there a way to manage constraints when running pcs resource move? を参照し、残っている制約を確認してください。
6.2.10. フェイルオーバーと同期状態の監視 リンクのコピーリンクがクリップボードにコピーされました!
すべての Pacemaker のアクティビティーは、クラスターノードの /var/log/messages ファイルに記録されます。他にも多くのメッセージがあるため、SAP リソースエージェントに関連するメッセージを確認するのが難しい場合があります。SAP リソースエージェントに関連するメッセージのみをフィルターするコマンドエイリアスを設定できます。
エイリアスの例 tmsl:
alias tmsl='tail -1000f /var/log/messages | egrep -s "Setting master-rsc_SAPHana_${SAPSYSTEMNAME}_HDB${TINSTANCE}|sr_register|WAITING4LPA|PROMOTED|DEMOTED|UNDEFINED|master_walk|SWAIT|WaitforStopped|FAILED|LPT"'
# alias tmsl='tail -1000f /var/log/messages | egrep -s "Setting master-rsc_SAPHana_${SAPSYSTEMNAME}_HDB${TINSTANCE}|sr_register|WAITING4LPA|PROMOTED|DEMOTED|UNDEFINED|master_walk|SWAIT|WaitforStopped|FAILED|LPT"'
tsml の出力例:
フィルターを使用すると、どのようなステータス変化が発生しているかを理解しやすくなります。詳細がない場合は、メッセージファイル全体を開くと、すべての情報を確認できます。
フェイルオーバー後、リソースをクリアできます。場所の制約が残っていないことも確認してください。
6.2.11. クラスターの整合性の確認 リンクのコピーリンクがクリップボードにコピーされました!
インストール中、設定が最終的に完了する前にリソースが起動することがあります。これにより、Cluster Information Base (CIB) のエントリーが発生し、誤った動作が発生する可能性があります。これは簡単に確認でき、設定の完了後に手動で修正することもできます。
SAPHana リソースを起動すると、欠落しているエントリーが再作成されます。間違ったエントリーには pcs コマンドでは対処できないため、手動で削除する必要があります。
CIB エントリーを確認します。
cibadmin --query
# cibadmin --query
クラスターメンバーが DC1 と DC2 であり、ノード間の同期状態が SOK と報告される場合、DC3 と SFAIL のエントリーはクラスター情報ベースに存在しないはずです。
対応するエントリーを確認する例:
cibadmin --query |grep '"DC3"' cibadmin --query |grep '"SFAIL"'
# cibadmin --query |grep '"DC3"'
# cibadmin --query |grep '"SFAIL"'
このコマンドは、クラスター内の任意のノードで root ユーザーとして実行できます。通常、コマンドの出力は空です。設定にまだエラーがある場合、出力は次のようになります。
<nvpair id="SAPHanaSR-hana_rh1_glob_sec" name="hana_rh1_glob_sec" value="DC3"/>
<nvpair id="SAPHanaSR-hana_rh1_glob_sec" name="hana_rh1_glob_sec" value="DC3"/>
これらのエントリーは、次のコマンドを使用して削除できます。
cibadmin --delete --xml-text '<...>'
# cibadmin --delete --xml-text '<...>'
上の例のエントリーを削除するには、次のように入力する必要があります。出力には二重引用符が含まれるため、テキストを一重引用符で囲む必要があることに注意してください。
cibadmin --delete --xml-text ' <nvpair id="SAPHanaSR-hana_rh1_glob_sec" name="hana_rh1_glob_sec" value="DC3"/>'
# cibadmin --delete --xml-text ' <nvpair id="SAPHanaSR-hana_rh1_glob_sec" name="hana_rh1_glob_sec" value="DC3"/>'
削除された CIB エントリーがないことを確認します。返される出力は空である必要があります。
cibadmin --query |grep 'DC3"'
# cibadmin --query |grep 'DC3"'
6.2.12. クラスターのクリーンアップ リンクのコピーリンクがクリップボードにコピーされました!
フェイルオーバーテスト中に、以前のテストの制約やその他の残留物が残ることがあります。次のテストを開始する前に、クラスターからこれらをクリアする必要があります。
クラスターのステータスで障害イベントがないか確認します。
pcs status --full
# pcs status --full
"Migration Summary" にクラスターの警告またはエントリーが表示された場合は、リソースをクリアしてクリーンアップする必要があります。
pcs resource clear SAPHana_RH2_02-clone pcs resource cleanup SAPHana_RH2_02-clone
# pcs resource clear SAPHana_RH2_02-clone
# pcs resource cleanup SAPHana_RH2_02-clone
出力:
Cleaned up SAPHana_RH2_02:0 on clusternode1 Cleaned up SAPHana_RH2_02:1 on clusternode2
Cleaned up SAPHana_RH2_02:0 on clusternode1
Cleaned up SAPHana_RH2_02:1 on clusternode2
以前のフェイルオーバーなどで使用された不要な場所の制約があるかどうかを確認します。
pcs constraint location
# pcs constraint location
既存の制約をさらに詳しく確認します。
pcs constraint --full
# pcs constraint --full
リソース移動後の場所の制約の例:
Node: hana08 (score:-INFINITY) (role:Started) (id:cli-ban-SAPHana_RH2_02-clone-on-hana08)
Node: hana08 (score:-INFINITY) (role:Started) (id:cli-ban-SAPHana_RH2_02-clone-on-hana08)
この場所の制約をクリアします。
pcs resource clear SAPHana_RH2_02-clone
# pcs resource clear SAPHana_RH2_02-clone
制約が制約リストから消えていることを確認します。まだ残っている場合は、制約 ID を使用して明示的に削除します。
pcs constraint delete cli-ban-SAPHana_RH2_02-clone-on-hana08
# pcs constraint delete cli-ban-SAPHana_RH2_02-clone-on-hana08
フェンシングを使用して複数のテストを実行する場合は、stonith の履歴をクリアすることもできます。
pcs stonith history cleanup
# pcs stonith history cleanup
pcs コマンドはすべて root ユーザーとして実行します。残留物の検出 も参照してください。
6.2.13. その他のクラスターコマンド リンクのコピーリンクがクリップボードにコピーされました!
さまざまなクラスターコマンドの例