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

オプションが設定されている場合、プライマリ ステートのノードはセカンダリ ステートにプリエプティブに移行する準備が整い、セカンダリ ステートのノードはプライマリー ステートのノードよりも優先されます
preemptive
。プリエプティブ遅延が設定されている場合、プライマリステートのノードはプライマリプリアンプトホールド状態に移行します。プリエプティブな遅延が設定されていない場合は、セカンダリ 状態への即時移行が行います。ノードは、プリインプティブ遅延タイマーが期限切れになるのを待つプライマリプレインプト状態です。プリエプティブ遅延タイマーはチェックされ、タイマーが期限切れになるまで移行を保持します。プライマリ ノードは、セカンダリ ステートに移行する前に、タイマーが期限切れになるまでプライマリ プレempt-hold 状態にとどまります。
ノードはプライマリプレempt-hold状態からセカンダリ ホールド状態に、次にセカンダリステートに移行します。
ノードは、デフォルト時間(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 秒、プリエプティブ制限を 600 秒のプリプティブ期間で 10 に設定しています。つまり、この設定では即座に 300 秒間のフェイルオーバーが遅れ、最大 10 のプリエプティブ フェイルオーバーが 600 秒の間で制限されます。
{primary:node1}[edit chassis cluster redundancy-group 1 preempt] user@host# set delay 300 limit 10 period 600
コマンドを使用 clear chassis clusters preempt-count
して、すべての冗長グループのフェイルオーバー カウンターを消去できます。事前制限が設定されている場合、カウンターは最初のプリエプティブ フェイルオーバーで始まり、カウントは減少します。このプロセスは、タイマーが切れる前にカウントがゼロに達するまで続行されます。このコマンドを使用して、事前フェイルオーバー カウンターをクリアし、リセットして再度起動できます。
詳細については、
シャーシ クラスタ冗長グループ手動フェイルオーバーについて
冗長グループ x(冗長グループ番号が 1 ~128)のフェイルオーバーを手動で開始できます。手動フェイルオーバーは、フェイルバック イベントが発生するまで適用されます。
たとえば、ノード 0 からノード 1 への冗長グループ 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 より前の ジュニパーネットワークス リリースではセカンダリ 保持状態が解釈されないため、もう 1 つの(プライマリ)ノードはセカンダリ ステートに直接移行します。ISSU を開始する間、ノードの 1 つがセカンダリ ホールド 状態に 1 つ以上の冗長グループを持つ場合、手動フェイルオーバーを実行して冗長グループをすべて 1 つのノードでプライマリにする前に、ノードがセカンダリ ステートに移行されるのを待つ必要があります。
冗長グループ 0 手動フェイルオーバーの使用には慎重で慎重に注意してください。冗長グループ 0 のフェイルオーバーは ルーティング エンジン フェイルオーバーを意味します。この場合、プライマリ ノード上で実行されているすべてのプロセスが削除され、新しいプライマリ ノードで生成ルーティング エンジン。このフェイルオーバーにより、ルーティング状態などの状態が失われる可能性や、システムチャーンが発生することでパフォーマンスが低下する可能性があります。
冗長グループJunos OS、冗長グループの場合、優先度が 0 のノードで手動フェイルオーバーを実行する x 場合があります。手動フェイルオーバーを実行する前に、 コマンドを使用して冗長グループ ノードの 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)でルーティング エンジンされます。このフェイルオーバーにより、ルーティング状態などの状態が失われる可能性や、システムチャーンが発生することでパフォーマンスが低下する可能性があります。
電源コードを抜き、電源ボタンを押し続いてシャーシ クラスタの冗長グループ フェイルオーバーを開始すると、予期しない動作が発生する可能性があります。
冗長グループ(冗長グループの番号が x 1~128)では、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 トラップに対応しています。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
シャーシ クラスタ フェイルオーバー ステータスの消去
シャーシ クラスタのフェイルオーバー ステータスを消去するには、次のスイッチから clear chassis cluster failover-count
コマンドを入力CLI。
{primary:node1}
user@host> clear chassis cluster failover-count
Cleared failover-count for all redundancy-groups