仮想ドメインの構成例

次の例では、VirtualDomainSchema.cfg ファイルに追加され、このファイルの起動時に仮想ドメインを構成するデフォルトの OQL 挿入を示します。

注意: 1 次サーバーとバックアップ・サーバーの両方に VirtualDomainSchema.cfg 構成ファイルがあります。 両方の構成ファイルは、同様に変更 する必要があります。

config.defaults テーブルの構成例

次に config.defaults テーブルを構成する OQL サンプルを示します。

insert into config.defaults
(
        m_HealthCheckPeriod,
        m_FailoverTime,
        m_AutoTopologyDownload
)
values
( 60, 300, 1 );

この挿入によって、次の動作がトリガーされます。

  • 仮想ドメインによって、state.services テーブルにリストされているプロセスの正常性検査が 60 秒ごとに実行されます。 正常性検査では、state.filters テーブルのフィルターが state.services の値に適用されます (CTRL プロセスによって モニターされているプロセスの現在の状態)。
  • 仮想ドメインは、現在時刻と正常性検査解決イベントのタイム・スタンプの間に 300 秒のデフォルト時差を持ちます。 差がこの値を超えると、 Network Manager はフェイルオーバーします。 時差は、誤ったフェイルオーバーを回避するため、この値に設定されています。
  • TCP 接続が失われ、プライマリー・サーバーで再作成されるたびに、 バックアップ・サーバーによってトポロジーがダウンロードされます。

state.filters テーブルの構成例: イベント・ゲートウェイ・フィルター

以下のサンプル OQL insert は、 Network Managerで提供されるデフォルト・フィルターの 1 つを指定します。

insert into state.filters
(
        m_ServiceName,
        m_Filter,
        m_Description
)
values
(
        "ncp_g_event",
        "m_ChangeTime > eval(long,'$TIME - 300') and m_CtrlState <> 7",
        "The Gateway has been running within the last 300 seconds"
);

この挿入によって、次の動作がトリガーされます。

  • 仮想ドメインによって、イベント・ゲートウェイ・プロセス ncp_g_event にフィルターが適用されます (フィルターは挿入の後半で指定されます)。
  • 仮想ドメインによって、m_CtrlState 値が 7 ではなく (サービスは失敗していない)、タイム・スタンプ m_ChangeTime が 300 秒を超えていないことをチェックするフィルターが適用されます。
  • 仮想ドメインによって、フィルターの説明が出力されます:The Gateway has been running within the last 300 seconds.

state.filters テーブルの構成例: 追加構成されたポーリング・プログラムのフィルター

追加構成されたポーリング・プログラムは、フェイルオーバーをトリガーできます。 以下に示すサンプルの OQL 挿入では、デフォルト・バージョンの VirtualDomainSchema.cfg ファイルで提供されている追加構成されたポーリング・プログラムに対し、コメント化されたサンプル・フィルターを指定しています。 このフィルターをアンコメントするには、スラッシュを除去します。 以下のフィルタm_ServiceNameは、 $NCHOME/etc/precision/CtrlServices.cfg ファイルで追加設定されたポーラーに対して指定された serviceNameと一致する必要があります。

// insert into state.filters
// (
//     m_ServiceName,
//     m_Filter,
//     m_Description
// )
// values
// (
//     "PingPoller",
//     "m_ChangeTime > eval(time,'$TIME - 300') and m_CtrlState <> 7",
//     "The Poller has been running within the last 300 seconds"
// );

この挿入によって、次の動作がトリガーされます。

  • 仮想ドメインによって、追加構成されたポーリング・プログラム PingPoller にフィルターが適用されます (フィルターは挿入の後半で指定されます)。
  • 仮想ドメインによって、m_CtrlState 値が 7 ではなく (サービスは失敗していない)、タイム・スタンプ m_ChangeTime が 300 秒を超えていないことをチェックするフィルターが適用されます。
  • 仮想ドメインによって、フィルターの説明が出力されます:The Poller has been running within the last 300 seconds.