ルーティング エンジン間でスクリプトを同期する
Junos OS リリース 13.2 以降では、Junos OS を実行しているデバイス上のルーティング エンジン間でコミット、イベント、lib、op、SNMP スクリプトを手動で同期するか、設定をコミットして同期する際にルーティング エンジン間でスクリプトを自動的に同期するようにデバイスを設定できます。
load-scripts-from-flash
要求するルーティング エンジンに ステート メントが設定されている場合、デバイスはフラッシュ メモリ内のスクリプトを同期します。それ以外の場合、デバイスはハード ディスク上のスクリプトを同期します。応答するload-scripts-from-flash
ルーティング エンジンの最終設定に ステート メントが存在する場合、スクリプトはフラッシュ メモリに同期されます。それ以外の場合、スクリプトはハード ディスクに同期されます。デバイスは、設定で有効になっているか、前回の同期以降に更新されたかに関係なく、スクリプトを同期します。
次のセクションでは、スクリプトを同期するためのさまざまな方法について概要を説明します。
コミット同期操作のためのルーティング エンジン間のスクリプト同期の設定
Junos OSを実行しているデバイスは、コマンドを発行 commit synchronize
するたびに、リクエストするルーティングエンジンから他のルーティングエンジンにコミット、イベント、lib、op、SNMPスクリプトをすべて同期させ、設定を同期することができます。
操作中にルーティング エンジン間でスクリプトを自動的に commit synchronize
同期するには、
最初と以降 commit synchronize
のコマンドを発行すると、デバイスは要求するルーティング エンジンでコミット チェックを実行し、すべてのスクリプトを他のルーティング エンジンに同期し、コミット チェックを実行して、応答するルーティング エンジンで設定をコミットし、最後に要求するルーティング エンジンで設定をコミットします。要求するルーティングエンジンのコミットチェック操作が失敗した場合、プロセスは停止し、スクリプトは応答するルーティングエンジンにコピーされません。応答するルーティングエンジンのコミットチェックまたはコミット操作に失敗した場合、応答するルーティングエンジンのコミットチェック操作の前に同期が行われるので、スクリプトは同期されます。
ステートメントを synchronize
設定すると、最後の同期以降更新されていない場合でも、すべてのスクリプトが同期されます。更新頻度の低い多数のスクリプトがデバイスに存在する場合は、運用モード コマンドを使用して手動で行うか、 コマンドを使用して request system scripts synchronize
コミット単位でスクリプトを commit synchronize scripts
同期する方が適している場合があります。
ルーティング エンジン間のスクリプトをコミット単位で同期する
コミットし、設定を同期する際に コマンドを使用して commit synchronize scripts
、Junos OS を実行するデバイス上の要求元のルーティング エンジンから他のルーティング エンジンにすべてのコミット、イベント、lib、op、SNMP スクリプトを同期できます。これは、操作を実行するたびにスクリプトを同期するようにデバイスを設定する commit synchronize
代わりに使用します。
コミット単位でルーティング エンジン間でスクリプトを同期するには、次の手順に従います。
コマンドを commit synchronize scripts
発行すると、デバイスは要求するルーティング エンジンでコミット チェックを実行し、すべてのスクリプトを他のルーティング エンジンに同期し、コミット チェックを実行して、応答するルーティング エンジンで設定をコミットし、最後に要求するルーティング エンジンで設定をコミットします。要求するルーティングエンジンのコミットチェック操作が失敗した場合、プロセスは停止し、スクリプトは応答するルーティングエンジンにコピーされません。応答するルーティングエンジンのコミットチェックまたはコミット操作に失敗した場合、応答するルーティングエンジンのコミットチェック操作の前に同期が行われるので、スクリプトは同期されます。
運用モードからのルーティング エンジン間のスクリプトの同期
運用モード コマンドを使用して、Junos OS を実行するデバイス上の要求するルーティング エンジンから別のルーティング エンジンにスクリプトを request system scripts synchronize
手動で同期できます。単一のスクリプト、特定のタイプのすべてのスクリプト、またはデバイス上のすべてのスクリプトを同期できます。また、ファイル名またはファイルのタイムスタンプに基づいてスクリプトを同期するオプションもあります。
ルーティング エンジン間でスクリプトを手動で同期するには、 コマンドを目的の request system scripts synchronize
オプションで実行します。
user@host> request system scripts synchronize (all | commit | event | lib | op | snmp) <file filename> <newer-than time>
を指定all
すると、要求するルーティング エンジンに存在するすべてのスクリプトを応答するルーティング エンジンに同期できます。、 event
、 lib
、op
または snmp
を指定commit
して、指定されたタイプのすべてのスクリプトを他のルーティングエンジンに同期します。オプションまたは オプションをfile
newer-than
含めて、スコープを狭くして、スクリプトを指定されたファイル名または日付基準と同期させるだけです。引数のnewer-than
形式は YYY-MM-DD です。Hh:mm:ss。
例えば、以下のコマンドは、2012-05-15 より新しいタイムスタンプを持つすべてのコミット、イベント、lib、op、SNMP スクリプトを同期します。
user@host> request system scripts synchronize all newer-than 2012-05-15
次のコマンドは、単一の op スクリプトをファイル名 vpn-info.slax と同期します。
user@host> request system scripts synchronize op file vpn-info.slax
同期操作は、存在しないスクリプトの同期を要求する場合や、応答するルーティング エンジンが他の CPU 集中操作を実行しているため、その時点で要求を処理できない場合などに失敗することがあります。同期操作に失敗した場合、デバイスはエラー メッセージを生成します。
以下のコマンドは、単一のイベント・スクリプトを同期するように要求しますが、そのスクリプトがイベント・スクリプト・ディレクトリーに存在しないため、デバイスはエラーを発行します。
user@host> request system scripts synchronize event file nonexistent-file.slax
error: Invalid directory: No such file or directory warning: No script will be pushed to other RE
以下のコマンドは、単一のイベント スクリプトの同期を要求しますが、応答するルーティング エンジンには同期を実行するリソースがないため、デバイスにエラーが発生します。また、システム ログ ファイルにUI_SCRIPTS_COPY_FAILED エラーが記録され、重大度レベルのエラーが記録されます。
user@host> request system scripts synchronize event file ospf-neighbor.slax
error: Unable to copy scripts to re: re1
更新後のルーティング エンジン間でのスクリプトの同期
リモートURLから単一のスクリプトを手動で更新し、 オプション付きの運用モードコマンドを使用 request system scripts refresh-from
して、Junos OSを実行するデバイス上の別のルーティングエンジンに更新されたスクリプトを sync
同期できます。
リモートソースから単一のスクリプトを手動で更新し、そのスクリプトを他のルーティングエンジンに同期するには、 オプションで sync
コマンドをrequest system scripts refresh-from
発行し、スクリプトタイプ、ファイル名、リモートURLを指定します。HTTP URL、FTP URL、またはセキュアコピー(scp)スタイルのリモートファイル仕様としてURLを指定します。
user@host> request system scripts refresh-from (commit | event | op | snmp) file filename url url sync
システムは、スクリプトタイプを使用して、スクリプトが存在するデバイス上のディレクトリを決定します。ルーティング エンジンの load-scripts-from-flash
設定に ステート メントが存在する場合、システムはフラッシュ メモリ内のスクリプトを更新します。それ以外の場合、システムはハード ディスク上のスクリプトを更新します。