グレースフルルーティングエンジンスイッチオーバーの設定
以下の手順と例で、グレースフルルーティングエンジンスイッチオーバー(GRES)の設定方法を学びましょう。
バックアップルーター設定を持つルーターの要件
ルーティングエンジン設定に backup-router ステートメントまたは inet6-backup-router ステートメントが含まれている場合は、 destination ステートメントを使用してバックアップルーターのサブネットアドレスまたは複数のサブネットアドレスを指定することもできます。 [edit system (backup-router | inet6-backup-router) address] 階層レベルでバックアップルーティングエンジンの宛先サブネットを含めます。
複数の静的ルートが管理イーサネットインターフェイスからゲートウェイを指すバックアップルーター設定がある場合は、静的ルートよりも具体的なプレフィックスを設定するか、[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バージョンをコピーすることはできません。
[edit event-options policy policy-name]階層レベルにevents CHASSISD_SNMP_TRAP7ステートメントを含めることで、プライマリルーティングエンジン設定とバックアップルーティングエンジンの自動同期を有効にすることができます。
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自動化スクリプトは自動的に同期されます。
プライマリルーターエンジンが再起動された後、 /usr/libexec/scripts/event/auto-image-upgrade.slax で利用可能なイベントスクリプトを /var/db/scripts/event pathにコピーする必要があります。
拡張加入者管理をサポートするデバイスの場合、グレースフルルーティングエンジンスイッチオーバーが実行されると、新しいバックアップルーティングエンジン(以前のプライマリルーティングエンジン)が再起動します。このコールドリスタートにより、バックアップのルーティングエンジンの状態が新しいプライマリルーティングエンジンの状態と再同期し、スイッチオーバー中に発生した可能性のある状態の相違を防ぎます。
グレースフルルーティングエンジンスイッチオーバー動作の検証
バックアップルーティングエンジンで GRES が有効になっているかどうかを確認するには、 show system switchover コマンドを発行します。コマンドの出力で、 Graceful switchover フィールドが Onに設定されている場合、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 設定コマンドを設定することで、フェイルオーバーが発生しないように選択できます。別の方法は、 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
[ロジカルシステムの論理システム名を編集}
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
[ルーティングインスタンスの編集ルーティングインスタンス名]
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
ルーティングデバイスの設定が完了したら、設定をコミットします。
手記:共有ネットワーク内のすべてのルーティングデバイスで、設定全体を繰り返します。