ルーティング エンジン間での設定の同期
冗長ルーティングエンジンを搭載したデバイスでは、 commit
synchronize
を実行して、両方のルーティングエンジンの設定をアクティブ化し、同期させることができます。
ルーティング エンジンの同期の概要
デバイスに2つのルーティングエンジンがある場合、 commit synchronize
コマンドを発行することで、一方のルーティングエンジンにもう一方のルーティングエンジンと設定を同期させるように手動で指示できます。このコマンドを実行するルーティング エンジン(要求元のルーティング エンジン)は、まず設定をコミットします。次に、要求元のルーティング エンジンは、その候補コンフィギュレーションをコピーして応答側のルーティング エンジンに読み込みます。各ルーティング・エンジンは、コミットする前に候補コンフィギュレーション・ファイルに対して構文チェックを行います。コミットの同期プロセスは、一度に 1 つのルーティング エンジンで行われます。
エラーが見つからなければ、コンフィギュレーションが有効になり、両方のルーティング エンジンの現在の動作コンフィギュレーションとなります。
いずれかのルーティング エンジンでコミットが失敗した場合、コミット プロセスはもう一方のルーティング エンジンでもロールバックされます。このセーフガードにより、両方のルーティングエンジンの設定を同じにすることができます。
設定に大量のテキストや多数のapplyグループが含まれている場合、コミット時間が必要以上に長くなることがあります。
例えば、両方のルーティング エンジンを同じ設定にすることができます。このシナリオでは、re1 (
要求ルーティング エンジン)
にログインしている場合は、re1
で commit synchronize
コマンドを発行します。ルーティングエンジン re1
、その候補コンフィギュレーションをコピーして re0
(応答ルーティングエンジン)にロードします。そして、両方のルーティング・エンジンが、コミットされる候補コンフィギュレーション・ファイルに対してシンタックス・チェックを実行します。エラーが見つからなければ、 re1
候補コンフィギュレーションが有効になり、両方のルーティング エンジンの現在の動作コンフィギュレーションとなります。
commit synchronize
コマンドを発行する場合、groups re0
および re1.
を使用する必要があります。apply-groups
ステートメントの使用方法については、 設定グループの適用を参照してください。
あるルーティング エンジンの現在の運用設定ファイルを、他のルーティング エンジンの設定ファイルと同期させることができます。これを行うには、同期元のルーティングエンジンにログインし、 commit synchronize
コマンドを発行します。
例:
[edit]
user@host# commit synchronize
re0:
configuration check succeeds
re1:
commit complete
re0:
commit complete
システムの再起動中に無効な設定のため、バックアップ ルーティング エンジンが部分的にしかコミットされない場合があります。この場合、プライマリ ルーティング エンジンから force
オプションを指定した commit synchronize
コマンドは機能しません。
commit synchronize
コマンドは、応答するルーティング エンジンにコミットされていない設定変更がある場合は機能しません。ただし、 force
オプションを使用して、ルーティング エンジンでコミットの同期を強制できます。一方のルーティング・エンジンから force
オプションを付けて commit synchronize
コマンドを発行すると、もう一方のルーティング・エンジンでのコンフィギュレーション・セッションは終了します。これらのセッションがもう一方のルーティング エンジンで終了すると、その設定は、コマンドを発行したルーティング エンジンの設定と同期されます。
force
オプションは、commit synchronize
コマンドの失敗の原因となった問題を解決できない場合にのみ使用することをお勧めします。
ルーティングエンジンで commit synchronize
を強制するには、同期元のルーティングエンジンにログインします。次に、 force
オプションを指定して コマンドを実行します。
例:
[edit]
user@host# commit synchronize force
re0:
re1:
commit complete
re0:
commit complete
[edit]
user@host#
デバイスでノンストップ ルーティングを有効にしている場合、設定を変更した後、プライマリ ルーティング エンジンから commit synchronize
コマンドを入力します。バックアップのルーティング エンジンでこのコマンドを入力すると、ソフトウェアは警告を表示し、設定をコミットします。
[edit system]
階層レベルで fast-synchronize
ステートメントを含め、プライマリとバックアップのルーティングエンジン間で同時に同期を実行できるようにします。
[edit system] commit fast-synchronize;
-
fast-synchronize
ステートメントが設定されている場合、プライマリ ルーティング エンジンとバックアップ ルーティング エンジンのコミットが並行して実行されます。このプロセスでは、commit
コマンドを実行したルーティング エンジンでのみコンフィギュレーションが検証されます。そのため、re0 や re1 などのグループには設定の詳細を含めすぎないことをお勧めします。グループre0 で指定した設定は、現在のルーティング エンジンがスロット 0 にある場合のみ適用されるからです。同様に、グループ re1 で指定された設定は、現在のルーティング エンジンがスロット 1 にある場合にのみ適用されます。 -
fast-synchronize
が有効で、両方のルーティングエンジン(プライマリとバックアップ)が異なるソフトウェアバージョンを実行している場合、バックアップルーティングエンジンの設定が有効でない可能性があります。これは、プライマリ ルーティング エンジンが設定を検証する場合にも当てはまります。したがって、両方のルーティングエンジンで同じオペレーティングシステムオペレーティングシステムソフトウェアのバージョンが実行されていることを確認してください。
commit synchronize scripts
コマンドを使用して、ルーティング エンジンの設定とすべてのコミット、イベント、lib、op、SNMP スクリプトを他のルーティング エンジンと同期させることができます。要求元のルーティング エンジンに load-scripts-from-flash
ステートメントを設定すると、デバイスはスクリプトを同期します。デバイスは、要求元のルーティング エンジンのフラッシュ メモリから応答するルーティング エンジンのフラッシュ メモリにスクリプトを同期させます。それ以外の場合、デバイスは、要求元のルーティング エンジンのハード ディスクから応答するルーティング エンジンのハード ディスクにスクリプトを同期させます。デバイスは、スクリプトが構成で有効になっているか、前回の同期以降に更新されたかに関係なく、すべてのスクリプトを同期します。
ルーティングエンジンのコンフィギュレーション・ファイルとすべてのスクリプトを他のルーティング・エンジンと同期させるには、同期したいルーティング・エンジンにログインし、 commit synchronize scripts
コマンドを発行します。
例:
[edit]
user@host# commit synchronize scripts
re0:
configuration check succeeds
re1:
commit complete
re0:
commit complete
要求元のルーティングエンジンのコミットチェック操作が失敗した場合、プロセスは停止し、スクリプトは応答するルーティングエンジンにコピーされません。応答するルーティング エンジンのコミット チェックまたはコミット操作が失敗した場合でも、スクリプトは同期されたままになります。同期は、応答するルーティングエンジンでのコミットチェック操作の前に行われるため、スクリプトは同期されたままです。
[edit system scripts]
階層レベルに synchronize
ステートメントを含めると、commit synchronize
コマンドを発行するたびにスクリプトが同期されます。
[edit system scripts] synchronize;
コミットされた設定を自動的に同期するように複数のルーティングエンジンを設定する
デバイスに複数のルーティングエンジンがある場合、 commit synchronize
コマンドを発行することで、1つのルーティングエンジンにその設定を他のルーティングエンジンと同期させるように手動で指示することができます。
コンフィギュレーションがコミットされるたびにルーティング・エンジンが自動的に同期されるようにするには、[edit system]
階層レベルに commit synchronize
ステートメントを含めます。
[edit system] commit synchronize;
commit
コマンドを実行したルーティングエンジン(要求元のルーティングエンジン)は、その候補コンフィギュレーションを他の(応答側の)ルーティングエンジンにコピーし、読み込みます。そして、すべてのルーティング・エンジンは、コミットされる候補コンフィギュレーション・ファイルに対してシンタックス・チェックを実行します。エラーが見つからなければ、コンフィギュレーションが有効になり、すべてのルーティング エンジンの現在の動作コンフィギュレーションとなります。
コミット同期プロセスでは、プライマリ ルーティング エンジンが設定をコミットし、設定のコピーをバックアップ ルーティング エンジンに送信します。その後、バックアップのルーティング エンジンがコンフィギュレーションをロードしてコミットします。そのため、プライマリとバックアップのルーティングエンジン間のコミット同期は、一度に1つのルーティングエンジンで行われます。設定のテキストサイズが大きい場合やapply-groupsが多い場合は、コミット時間が必要以上に長くなることがあります。
commit fast-synchronize
ステートメントを使用すると、プライマリとバックアップのルーティングエンジン間の同期を順次ではなく同時に行うことができます。これにより、プライマリとバックアップのルーティングエンジンでのコミットが並行して行われるため、同期に必要な時間を短縮することができます。
[edit system]
階層レベルで fast-synchronize
ステートメントを含め、プライマリとバックアップのルーティングエンジン間で同時に同期を発生させます。
[edit system] commit fast-synchronize
-
一方のルーティング・エンジンでコミットが失敗した場合、もう一方のルーティング・エンジンでもコミット・プロセスがロールバックされます。これにより、両方のルーティング エンジンの構成を同じにすることができます。
-
fast-synchronize
ステートメントが設定されている場合、プライマリ ルーティング エンジンとバックアップ ルーティング エンジンのコミットが並行して実行されます。このプロセスでは、commit
コマンドを実行したルーティング エンジンでのみコンフィギュレーションが検証されます。そのため、re0 や re1 などのグループ内の設定詳細の数を制限することをお勧めします。グループre0 で指定された設定は、現在のルーティング エンジンがスロット 0 にある場合にのみ適用されるからです。同様に、グループ re1 で指定された設定は、現在のルーティング エンジンがスロット 1 にある場合にのみ適用されます。 -
fast-synchronize
が有効になっていて、プライマリ ルーティング エンジンとバックアップ ルーティング エンジンが異なるソフトウェア バージョンを実行している場合、バックアップ ルーティング エンジンの設定が有効であることを確認することはできません。これは、プライマリ ルーティング エンジンが設定を検証する場合にも当てはまります。したがって、両方のルーティング エンジンで実行されているオペレーティング システム ソフトウェアのバージョンが同じであることを確認してください。
変更履歴
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer をご利用ください。
commit synchronize
がデフォルトで有効になっています。プライマリー ルーティング エンジンから [edit system]
階層レベルで commit
を発行すると、バックアップ ルーティング エンジンが自動的に同期されます。commit synchronize
がデフォルトで有効になっています。プライマリー ルーティング エンジンから [edit system]
階層レベルで commit
を発行すると、バックアップ ルーティング エンジンが自動的に同期されます。