Quality of Service (QoS) の動作とログについて
このトピックでは、kill イベントの実行時のサーバーとサーバーコントローラの動作、フェイルオーバーのトリガ、ログファイルの内容などの QoS 機能の詳細について説明します。
QoS の kill イベント
- 「
nsd -kill
」では、nsd は生成されません。kill_* ファイルのみが生成されます。 - サーバーが再起動される場合に限って、コントローラはトラブルシューティングの目的で固有の「
nsd -stacks
」を生成します。 - notes.ini ファイルに
QoSShutdownNSD=seconds
を設定すると、サーバーがQoSShutdownNSD
に設定された秒数以内に完全に停止しなかった場合、QoSShutdownNSD
に設定された秒数ごとに「nsd -stacks
」が生成されます。この notes.ini の設定は、シャットダウンに時間がかかりすぎているサーバーのトラブルシューティングに使用されます。
qosprobe
サーバーアドインが、サーバーの names.nsf ($Servers ビュー) を QOS_PROBE_TIMEOUT
に設定された時間 (ミリ秒) 以内に正常に開くことができないことを示します。イベント | コントローラのアクション | 設定可能かどうか |
---|---|---|
調査 (qosprobe) のタイムアウト | サーバーは 5 分後に強制終了され、再起動されます。 | dcontroller.ini:QOS_PROBE_TIMEOUT=minutes |
長期間実行アプリケーションのタイムアウト | サーバーは 10 分後に強制終了され、再起動されます。 | dcontroller.ini:QOS_APPS_TIMEOUT=minutes |
サーバーが共有ハンドルを使い尽くしている | サーバーは強制終了され、再起動されます。 | no |
サーバーがセッションテーブルを使い尽くしている | サーバーは強制終了され、再起動されます。 | no |
サーバーがネットメモリを使い尽くしている | サーバーは強制終了され、再起動されます。 | no |
サーバーが共有メモリハンドルを使い尽くしている | サーバーは強制終了され、再起動されます。 | no |
サーバーの稼働中のクラッシュ/パニック | サーバーは 5 分後に再起動されます。 | no |
サーバーのシャットダウン (「quit」) に時間がかかりすぎている | サーバーは 5 分後に強制終了されます。 | dcontroller.ini:QOS_SHUTDOWN_TIMEOUT=minutes |
サーバーの再起動 (「restart server」) に時間がかかりすぎている | サーバーは 5 分後に強制終了され、再起動されます。 | dcontroller.ini:QOS_RESTART_TIMEOUT=minutes |
サーバープロセスが異常終了した | サーバーは強制終了され、再起動されます。 | no |
QoS のフェイルオーバーのトリガ
QoS の smart kill では、サーバーを最大で 20 分間停止させることができます。合計停止時間には、調査のタイムアウトの検出 (約 5 分)、すべてのプロセスに関するデータを収集するための nsd の実行 (約 3 分)、サーバーの強制終了 (約 1 分から 2 分)、および再起動 (ゲートタスクの時間を含む - 最大で 10 分) が含まれます。QoS が設定されているサーバーで処理するように指定された新規要求はすべて、そのサーバーに対して smart kill を実行する必要があることを QoS が検出してから数秒以内に、ただちにクラスタメンバーにフェイルオーバーされます。
- サーバーのシャットダウンに時間がかかりすぎている
- サーバーの再起動に時間がかかりすぎている
- サーバーがクラッシュしたため、QoS でクラッシュ後のクリーンアップを行う必要がある
QOS_DISABLE_FAILOVER_TRIGGER=1
を使用して、StaticHang メカニズムを無効にすることができます。このパラメータが設定されている場合、triggerImmediateServerFailover
ファイルは作成および削除されますが、サーバーが StaticHang を使用してフェイルオーバーを強制することはありません。QoS コントローラのログファイル
QoS により、新しいログファイルは、Domino® サーバーのデータディレクトリに格納されます。QoS コントローラのログファイルには、QoS コントローラによって収集または処理されたさまざまなイベント、QoS 調査、通常のサーバー再起動、サーバーのクラッシュ、QoS の smart kill に関連するイベント、その他の各種イベントに対応する詳細情報が記録されます。以下のセクションでは、このログファイルとその仕組み、およびサービスのイベントをトラブルシューティングする際のこのログファイルの正しい読み方について説明します。
qoscntrlr201105171528.out
このタイムスタンプは、QoS コントローラが起動された時刻を示します。この例に示すファイル名は、2011 年 5 月 17 日午後 3:28 にサービスが開始された QoS コントローラのログになります。サービスが停止された後、再開された場合は、現在の qoscntrlrYYYYMMDDHHmm.out ファイルに .log という拡張子が付き、新しい qoscntrlrYYYYMMDDHHmm.out ファイルが現在の時刻で作成されます。このような qoscntrlrYYYYMMDDHHmm.log ファイルの経過日数が 14 日を超えると、サービスの開始時に自動的にそのファイルが削除されます。
ログファイルの命名規則
qoscntrlr201105171528.out
このタイムスタンプは、QoS コントローラが起動された時刻を示します。この例に示すファイル名は、2011 年 5 月 17 日午後 3:28 にサービスが開始された QoS コントローラのログになります。サービスが停止された後、再開された場合は、現在の qoscntrlrYYYYMMDDHHmm.out ファイルに .log という拡張子が付き、新しい qoscntrlrYYYYMMDDHHmm.out ファイルが現在の時刻で作成されます。このような qoscntrlrYYYYMMDDHHmm.log ファイルの経過日数が 14 日を超えると、サービスの開始時に自動的にそのファイルが削除されます。
ログファイルの読み方
2012/08/06 06:33:34 QoS Controller: Starting QOSPipeWatcher
2012/08/06 06:33:34 QoS Controller: QOS_PROBE_TIMEOUT=5 minutes
2012/08/06 06:33:34 QOSController: QOS_SHUTDOWN_TIMEOUT=5 minutes
2012/08/06 06:33:34 QOSController: QOS_RESTART_TIMEOUT=5 minutes
2012/08/06 06:33:34 QOSController: QOS_APPS_TIMEOUT=10 minutes
2012/08/06 06:33:34 QoS Controller: nsd Program Path=/opt/hcl/notes/latest/linux/nsd.sh
2012/08/06 06:33:34 QoS Controller: QOS_RESTART_LIMIT_MAXIMUM=3
2012/08/06 06:33:34 QoS Controller: QOS_RESTART_LIMIT_PERIOD=30 minutes
2012/08/06 06:33:34 QoS Controller: QOS_NOKILL=false
2012/08/06 06:33:34 QoS Controller: QOS_MAIL_TO=test/hcl
2012/08/06 06:33:34 QoS Controller: QOS_MAIL_SMTP_SERVER=xx
2012/05/08 00:15:09 QoS Controller: OpMsg=START Type=QOS ObjectType=ServerName ObjectValue=CN=rc45/O=dev ObjectType2=ProcessName ObjectValue2=nserver TimeDate=20120508T001506,95-04
2012/05/08 00:15:09 QoS Controller: OpMsg=START Type=SERVER TimeDate=20120508T001507,40-04
2012/05/08 00:15:21 QoS Controller: OpMsg=READY Type=SERVER TimeDate=20120508T001517,92-04
TimeDate=20120508T001506,95-04
2012/05/08 00:15:21 QoS Probe: message
2012/05/08 00:15:21 QoS Applications: message
2012/05/08 00:15:21 QoS Kill: message
ログファイル内で探すべき情報
次の表に、QoS コントローラのログファイルを調べるときに表示される基本的なログイベントの例を示します。
イベント | ログに示される情報の例 |
---|---|
通常のサーバーの起動 |
|
通常のサーバーのシャットダウン |
|
QoS 調査 |
|
長時間実行アプリケーション |
|
ログファイル内のサーバークラッシュのエビデンス
2012/05/08 01:00:44 QoS Controller: OpMsg=CRASH Type=QOS ObjectType=ServerName ObjectValue=CN=rc45/O=dev TimeDate=20120508T010039,48-04
2012/05/08 01:00:44 QoS Controller: Server CN=rc45/O=dev has crashed.
2012/05/08 01:00:44 QoS Controller: Deactivating probe...
2012/05/08 01:00:44 QoS Controller: QoS Probe deactivated.
ログファイル内の smart kill のエビデンス
2012/05/08 00:31:41 QoS Probe: SUCCESS (78ms)
2012/05/08 00:32:41 QoS Probe: SUCCESS (16ms)
2012/05/08 00:37:41 The probe thread has not received a message from qosprobe within the timeout period.
2012/05/08 00:37:41 QoS Probe: The qosprobe addin has timed out, is not responding, or is not running.
2012/05/08 00:37:41 QoS Controller: Deactivating probe...
2012/05/08 00:37:41 QoS Controller: QoS Probe deactivated.
2012/05/08 00:37:43 QoS Controller: OpMsg=TIMEOUT Type=PROBE TimeDate=null
2012/05/08 00:37:43 QoS Controller: The controller has received a probe timeout.
2012/05/08 00:37:43 QoS Kill: Triggering failover...
2012/05/08 00:37:47 QoS Kill: Running nsd...
2012/05/08 00:38:12 QoS Kill: Running nsd -kill
2012/05/08 00:38:16 QoS Kill: Setting kill complete.
2012/05/08 00:38:21 QoS Kill: Restarting DominoStarter thread