グレースフル ルーティングエンジン スイッチオーバーの設定
次の手順と例を使用して、グレースフル ルーティングエンジン スイッチオーバー(GRES)を設定する方法を説明します。
バックアップルーター構成のルーターの要件
ルーティングエンジン 設定に backup-router
ステートメントまたは inet6-backup-router
ステートメントが含まれている場合、 destination
ステートメントを使用して、バックアップ ルーターのサブネット アドレスまたは複数のサブネット アドレスを指定することもできます。バックアップルーティングエンジンの宛先サブネットを [edit system (backup-router | inet6-backup-router) address]
階層レベルに含めます。この要件は、 backup-router または inet6-backup-router
ステートメントを含むTXマトリクス ルーターに接続されたすべてのT640ルーターにも適用されます。
複数のスタティックルートが管理イーサネットインターフェイスからゲートウェイを指すバックアップルーター設定の場合、スタティックルートよりも具体的なプレフィックスを設定するか、[edit routing-options static route]
階層レベルで保持フラグを含める必要があります。
例えば、管理用に管理イーサネットインターフェイスから静的ルート 172.16.0.0/12 を設定する場合、バックアップルーター設定を次のように指定する必要があります。
backup-router 172.29.201.62 destination [172.16.0.0/13 172.16.128.0/13]
参照
グレースフル ルーティングエンジン スイッチオーバーの有効化
デフォルトでは、グレースフルルーティングエンジンスイッチオーバー(GRES)は無効になっています。GRES を設定するには、[edit chassis redundancy]
階層レベルで graceful-switchover
ステートメントを含めます。
[edit chassis redundancy] graceful-switchover;
GRES を有効にすると、コマンドラインインターフェイス(CLI)に、使用しているルーティングエンジンが表示されます。例えば:
{master} [edit] user@host#
GRES を無効にするには、[edit chassis redundancy]
階層レベルから graceful-switchover
ステートメントを削除します。
グレースフル リスタートによるグレースフル ルーティングエンジン スイッチオーバーの設定
グレースフル リスタートと GRES を使用している場合、ルーティングエンジンと隣接するピア「ヘルパー」ルーター間の隣接関係がタイムアウトすると、グレースフル リスタート プロトコル拡張は、差し迫った再起動についてピア「ヘルパー」ルーターに通知できません。グレースフル リスタートが停止し、トラフィックが中断する可能性があります。
これらの隣接関係を確実に維持するには、IS-IS プロトコルの ホールドタイム をデフォルトの 27 秒から 40 秒より大きい値に変更します。
ルーティングエンジン設定の同期
新しく挿入されたバックアップ ルーティングエンジンは、その設定とプライマリ ルーティングエンジン 設定を自動的に同期させます。
GRES を設定すると、プライマリ ルーティングエンジンがすでに実行されている後に、バックアップ ルーティングエンジンをオンラインにすることができます。2つのルーティングエンジンを同時に起動する必要はありません。
グレースフル ルーティングエンジン スイッチオーバーを有効にした場合にのみ、プライマリ ルーティングエンジンの実行中の Junos OS バージョンをバックアップ ルーティングエンジンにコピーできます。
システムがISSU状態の場合、プライマリルーターエンジンの実行中のJunos OSバージョンをコピーできません。
Junos OSリリース14.1以降、階層レベルでステートメントをイベントCHASSISD_SNMP_TRAP7[edit event-options policy policy-name]含めることで、プライマリルーティングエンジン設定とバックアップルーティングエンジンの自動同期を有効にすることができます。
CHASSISD_SNMP_TRAP7は、シャーシ プロセス(chassisd)が、示された 7 つの引数と値のペアを持つ SNMP(簡易ネットワーク管理プロトコル)トラップを生成するシステム イベント ロギング メッセージです。プライマリからバックアップルーティングエンジンへの自動同期をトリガーするイベントスクリプトの例は、以下の通りです:
[edit event-options] policy UPGRADE-BACKUPRE { events CHASSISD_SNMP_TRAP7; attributes-match { CHASSISD_SNMP_TRAP7.value5 matches "Routing Engine"; CHASSISD_SNMP_TRAP7.trap matches "Fru Online"; CHASSISD_SNMP_TRAP7.argument5 matches jnxFruName; } then { event-script auto-image-upgrade.slax { arguments { trap "{$$.trap}"; value5 "{$$.value5}"; argument5 "{$$.argument5}"; } } } } event-script { file auto-image-upgrade.slax; }
このイベントを受信すると、プライマリ ルーター エンジンのイベント ポリシーがトリガーされ、 /var/sw/pkg パスで使用可能なイメージがバックアップ ルーター エンジン アップグレードにプッシュされます。スクリプトの実行中に、イメージはバックアップルーティングエンジンの /var/sw/pkg パスにコピーされます。
イメージが /var/sw/pkg パスで利用できない場合、スクリプトは適切なsyslogメッセージで終了します。
ルーティングエンジンがJunos OS リリース13.2以降で実行されている場合、Junos自動化スクリプトは自動的に同期されます。
プライマリルーターエンジンが再起動された後、 /usr/libexec/scripts/event/auto-image-upgrade.slax で利用可能なイベントスクリプトを /var/db/scripts/event pathにコピーする必要があります。
拡張加入者管理を使用しているMXシリーズルーターでは、グレースフルルーティングエンジンスイッチオーバーが実行されると、新しいバックアップルーティングエンジン(以前のプライマリルーティングエンジン)が再起動します。このコールドリスタートにより、バックアップのルーティングエンジンの状態が新しいプライマリルーティングエンジンの状態と再同期され、スイッチオーバー中に発生した可能性のある状態の不一致が防止されます。
グレースフル ルーティングエンジン スイッチオーバー動作の確認
バックアップルーティングエンジンで GRES が有効になっているかどうかを確認するには、 show system switchover
コマンドを発行します。コマンドの出力に 、グレースフルスイッチオーバー フィールドが オンに設定されていることが示されている場合、GRES は動作しています。カーネルデータベースとルーティングエンジン間の設定データベース同期の状態も表示されます。例えば:
Graceful switchover: On Configuration database: Ready Kernel database: Ready Peer state: Steady state
バックアップ ルーティングエンジンで show system switchover
コマンドを発行する必要があります。このコマンドは、プライマリ ルーティングエンジンではサポートされていません。
show system switchover
コマンドの詳細については、CLIエクスプローラーを参照してください。
バーチャルシャーシでのグレースフル ルーティングエンジン スイッチオーバーの設定
バーチャルシャーシでは、1つのメンバースイッチにプライマリロールが割り当てられ、プライマリルーティングエンジンを持ちます。別のメンバー スイッチにはバックアップ ロールが割り当てられ、バックアップ ルーティングエンジンが備えられています。グレースフル ルーティングエンジン スイッチオーバー(GRES)を使用すると、バーチャルシャーシ構成のプライマリおよびバックアップ ルーティング エンジンが、ヒットレス フェイルオーバー ソリューションとしてのパケット転送を中断することなく、プライマリからバックアップに切り替えることができます。グレースフル ルーティングエンジン スイッチオーバーを設定すると、バックアップ ルーティングエンジンはプライマリ ルーティングエンジンと自動的に同期して、カーネル状態情報と転送状態を保持します。
グレースフル ルーティングエンジン スイッチオーバー(GRES)を使用するようにバーチャルシャーシ構成を設定するには:
設定をコミットします。
commit synchronize
コマンドを使用して、マルチメンバー バーチャルシャーシ に対して行った設定変更を保存することをお勧めします。
参照
低速ディスクの場合のグレースフル ルーティングエンジン スイッチオーバーの防止
ディスクアクセスの予期しない低速化は、さまざまな理由 (たとえば、障害や不良セクタなど) で発生し、ルーティングプロセス (rpd) などのプロセスの通常の動作が停止する原因となる可能性があります。最終的には、ルーターのパフォーマンスが影響を受けます。このような状況では、一般的なフェールオーバー メカニズムがトリガーされるまでに時間がかかる場合があります。
ジュニパーネットワークスは、このジレンマを解決するためにディスク監視デーモンを導入しました。デーモンは、ディスクアクセスの遅延を検出し、フェイルオーバーを開始します。フェイルオーバーにより、トラフィックへの影響を最小限に抑え、バックログをクリーンアップするための元のプライマリルーティングエンジンの負荷を軽減できます。
ただし、フェールオーバーを発生させたくない場合もあります。大規模な一連の変更や、ルーティング トポロジで一連の更新につながる可能性のある小さな変更をコミットする場合があります。このようなアクティビティは、ディスク アクセスの遅延を大幅に引き起こし、フェールオーバーをトリガーする可能性があります。このように、フェイルオーバーをトリガーしたくないディスク アクセスの遅延が予想される場合は、 chassis redundancy failover not-on-disk-underperform
設定コマンドを設定することで、フェールオーバーが発生しないように選択できます。もう 1 つの方法は、 system processes gstatd disable
コマンドを設定してディスク監視デーモンを完全に無効にすることです。
ルーティングエンジンのディスクが遅い場合にフェイルオーバーを防ぐには:
[edit chassis redundancy failover]
階層レベルで、gstatdが低速ディスクに応答してフェイルオーバーを開始しないようにするオプションを設定します。
[edit] user@host# set chassis redundancy failover not-on-disk-underperform
参照
ローカル統計のリセット
グレースフル ルーティングエンジン スイッチオーバーを有効にすると、プライマリ ルーティングエンジン 設定がコピーされ、バックアップ ルーティングエンジンにロードされます。ユーザー・ファイル、アカウンティング情報、トレース・オプション情報は、バックアップ・ルーティングエンジンに複製されません。
グレースフル ルーティングエンジンのスイッチオーバーが発生すると、プロセス統計情報やネットワーキング統計情報などのローカル統計情報が、プロセスが最初にオンラインになった時点からの累積値として表示されます。プライマリ ルーティングエンジン上のプロセスは、バックアップ ルーティングエンジン上のプロセスとは異なる時間に開始できるため、同じプロセスでも 2 つのルーティング エンジンの統計値が異なる場合があります。グレースフル ルーティングエンジン スイッチオーバー後、 clear interface statistics(interface-name | all) コマンドを発行して、ローカル統計の累積値をリセットすることを推奨します。転送統計情報は、グレースフル ルーティングエンジン スイッチオーバーの影響を受けません。
clearコマンドを使用して統計情報とプロトコルデータベース情報をクリアする方法については、CLIエクスプローラーを参照してください。
clear firewall コマンドを使用して、グレースフル ルーティングエンジン スイッチオーバーが有効になっているバックアップ ルーティングエンジンのルーティングエンジン フィルター カウンターをクリアすることはできません。
参照
例:グレースフル リスタートによる GRES の IS-IS の設定
この例では、IS-IS(中間システム間)IGP(内部ゲートウェイプロトコル)を使用してルーティングエンジンのグレースフルリスタートプロトコル拡張を設定し、グレースフルリスタートでグレースフルルーティングエンジンスイッチオーバー(GRES)を正常に有効にする方法を示しています。
必要条件
GRES は、プライマリ ルーティングエンジンに障害が発生した場合に、以下のいずれかと組み合わせることで、ネットワーク トラフィックの中断を防止します。
グレースフル リスタート
ノンストップ アクティブ ルーティング(NSR)
こちらの手順に従ってグレースフルリスタートを設定する前に、デフォルトで無効になっている GRES が有効になっていることを確認してください。詳細については、 グレースフル ルーティングエンジン スイッチオーバーの設定 を参照してください。
概要
ルーティングエンジンと隣接するピア「ヘルパー」ルーター間の隣接関係がタイムアウトした場合、グレースフルリスタートプロトコル拡張は、差し迫った再起動についてピア「ヘルパー」ルーターに通知することができません。グレースフル リスタートが停止し、トラフィックが中断する可能性があります。
これらの隣接関係を確実に維持するには、IS-IS プロトコルのホールドタイムをデフォルトの 27 秒から 40 秒より大きい値に変更します。
システムが IS-IS ではなく OSPF(オープン最短経路優先)プロトコルを使用する場合、設定情報については例 :OSPF タイマーの設定 を参照してください。
構成
CLIクイック構成
ホールドタイムを迅速に設定するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク構成に合わせて必要な詳細を変更してから、表示されているさまざまな階層レベルのCLIにコマンドをコピー&ペーストしてください。
各インターフェイスは、ルーティング デバイスが動作する各レベルの値で、個別に設定する必要があります。この例では、最小推奨値の 41 秒が使用されていますが、システムのサイズとトラフィックに基づいて、より高い値が必要になる場合があります。
レベル 1 とレベル 2 は異なる値に設定できます。
[プロトコルを編集]
set protocols isis interface ge-1/2/0 level 1 hold-time 41 set protocols isis interface ge-1/2/0 level 2 hold-time 41
[editlogical-systems logical-system-name}
set protocols isis interface ge-1/2/0 level 1 hold-time 41 set protocols isis interface ge-1/2/0 level 2 hold-time 41
[editlogical-systems logical-system-name routing-instances routing-instance-name]
set protocols isis interface ge-1/2/0 level 1 hold-time 41 set protocols isis interface ge-1/2/0 level 2 hold-time 41
[ルーティングインスタンスルーティングインスタンス名を編集]
set protocols isis interface ge-1/2/0 level 1 hold-time 41 set protocols isis interface ge-1/2/0 level 2 hold-time 41
グレースフルリスタート用のIS-ISプロトコル保留時間の設定
手順
グレースフルリスタートのIS-ISホールドタイムを設定するには:
インターフェイスを検索または設定します。
set protocols isis interface interface-name
ネットワークレベルと、そのレベルの保留時間を秒単位で設定します。
set protocols isis interface interface-name level 1 hold-time 41
ルーティング デバイスが複数のレベルで機能する場合は、もう一方のレベルに値を設定します。
set protocols isis interface interface-name level 2 hold-time 41
ルーティングデバイスの設定が完了したら、設定をコミットします。
手記:共有ネットワーク内のすべてのルーティングデバイスで、設定全体を繰り返します。
業績
検証
グレースフルリスタートのIS-ISプロトコル保留時間の検証
目的
IS-IS プロトコルのホールドタイムが 41 秒以上に設定されていることを確認し、グレースフル リスタートが有効になっていることを確認します。
アクション
動作モードから show isis adjacency brief
コマンドを入力して、設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。
意味
IS-ISプロトコルのホールドタイムの値が十分に高いと、システム設定を再開することができ、ルーティングエンジンに障害が発生してもトラフィックが継続することが保証されます。
変更履歴
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer を使用します。