5.2. 環境のモニタリング
このセクションでは、テスト中の環境のモニタリングに焦点を当てます。このセクションでは、変更を確認するために必要なモニターのみを説明します。モニターは専用のターミナルから実行することを推奨します。テスト中に変化を検出できるように、テストを開始する前にモニタリングを開始することを推奨します。
便利なコマンド セクションで、さらに多くの例を紹介しています。
5.2.1. プライマリーノードの検出 リンクのコピーリンクがクリップボードにコピーされました!
プライマリーノードを検出してフェイルオーバーを監視するか、プライマリーノードで実行したときにレプリケーションステータスに関する情報のみを提供する特定のコマンドを実行する必要があります。
プライマリーノードを検出するには、<sid>adm ユーザーとして次のコマンドを実行します。
clusternode1:rh2adm> watch -n 5 'hdbnsutil -sr_stateConfiguration | egrep -e "primary masters|^mode"'
clusternode1:rh2adm> watch -n 5 'hdbnsutil -sr_stateConfiguration | egrep -e "primary masters|^mode"'
出力例 (clusternode2 がプライマリーデータベースの場合):
mode: syncmem primary masters: clusternode2
mode: syncmem
primary masters: clusternode2
プライマリーノードを特定する 2 つ目の方法は、クラスターノード上で root として次のコマンドを実行することです。
watch -n 5 'pcs status --full'
# watch -n 5 'pcs status --full'
プライマリーデータベースを実行するノードの出力は次のとおりです。
mode: primary
mode: primary
5.2.2. レプリケーションステータスの確認 リンクのコピーリンクがクリップボードにコピーされました!
レプリケーションのステータスは、プライマリーデータベースノードとセカンダリーデータベースノード間の関係と、レプリケーションの現在のステータスを示します。
レプリケーションのステータスを確認するには、<sid>adm ユーザーとして次のコマンドを実行します。
clusternode1:rh2adm> hdbnsutil -sr_stateConfiguration
clusternode1:rh2adm> hdbnsutil -sr_stateConfiguration
システムレプリケーションステータスの変更を永続的に監視したい場合は、次のコマンドを実行してください。
clusternode1:rh2adm> watch -n 5 'python
/usr/sap/${SAPSYSTEMNAME}/HDB${TINSTANCE}/exe/python_support/systemReplicationStatus.py ; echo Status $?'
clusternode1:rh2adm> watch -n 5 'python
/usr/sap/${SAPSYSTEMNAME}/HDB${TINSTANCE}/exe/python_support/systemReplicationStatus.py ; echo Status $?'
この例では、レプリケーションのステータスを繰り返し取得します。また、現在の戻りコードを確認します。
戻りコード (ステータス) が 15 である限り、レプリケーションのステータスは正常です。他の戻りコードは次のとおりです。
- 10: NoHSR
- 11: Error
- 12: Unknown
- 13: Initializing
- 14: Syncing
- 15: Active
新しいセカンダリーを登録する場合は、プライマリーノード上の別のウィンドウでコマンドを実行し、レプリケーションの進行状況を確認できます。フェイルオーバーを監視する場合は、前のプライマリーデータベースサーバーと新しいプライマリーデータベースサーバーで並行してコマンドを実行できます。詳細は、SAP HANA System Replication のステータスの確認 を参照してください。
5.2.3. /var/log/messages のエントリーの確認 リンクのコピーリンクがクリップボードにコピーされました!
Pacemaker は、/var/log/messages ファイルに多くの情報を書き込みます。フェイルオーバー中に、大量のメッセージがこのメッセージファイルに書き込まれます。SAP HANA リソースエージェントに応じて重要なメッセージのみを追跡できるようにするには、Pacemaker SAP リソースの詳細なアクティビティーをフィルターすると便利です。これは、単一のクラスターノード上のメッセージファイルを確認する場合に十分です。
たとえば、次のエイリアスを使用できます。
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"'
# 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"'
このエイリアスを別のウィンドウで実行して、テストの進行状況を監視します。フェイルオーバーと同期状態の監視 の例も参照してください。
5.2.4. クラスターの状態 リンクのコピーリンクがクリップボードにコピーされました!
クラスターのステータスを確認するにはいくつかの方法があります。
クラスターが実行中かどうかを確認します。
-
pcs cluster status
-
クラスターとすべてのリソースを確認します。
-
pcs status
-
クラスター、すべてのリソース、およびすべてのノード属性を確認します。
-
pcs status --full
-
リソースのみを確認します。
-
pcs resource
-
pcs status --full コマンドを使用すると、必要な情報がすべて得られます。変更を監視するには、このコマンドを watch と一緒に実行できます。
pcs status --full
# pcs status --full
変更を確認する場合は、別のウィンドウで watch コマンドを実行できます。
watch pcs status --full
# watch pcs status --full
出力例とその他のオプションは、クラスターのステータスの確認 を参照してください。
5.2.5. 残留物の検出 リンクのコピーリンクがクリップボードにコピーされました!
環境が次のテストを実行できる状態にあることを確認するには、以前のテストで残ったものを修正または削除する必要があります。
stonithは、クラスター内のノードをフェンスするために使用します。-
検出:
[root@clusternode1]# pcs stonith history -
修正:
[root@clusternode1]# pcs stonith cleanup
-
検出:
複数のプライマリーデータベース:
検出:
clusternode1:rh2adm> hdbnsutil -sr_stateConfiguration | grep -i primary同じプライマリーを持つすべてのノードを識別する必要があります。
-
修正: clusternode1:rh2adm> は、
--force_full_replicaオプションを使用して間違ったプライマリーを再登録します。
移動により発生した場所の制約:
検出:
[root@clusternode1]# pcs constraint location警告セクションを確認します。
-
修正:
[root@clusternode1]# pcs resource clear <clone-resource-which was moved>
セカンダリーレプリケーション関係:
-
検出: プライマリーデータベースで
clusternode1:rh2adm> python ${DIR_EXECUTABLES}/python_support/systemReplicationStatus.pyを実行します。 - 修正: セカンダリーデータベースを登録解除して再登録します。
-
検出: プライマリーデータベースで
siteReplicationMode を確認します (すべての SAP HANA ノードで同じ出力が表示されます)
-
clusternode1:rh2adm> hdbnsutil -sr_state --sapcontrol=1 |grep site.*Mode
-
Pcs プロパティー:
-
検出:
[root@clusternode1]# pcs property config -
修正:
[root@clusternode1]# pcs property set <key=value> -
maintenance_modeをクリア -
[root@clusternode1]# pcs property set maintenance-mode=false
-
検出:
log_mode:検出:
clusternode1:rh2adm> python systemReplicationStatus.py通常は
log_modeが必要であるという応答がレプリケーションのステータスで返されます。log_modeは、hdbsqlを使用したInifileの内容の確認 で説明されている方法で検出できます。-
修正:
log_modeを normal に変更し、プライマリーデータベースを再起動します。
CIB エントリー:
検出: クラスター情報ベース内の SFAIL エントリー。
CIB エントリーを検索して削除するには、クラスターの整合性の確認 を参照してください。
クリーンアップ/クリア:
検出:
[root@clusternode1]# pcs status --full場合によっては、エラーや警告が表示されることがあります。リソースをクリーンアップ/クリアしても、すべてが正常であれば何も起こりません。次のテストを実行する前に、環境をクリーンアップできます。
修正の例:
[root@clusternode1]# pcs resource clear <name-of-the-clone-resource>[root@clusternode1]# pcs resource cleanup <name-of-the-clone-resource>
これは、既存の環境に問題があるか確認する場合にも役立ちます。詳細は、便利なコマンド を参照してください。