シャーシ クラスタ冗長グループのフェイルオーバー
冗長性グループ (RG) は、高可用性を提供するために、クラスターの両方のノード上のオブジェクトのコレクションを含め、管理します。各冗長性グループは、フェイルオーバーの独立したユニットとして機能し、一度に 1 つのノードでのみプライマリになります。詳細については、次のトピックを参照してください。
シャーシ クラスタ冗長グループのフェイルオーバーについて
シャーシ クラスタ は、システムの全体的な信頼性と生産性を向上させるために、高可用性を促進する多数の非常に効率的なフェイルオーバー メカニズムを採用しています。
冗長性グループは、グループとしてフェイルオーバーするオブジェクトの集合です。各冗長性グループは一連のオブジェクト(物理インターフェイス)を監視し、各監視対象オブジェクトには重みが割り当てられます。各冗長性グループの初期しきい値 255
は です。監視対象オブジェクトに障害が発生すると、そのオブジェクトの重みが冗長グループのしきい値から差し引かれます。しきい値がゼロに達すると、冗長性グループは他のノードにフェイルオーバーします。その結果、冗長性グループに関連付けられているすべてのオブジェクトもフェールオーバーします。ルーティングプロトコルのグレースフルリスタートにより、SRXシリーズファイアウォールはフェイルオーバー中のトラフィックの中断を最小限に抑えることができます。
短い間隔で冗長性グループのバックツーバックフェイルオーバーが発生すると、クラスターで予期しない動作が発生する可能性があります。このような予測不可能な動作を防ぐには、フェイルオーバー間の減衰時間を設定します。フェイルオーバー時に、冗長性グループの前のプライマリノードはセカンダリホールド状態に移行し、ホールドダウン間隔が切れるまでセカンダリホールド状態を維持します。ホールドダウン間隔が終了すると、前のプライマリノードはセカンダリ状態に移行します。
ホールドダウン間隔を設定することで、ホールドダウン間隔内にバックツーバックフェイルオーバーが発生しないようにすることができます。
ホールドダウン間隔は、手動フェールオーバーと、監視エラーに関連する自動フェールオーバーに影響します。
冗長グループ0のデフォルトの減衰時間は300秒(5分)で、 ステートメントを使用して hold-down-interval
最大1800秒に設定可能です。多数のルートや論理インターフェイスを持つ設定など、一部の設定では、デフォルトの間隔またはユーザーが設定した間隔では不十分な場合があります。このような場合、システムがフェイルオーバーの準備ができるまで、60秒単位でダンピング時間を自動的に延長します。
冗長性グループ(1〜128の番号が付けられた冗長性グループ x )のデフォルト減衰時間は1秒で、範囲は0〜1800秒です。
SRXシリーズファイアウォールでは、シャーシクラスターのフェイルオーバーパフォーマンスは、より多くの論理インターフェイスに合わせて拡張できるように最適化されています。以前は、冗長グループのフェイルオーバー中に、各 論理インターフェイス のルーティングエンジンで実行されているジュニパーサービス冗長プロトコル(jsrpd)プロセスによって無償ARP(GARP)が送信され、トラフィックを適切なノードに誘導していました。論理インターフェイススケーリングでは、ルーティングエンジンがチェックポイントとなり、GARPはSPU(サービス処理ユニット)から直接送信されます。
プリエンプティブ・フェイルオーバー遅延タイマー
冗長性グループは、常に一方のノードではプライマリ状態(アクティブ)にあり、もう一方のノードではセカンダリ状態(バックアップ)にあります。
冗長性グループ内の両方のノードでプリエンプティブ動作を有効にし、冗長性グループ内の各ノードに優先度値を割り当てることができます。優先順位が高い冗長性グループ内のノードは、最初にグループのプライマリとして指定され、もう一方のノードは最初に冗長性グループのセカンダリとして指定されます。
冗長性グループがそのノードの状態をプライマリとセカンダリの間でスワップする場合、最初の状態スワップの直後に、そのノードの状態スワップが再び発生する可能性があります。この状態の急激な変化により、プライマリシステムとセカンダリシステムのフラッピングが発生します。
Junos OSリリース17.4R1以降、シャーシクラスター内のSRXシリーズファイアウォールにフェイルオーバー遅延タイマーが導入され、プリエンプティブフェイルオーバーにおけるセカンダリノードとプライマリノード間の冗長グループ状態のフラッピングが制限されています。
フラッピングを防止するために、次のパラメータを設定できます。
プリエンプティブ遅延:プリエンプティブ遅延時間は、プリエンプティブフェイルオーバーでプライマリステートがダウンしたときに、セカンダリ状態の冗長性グループがプライマリステートに切り替える前に待機する時間です。この遅延タイマーは、設定された期間(1〜21,600秒)即時フェイルオーバーを遅らせます。
プリエンプティブ制限 - プリエンプティブ制限は、冗長性グループに対して が有効になっている場合に
preemption
、設定されたプリエンプティブ期間中のプリエンプティブフェイルオーバーの数(1〜50)を制限します。プリエンプティブ期間 - プリエンプティブ制限が適用される期間(1〜1440秒)、つまり、冗長性グループに対してプリエンプトが有効になっている場合に、設定されたプリエンプティブフェイルオーバーの数が適用されます。
次のシナリオで、プリエンプティブ期間を 300 秒、プリエンプティブ制限を 50 に設定した場合を考えてみます。
プリエンプティブ制限が 50 に設定されている場合、カウントは 0 から始まり、最初のプリエンプティブ フェールオーバーで増加します。このプロセスは、カウントが構成されたプリエンプティブ制限(50)に達するまで続き、プリエンプティブ期間が終了します。プリエンプティブ制限(50)を超えた場合、プリエンプティブ フェールオーバーが再び発生するように、プリエンプティブ カウントを手動でリセットする必要があります。
プリエンプティブ期間を300秒に設定し、最初のプリエンプティブ・フェイルオーバーと現在のフェイルオーバーの時間差がすでに300秒を超えており、プリエンプティブ制限(50)にまだ達していない場合、プリエンプティブ期間はリセットされます。リセット後、最後のフェールオーバーは新しいプリエンプティブ期間の最初のプリエンプティブ フェールオーバーと見なされ、プロセスは最初からやり直されます。
プリエンプティブ遅延は、フェイルオーバー制限とは無関係に設定できます。プリエンプティブ遅延タイマーを設定しても、既存のプリエンプティブ動作は変更されません。
この機能強化により、管理者はフェイルオーバー遅延を導入できます。これにより、フェイルオーバーの数を減らすことができ、冗長性グループ内でのアクティブ/スタンバイ フラッピングが減少するため、ネットワークの状態がより安定します。
プリエンプティブ遅延によるプライマリ状態からセカンダリ状態への移行を理解する
ノード0のプライマリである冗長性グループが、フェイルオーバー中にセカンダリ状態にプリエンプティブに移行する準備ができている次の例を考えてみましょう。優先度は各ノードに割り当てられ、 preemptive
オプションはノードに対しても有効になります。
図1 は、プリエンプティブ遅延タイマーが設定されている場合の、プライマリ状態からセカンダリ状態に移行する一連のステップを示しています。

オプションが設定されている場合
preemptive
、プライマリ状態のノードはセカンダリ状態へのプリエンプティブ移行の準備ができており、セカンダリ状態のノードはプライマリ状態のノードよりも優先されます。プリエンプティブ遅延が設定されている場合、プライマリ状態のノードはプライマリプリエンプトホールド状態に移行します。プリエンプティブ遅延が設定されていない場合、セカンダリ状態への即時遷移が発生します。ノードは、プリエンプティブ遅延タイマーが期限切れになるのを待っている 1 次プリエンプト保留状態です。プリエンプティブ遅延タイマーがチェックされ、タイマーが期限切れになるまで遷移が保留されます。プライマリノードは、タイマーが期限切れになるまでプライマリプリエンプトホールド状態のままになり、その後セカンダリ状態に移行します。
ノードは、プライマリプリエンプト保留状態からセカンダリ保留状態に遷移し、その後セカンダリ状態に移行します。
ノードは、デフォルトの時間(1 秒)または設定された時間(最低 300 秒)の間、セカンダリ保留状態のままになり、その後、ノードはセカンダリ状態に移行します。
シャーシ クラスタの設定で異常な数のフラップが発生した場合は、リンク タイマーと監視タイマーをチェックして、正しく設定されていることを確認する必要があります。遅延の大きいネットワークでタイマーを設定するときは、誤検知が発生しないように注意してください。
プリエンプティブ遅延タイマーの設定
このトピックでは、シャーシクラスター内のSRXシリーズファイアウォールで遅延タイマーを設定する方法について説明します。バックツーバックの冗長グループのフェイルオーバーが速すぎると、シャーシ クラスタで予期しない動作が発生する可能性があります。遅延タイマーとフェイルオーバーレート制限を設定すると、即時フェイルオーバーが一定期間遅延します。
冗長グループのフェイルオーバー間のプリエンプティブ遅延タイマーとフェイルオーバーレート制限を設定するには、以下を行います。
冗長性グループのプリエンプティブ・フェイルオーバーを有効にします。
遅延タイマーは 1 秒から 21,600 秒の間で設定できます。デフォルト値は 1 秒です。
{primary:node1} [edit chassis cluster redundancy-group number preempt] user@host# set delay interval
プリエンプティブ フェールオーバーの制限を設定します。
プリエンプティブ フェールオーバーの最大数は 1 から 50 の範囲で設定でき、制限が適用される期間は 1 から 1440 秒の間で設定できます。
{primary:node1}[edit chassis cluster redundancy-group number preempt] user@host# set limit limit period period
次の例では、プリエンプティブ遅延タイマーを 300 秒、プリエンプティブ制限を 10 に設定し、プリエンプティブ期間を 600 秒に設定します。つまり、この構成では、即時フェールオーバーを 300 秒間遅延させ、600 秒間に最大 10 回のプリエンプティブ フェールオーバーを制限します。
{primary:node1}[edit chassis cluster redundancy-group 1 preempt] user@host# set delay 300 limit 10 period 600
コマンドを使用して、すべての冗長性グループのプリエンプトフェイルオーバーカウンターをクリアできます clear chassis clusters preempt-count
。プリエンプト制限が構成されている場合、カウンターは最初のプリエンプティブ フェールオーバーで開始され、カウントが減少します。このプロセスは、タイマーが期限切れになる前にカウントが 0 に達するまで続きます。このコマンドを使用して、プリエンプト・フェイルオーバー・カウンターをクリアし、リセットして再開することができます。
関連項目
シャーシ クラスタ冗長グループの手動フェイルオーバーについて
冗長グループ x (1 〜 128 の冗長グループ)フェイルオーバーを手動で開始できます。手動フェールオーバーは、フェールバック イベントが発生するまで適用されます。
例えば、冗長グループ1のノード0からノード1へのフェイルオーバーを手動で実行するとします。次に、冗長グループ1が監視しているインターフェイスに障害が発生し、新しいプライマリ冗長グループのしきい値がゼロに低下します。このイベントはフェールバック イベントと見なされ、システムは元の冗長性グループに制御を戻します。
冗長グループ0のプライマリノードを変更する場合は、冗長グループ0のフェイルオーバーを手動で開始することもできます。冗長グループ0のプリエンプションを有効にすることはできません。
プリエンプトが冗長グループ設定に追加された場合、グループ内で優先度の高いデバイスがフェイルオーバーを開始してプライマリになります。デフォルトでは、プリエンプションは無効になっています。プリエンプションの詳細については、 プリエンプト(シャーシ クラスタ)を参照してください。
冗長グループ0に対して手動フェイルオーバーを実行すると、プライマリ状態のノードはセカンダリ保留状態に移行します。ノードは、デフォルトまたは設定された時間(最低 300 秒)セカンダリ保留状態のままで、その後セカンダリ状態に移行します。
1つのノードがセカンダリ保留状態にあり、もう一方のノードが再起動した場合、またはそのノードへの制御リンク接続またはファブリックリンク接続が失われた場合の状態遷移は、以下のように説明されています。
再起動ケース:セカンダリ保留状態のノードがプライマリ状態に移行します。もう一方のノードは停止 (非アクティブ) になります。
制御リンク障害の場合:セカンダリ保留状態のノードは、不適格な状態に移行し、その後無効状態になります。もう一方のノードはプライマリ ステートに移行します。
ファブリックリンク障害の場合:セカンダリ保留状態のノードは、直接不適格な状態に遷移します。
Junos OSリリース12.1X46-D20およびJunos OSリリース17.3R1以降、ファブリックの監視はデフォルトで有効になっています。これを有効にすると、ファブリックリンクに障害が発生した場合、ノードは直接不適格な状態に移行します。
Junos OSリリース12.1X47-D10およびJunos OSリリース17.3R1以降、ファブリックの監視はデフォルトで有効になっています。これを有効にすると、ファブリックリンクに障害が発生した場合、ノードは直接不適格な状態に移行します。
インサービスソフトウェアアップグレード(ISSU)中は、ここで説明する移行は実行できないことに注意してください。ジュニパーネットワークス 10.0 より前のリリースではセカンダリ保留状態が解釈されないため、もう一方の(プライマリ)ノードは直接セカンダリ ステートに移行します。ISSU の起動中に、ノードの 1 つにセカンダリ保留状態の冗長性が 1 つ以上ある場合は、手動フェールオーバーを実行して 1 つのノード上のすべての冗長性グループをプライマリにする前に、ISSU がセカンダリ状態に移行するのを待つ必要があります。
冗長グループ 0 の手動フェールオーバーを使用する場合は、慎重かつ慎重に行ってください。冗長グループ0のフェイルオーバーは、ルーティングエンジンのフェイルオーバーを意味し、この場合、プライマリノードで実行されているすべてのプロセスが強制終了され、新しいプライマリルーティングエンジンで生成されます。このフェールオーバーにより、ルーティング状態などの状態が失われ、システム チャーンが導入されてパフォーマンスが低下する可能性があります。
一部のJunos OSリリースでは、冗長性グループ xの場合、優先度が0のノードで手動フェイルオーバーを実行できます。手動フェイルオーバーを実行する前に、 コマンドを使用して冗長グループノードの優先順位を確認することをお勧めします show chassis cluster status
。ただし、Junos OSリリース12.1X44-D25、12.1X45-D20、12.1X46-D10、および12.1X47-D10以降では、手動フェイルオーバーの準備チェックメカニズムがより制限が厳しくなるように拡張され、優先度が0の冗長性グループ内のノードに手動フェイルオーバーを設定できなくなります。この機能拡張により、トラフィックを受け入れる準備ができていない優先度 0 のノードへのフェイルオーバーの試行によって、トラフィックが予期せずドロップされるのを防ぐことができます。
シャーシ クラスタの手動冗長グループ フェイルオーバーの開始
開始する前に、以下のタスクを完了してください。
コマンドを使用して、フェイルオーバーを手動で request
開始できます。手動フェイルオーバーにより、そのメンバーの冗長性グループの優先順位が 255 に上がります。
冗長グループ 0 の手動フェールオーバーを使用する場合は、慎重かつ慎重に行ってください。冗長グループ0のフェイルオーバーは、ルーティングエンジン(RE)フェイルオーバーを意味し、この場合、プライマリノードで実行されているすべてのプロセスが強制終了され、新しいプライマリルーティングエンジン(RE)で生成されます。このフェールオーバーにより、ルーティング状態などの状態が失われ、システム チャーンが導入されてパフォーマンスが低下する可能性があります。
電源コードを抜き、電源ボタンを押したままにしてシャーシ クラスタ冗長グループのフェイルオーバーを開始すると、予期しない動作が発生する可能性があります。
冗長性グループ(1〜128の番号が付けられた冗長性グループ x )の場合、優先度が0のノードで手動フェイルオーバーを実行できます。手動フェールオーバーを実行する前に、冗長グループ ノードの優先順位を確認することをお勧めします。
show
コマンドを使用して、クラスタ内のノードのステータスを表示します。
{primary:node0} user@host> show chassis cluster status redundancy-group 0 Cluster ID: 9 Node Priority Status Preempt Manual failover Redundancy group: 0 , Failover count: 1 node0 254 primary no no node1 1 secondary no no
このコマンドへの出力は、ノード 0 がプライマリであることを示しています。
コマンドを使用して request
フェイルオーバーをトリガーし、ノード1をプライマリにします。
{primary:node0} user@host> request chassis cluster failover redundancy-group 0 node 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Initiated manual failover for redundancy group 0
show
コマンドを使用して、クラスタ内のノードの新しいステータスを表示します。
{secondary-hold:node0} user@host> show chassis cluster status redundancy-group 0 Cluster ID: 9 Node Priority Status Preempt Manual failover Redundancy group: 0 , Failover count: 2 node0 254 secondary-hold no yes node1 255 primary no yes
このコマンドへの出力は、ノード1がプライマリで、ノード0がセカンダリ保留状態になっていることを示しています。5 分後、ノード 0 はセカンダリ状態に移行します。
冗長性グループの request
フェイルオーバーは、 コマンドを使用してリセットできます。この変更は、クラスター全体に伝達されます。
{secondary-hold:node0} user@host> request chassis cluster failover reset redundancy-group 0 node0: -------------------------------------------------------------------------- No reset required for redundancy group 0. node1: -------------------------------------------------------------------------- Successfully reset manual failover for redundancy group 0
5 分間隔が経過するまで、バックツーバック フェールオーバーをトリガーすることはできません。
{secondary-hold:node0} user@host> request chassis cluster failover redundancy-group 0 node 0 node0: -------------------------------------------------------------------------- Manual failover is not permitted as redundancy-group 0 on node0 is in secondary-hold state.
show
コマンドを使用して、クラスタ内のノードの新しいステータスを表示します。
{secondary-hold:node0} user@host> show chassis cluster status redundancy-group 0 Cluster ID: 9 Node Priority Status Preempt Manual failover Redundancy group: 0 , Failover count: 2 node0 254 secondary-hold no no node1 1 primary no no
このコマンドへの出力は、どちらのノードでもバックツーバック フェイルオーバーが発生していないことを示しています。
手動フェイルオーバーを実行した後、別のフェイルオーバーを要求する前に コマンドを発行 reset failover
する必要があります。
プライマリノードに障害が発生して復旧した場合、プライマリノードの選択は通常基準(優先度とプリエンプト)に基づいて行われます。
例:シャーシ クラスタを設定し、バックツーバック冗長グループのフェイルオーバー間隔を短縮する
この例では、シャーシ クラスタの連続した冗長グループのフェイルオーバー間の減衰時間を設定する方法を示します。バックツーバックの冗長グループのフェイルオーバーが速すぎると、シャーシ クラスタで予期しない動作が発生する可能性があります。
要件
始める前に:
冗長グループのフェイルオーバーについて理解する。 シャーシ クラスタ冗長グループのフェールオーバーについて を参照してください。
冗長グループの手動フェイルオーバーについて理解する。 シャーシ クラスタ冗長グループの手動フェールオーバーについてを参照してください。
概要
減衰時間は、冗長性グループのバックツーバックフェイルオーバー間で許容される最小間隔です。この間隔は、インターフェイス監視の失敗による手動フェイルオーバーと自動フェイルオーバーに影響します。
この例では、冗長グループ 0 のバックツーバック フェイルオーバー間で許容される最小間隔を 420 秒に設定します。
構成
手順
手順
バックツーバック冗長グループのフェイルオーバー間の減衰時間を設定するには:
冗長グループの減衰時間を設定します。
{primary:node0}[edit] user@host# set chassis cluster redundancy-group 0 hold-down-interval 420
デバイスの設定が完了したら、設定をコミットします。
{primary:node0}[edit] user@host# commit
シャーシ クラスタ冗長グループ フェイルオーバーのための SNMP フェイルオーバー トラップについて
シャーシクラスタリングは、冗長グループのフェイルオーバーが発生するたびにトリガーされるSNMPトラップをサポートしています。
トラップ メッセージは、フェールオーバーのトラブルシューティングに役立ちます。次の情報が含まれています。
クラスター ID とノード ID
フェールオーバーの理由
フェイルオーバーに関係する冗長性グループ
冗長性グループの以前の状態と現在の状態
特定の瞬間にクラスターができるさまざまな状態(保留、プライマリ、セカンダリホールド、セカンダリ、不適格、無効)です。トラップは、以下の状態遷移に対して生成されます(保留状態からの遷移のみがトラップをトリガーしません)。
プライマリ<〜>セカンダリ
プライマリ - >セカンダリホールド
セカンダリホールド - >セカンダリ
セカンダリ–>不適格
不適格–>無効
不適格–>プライマリ
セカンダリ - >無効
遷移は、インターフェイス監視、SPU 監視、障害、手動フェイルオーバーなどのあらゆるイベントによってトリガーできます。
発信インターフェイスが、トラップを生成するルーティング エンジン上のノードとは異なるノード上にある場合、トラップは制御リンクを介して転送されます。
ステートメントを設定することで traceoptions flag snmp
、トレース ログの生成を指定できます。
シャーシ クラスタ フェイルオーバー ステータスの検証
目的
シャーシ クラスタのフェイルオーバー ステータスを表示します。
アクション
CLIから コマンド show chassis cluster status
を入力します。
{primary:node1}
user@host> show chassis cluster status
Cluster ID: 3
Node name Priority Status Preempt Manual failover
Redundancy-group: 0, Failover count: 1
node0 254 primary no no
node1 2 secondary no no
Redundancy-group: 1, Failover count: 1
node0 254 primary no no
node1 1 secondary no no
{primary:node1}
user@host> show chassis cluster status
Cluster ID: 15
Node Priority Status Preempt Manual failover
Redundancy group: 0 , Failover count: 5
node0 200 primary no no
node1 0 lost n/a n/a
Redundancy group: 1 , Failover count: 41
node0 101 primary no no
node1 0 lost n/a n/a
{primary:node1}
user@host> show chassis cluster status
Cluster ID: 15
Node Priority Status Preempt Manual failover
Redundancy group: 0 , Failover count: 5
node0 200 primary no no
node1 0 unavailable n/a n/a
Redundancy group: 1 , Failover count: 41
node0 101 primary no no
node1 0 unavailable n/a n/a
シャーシ クラスタ フェイルオーバー ステータスのクリア
シャーシ クラスタのフェイルオーバー ステータスをクリアするには、CLIから コマンドを入力します clear chassis cluster failover-count
。
{primary:node1}
user@host> clear chassis cluster failover-count
Cleared failover-count for all redundancy-groups