コア・グループのディスカバリーおよび障害検出プロトコル

コア・グループ・メンバーの開始時には、他のコア・グループ・メンバーへの接続は存在しません。 コア・グループがデフォルトのディスカバリーおよび障害検出プロトコルまたは代替プロトコル・プロバイダーのいずれかを使用して実行するように構成されている場合は、 ディスカバリーおよび障害検出タスクまたは代替プロトコル・プロバイダー・タスクのいずれかがプロセス開始手順の一部として開始されます。これらのタスクでは、コア・グループ・メンバーがアクティブである限り、 定期的にスケジュールされた間隔で、他のコア・グループ・メンバーへの接続、この接続のモニター、 およびこのコア・グループ・メンバーの接続障害の処理が実行されます。

デフォルトのディスカバリー・プロトコル

注: このトピックでは、 1 つ以上のアプリケーション・サーバー・ログ・ファイルを参照します。推奨される代替案として、分散システムや IBM® i システムの SystemOut.logSystemErr.logtrace.logactivity.log ファイルではなく、High Performance Extensible Logging (HPEL) ログおよびトレース・インフラストラクチャーを使用するようにサーバーを構成できます。また HPEL は、ネイティブ z/OS® ロギング機能と連携させて使用することができます。HPEL を使用する場合、LogViewer コマンド・ライン・ツールを サーバー・プロファイルの bin ディレクトリーから使用して、すべてのログ・ファイルにアクセスし、 情報をトレースできます。HPEL の使用について詳しくは、HPEL を使用してのアプリケーションの トラブルシューティングに関する情報を参照してください。

デフォルトのディスカバリー・プロトコルでは、 コア・グループの他のメンバーとのネットワーク接続が確立されます。この接続を確立するために、ディスカバリー・プロトコルでは、製品構成設定からコア・グループ・メンバーのリストおよび関連するネットワーク情報が検索されます。続いて、ディスカバリー・プロトコルは、 他のすべてのコア・グループ・メンバーへのネットワーク接続をオープンしようとします。 定期的な間隔で、ディスカバリー・プロトコルは未接続のメンバーのセットを再計算し、 それらメンバーへの接続をオープンしようとします。

別のコア・グループ・メンバーに接続されると、 ディスカバリー・プロトコルは、View Synchrony Protocol に通知し、 このイベントを次のメッセージに類似する通知メッセージとして SystemOut.log ファイルに記録します。
DCSV1032I: DCS スタック DefaultCoreGroup メンバー MyCell¥anzio¥nodeagent:
定義済みメンバー MyCell¥anzioCellManager¥dmgr に接続しました。

接続は、さまざまな理由で、いつでも障害が発生する可能性があります。 障害検出プロトコルは、接続障害を検出し、ディスカバリー・プロトコルに通知します。 続いて、ディスカバリー・プロトコルは、次にスケジュールされている間隔のときに、 そのメンバーへの新規ネットワーク接続をオープンしようとします。

ディスカバリー・プロトコル・タスクが消費する CPU サイクルの量は、 停止中または到達不能のコア・グループ・メンバーの数に比例します。 ディスカバリー・プロトコル・タスクが消費する CPU サイクルは、デフォルト設定では無視してかまいません。

デフォルトの障害検出プロトコル

障害検出プロトコルは、ディスカバリー・プロトコルが確立するコア・グループ・ネットワーク接続をモニターします。 障害検出プロトコルは、障害のあるネットワーク接続を検出すると、 View Synchrony Protocol とディスカバリー・プロトコルに障害を報告します。 View Synchrony Protocol は、失敗したメンバーを除外するようにビューを調整します。 ディスカバリー・プロトコルは、失敗したメンバーとのネットワーク接続を再確立しようとします。このタスクは、メンバーがアクティブである限り実行されます。

障害検出プロトコルは、以下のような 2 つの異なるメカニズムを使用して、失敗したメンバーを検出しま す。
基盤のソケットがクローズされたため、クローズされた接続を探します

コア・グループ・メンバーが管理コマンドに応答して正常に停止すると、 そのメンバーのコア・グループ・トランスポートも停止し、トランスポートに関連したソケットがクローズされます。 コア・グループ・メンバーが異常終了した場合は、通常、 基盤となるオペレーティング・システムがプロセスがオープンしたソケットをクローズし、 コア・グループ・トランスポートに関連したソケットをクローズします。

いずれのタイプの終了の場合も、 終了したメンバーへの接続がオープンされているコア・グループ・メンバーには、接続が使用できなくなったことが通知されます。 ソケットがクローズされたという通知を受けたコア・グループ・メンバーは、終了したメンバーを失敗したメンバ ーと見なします。

ソケット・クローズ・メカニズムが原因で、失敗したメンバーが検出された場合、 終了していないメンバーのために SystemOut.log ファイルに以下の メッセージが記録されます。
DCSV1115W: DCS スタック DefaultCoreGroup; メンバー anzioCell01¥anzio¥ServerD:
メンバー anzioCell01¥anzio¥ServerC 接続が閉じられました。メンバーはビューから除去されます。
DCS 接続状況は Discovery|Ptp, transmitter closed です。

クローズされたソケット・メカニズムは、 失敗したメンバーを発見する一般的な方法です。 基盤となるオペレーティング・システムの TCP 設定 (FIN_WAIT など) は、 ソケットのクローズ・イベントの受信速度に影響を与えます。

コア・グループ・メンバーからのアクティブなハートビートを listen します。

アクティブなハートビート・メカニズムは、TCP のキープアライブ機能に類似しています。 定期的にスケジュールされた間隔で、 各コア・グループ・メンバーは、オープンなコア・グループ接続ごとに ping パケットを送信します。 パケットが送信されるレートまたは周期は、 ハートビート伝送期間と呼ばれます。

各コア・グループ・メンバーは、 接続の他端にいるコア・グループ・メンバーから、開かれている各接続のパケットを受信することを予期しています。ハートビート・タイムアウト期間に、指定された時間内に開かれている接続を介して受信されるパケットがない場合は、接続の他端にいるメンバーが障害ありとしてマーキングされます。

ハートビート・タイムアウト期間は、 ハートビート伝送期間の倍数である整数でなければなりません。ハートビート・タイムアウト期間は、 ハートビート伝送期間の少なくとも 2 倍にする必要があります。

メンバーが障害ありとマーキングされた場合は、以下のメッセージがエラー・ログ・ファイルに送信されます。
DCSV1112W: DCS Stack DefaultCoreGroup at Member anzioCell01¥anzioCellManager01¥dmgr:
Suspected member anzioCell01¥nettuno¥ServerB because of heartbeat timeout.
Configured Timeout is 180000 milliseconds.
DCS logical channel is Connected|Ptp.

アクティブなハートビートは、 ネットワークが停止したために到達不能なコア・グループ・メンバーを検出するのに最も便利です。 アクティブなハートビートは、CPU をある程度消費します。 消費される CPU 使用量は、コア・グループ内のアクティブ・メンバーの数に比例します。 アクティブなハートビートのデフォルト構成は、CPU の使用残量と失敗したメンバーのタイムリーな検出との バランスです。

管理コンソールまたは wsadmin ツールを使用して、 ハートビート伝送期間およびハートビート・タイムアウト期間を構成します。 管理コンソールを使用してこれらの設定を変更する方法に関する説明については、トピック『コア・グループの障害検出プロトコルの構成』を参照してください。

[IBM i][AIX Solaris HP-UX Linux Windows]

代替プロトコル・プロバイダー

現在、IBM i および分散プラットフォームで使用可能な代替プロトコル・プロバイダーはありません。

代替プロトコル・プロバイダー

デフォルトのディスカバリー・プロトコルおよび障害検出プロトコルの代わりに代替プロトコル・プロバイダーを使用して、コア・グループ・メンバー間の通信のモニターおよび管理を行うことができます。通常、z/OS システム間カップリング・ファシリティー (XCF) ベースのプロバイダーなどの代替プロトコル・プロバイダーは、デフォルトのディスカバリー・プロトコルおよび障害検出プロトコルほどシステム・リソースを使用しません。 これは、特にコア・グループ・メンバーがアイドル状態の場合に当てはまります。通常、代替プロトコル・プロバイダーはシステム・リソースをあまり使用しません。 これは、デフォルトのプロトコル・プロバイダーが使用するメンバー間の TCP/IP ping を実行して、コア・グループ・メンバーがまだアクティブであるかどうかを判別しないためです。

[z/OS]z/OS システム間カップリング・ファシリティー (XCF) ベースのプロトコル・プロバイダーを使用する場合は、開始時にサーバー・プロセスがメンバーとして XCF グループに結合されることを理解する必要があります。XCF グループには、 コア・グループのアクティブ・メンバーがすべて含まれています。XCF は、あるメンバーがグループに加わる場合、およびサーバーがシャットダウンしたか、サーバー・プロセスが終了したと XCF が判断したために、あるメンバーと連絡が取れなくなった場合は常に、このグループのすべてのメンバーに通知を行います。 コア・グループ・メンバー間の接続が確立されると常に、z/OS システム間カップリング・ファシリティー (XCF) ベースのプロトコル・プロバイダーは View Synchrony Protocol に通知し、このイベントを以下のような通知メッセージとして SystemOut.log ファイルに記録します。
DCSV1032I: DCS スタック DefaultCoreGroup メンバー MyCell¥anzio¥nodeagent:
定義済みメンバー MyCell¥anzioCellManager¥dmgr に接続しました。
特定のコア・グループ・メンバーを再構成して代替プロトコル・プロバイダーを使用する前に、 コア・グループ・メンバーが以下の要件を満たすことを検証する必要があります。コア・グループ・メンバーが これらの要件のすべてを満たしているとは限らない場合は、このコア・メンバー・グループでデフォルトのディスカバリー・プロトコルおよび障害検出プロトコルを継続して使用する必要があります。
  • コア・グループは均一です。これは、コア・グループ・プロセスはすべて同じプラットフォーム上にある必要があることを意味します。例えば、コア・グループには z/OS と分散プラットフォームを混合して含めることはできません。

    [z/OS]コア・グループに z/OS 以外のプロセスが含まれる場合、またはコア・グループが異なるバージョン・レベルの製品のメンバーから構成される場合は、 このコア・グループには XCF を使用します。

  • コア・グループ・ブリッジ・サービスを使用して、あるコア・グループを別のコア・グループにブリッジする必要がある場合は、このコア・グループにブリッジされるコア・グループもすべて均一コア・グループになります。
  • コア・グループ・メンバーはすべて、バージョン 7.x の製品である必要があります。 コア・グループ・メンバーがすべてバージョン 6.x レベルの製品で稼働している場合は、 代替プロトコル・プロバイダーに切り替える前に、これらのメンバーをバージョン 7.x に更新する必要があります。

トピックのタイプを示すアイコン 概念トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=crun_ha_discovery
ファイル名:crun_ha_discovery.html