跨路由引擎同步配置
在具有冗余路由引擎的设备上,您可以执行 commit
synchronize
,以激活和同步两个路由引擎上的配置。
路由引擎同步概述
如果您的设备有两个路由引擎,您可以通过发出 commit synchronize
命令手动指示一个路由引擎将其配置与另一个路由引擎同步。执行此命令的路由引擎(请求路由引擎)首先提交配置。然后,请求路由引擎将其候选配置复制并加载到响应路由引擎。每个路由引擎在提交候选配置文件之前都会对其进行语法检查。提交同步过程一次执行一个路由引擎。
如果未发现错误,配置将被激活并成为两个路由引擎上的当前操作配置。
如果任一路由引擎上的提交失败,则提交过程也会在另一个路由引擎上回滚。此保护措施可确保两个路由引擎具有相同的配置。
如果您的配置包含大量文本或许多应用组,则提交时间可能会比预期的要长。
例如,您可能希望两个路由引擎具有相同的配置。在这种情况下,如果您登录到re1 (
请求路由引擎)
,则会在 上re1
发出commit synchronize
命令。路由引擎 re1
将其候选配置复制并加载到 re0
(响应路由引擎)。然后,两个路由引擎对正在提交的候选配置文件执行语法检查。如果未发现错误, re1
候选配置将被激活,并成为两个路由引擎上的当前操作配置。
发出 commit synchronize
命令时,必须使用组 re0
和 re1.
有关如何使用该 apply-groups
语句的信息,请参阅 应用配置组。
您可以将路由引擎的当前操作配置文件与其他路由引擎的配置文件同步。为此,请登录到要从中同步的路由引擎并发出 commit synchronize
命令。
示例:
[edit]
user@host# commit synchronize
re0:
configuration check succeeds
re1:
commit complete
re0:
commit complete
由于系统重新启动期间配置无效,备份路由引擎可能仅部分提交。在这种情况下, commit synchronize
带有主路由引擎选项的 force
命令不起作用。
commit synchronize
如果响应路由引擎具有未提交的配置更改,则该命令不起作用。但是,您可以使用该 force
选项在路由引擎上强制提交同步。使用force
来自一个路由引擎的选项发出commit synchronize
命令时,另一个路由引擎上的配置会话将终止。当这些会话在其他路由引擎上终止时,其配置将与发出命令的路由引擎上的配置同步。
我们建议您仅在无法解决导致commit synchronize
命令失败的问题时才使用force
此选项。
要在路由引擎上强制启用 , commit synchronize
请登录到要从中同步的路由引擎。然后,使用该选项发出 force
命令。
示例:
[edit]
user@host# commit synchronize force
re0:
re1:
commit complete
re0:
commit complete
[edit]
user@host#
如果在设备上启用了不间断路由,则在对配置进行任何更改后,从主路由引擎输入 commit synchronize
命令。如果在备份路由引擎上输入此命令,软件将显示警告并提交配置。
fast-synchronize
在层次结构级别包含语句[edit system]
,以便在主路由引擎和备份路由引擎之间同时进行同步:
[edit system] commit fast-synchronize;
-
配置语句
fast-synchronize
后,主路由引擎和备份路由引擎上的提交将并行运行。在此过程中,仅在执行commit
命令的路由引擎上验证配置。因此,我们建议您不要在 re0 和 re1 等中包含太多配置详细信息,因为仅当当前路由引擎位于插槽 0 中时,才会应用组 re0 中指定的配置。同样,仅当当前路由引擎位于插槽 1 中时,才会应用组 re1 中指定的配置。 -
如果启用了 并且两个路由引擎(主引擎和备份引擎)运行不同的软件版本,则
fast-synchronize
备份路由引擎配置可能无效。即使主路由引擎验证配置,也是如此。因此,请确保两个路由引擎上运行相同的操作系统操作系统软件版本。
您可以使用命令 commit synchronize scripts
将路由引擎的配置以及所有提交、事件、库、操作和 SNMP 脚本与其他路由引擎同步。如果为发出请求的路由引擎配置 load-scripts-from-flash
语句,设备将同步脚本。设备将脚本从请求路由引擎上的闪存同步到响应路由引擎上的闪存。否则,设备会将脚本从请求路由引擎上的硬盘同步到响应路由引擎上的硬盘。设备会同步所有脚本,无论这些脚本是在配置中启用的还是自上次同步以来已更新的。
要将路由引擎的配置文件和所有脚本与其他路由引擎同步,请登录到要从中同步的路由引擎,然后发出 commit synchronize scripts
命令。
示例:
[edit]
user@host# commit synchronize scripts
re0:
configuration check succeeds
re1:
commit complete
re0:
commit complete
如果请求路由引擎的提交检查操作失败,则进程将停止,并且脚本不会复制到响应路由引擎。如果响应路由引擎的提交检查或提交操作失败,脚本仍会同步。脚本仍会同步,因为同步发生在响应路由引擎上的提交检查操作之前。
synchronize
在层次结构级别包含语句[edit system scripts]
,以便在每次发出commit synchronize
命令时同步脚本。
[edit system scripts] synchronize;
配置多个路由引擎以自动同步提交的配置
如果您的设备有多个路由引擎,您可以通过发出 commit synchronize
命令手动指示一个路由引擎与其他路由引擎同步其配置。
要使路由引擎在提交配置时自动同步,请在层次结构级别包含 commit synchronize
语句 [edit system]
:
[edit system] commit synchronize;
在其上执行 commit
命令(请求路由引擎)的路由引擎将其候选配置复制并加载到其他(响应)路由引擎。然后,所有路由引擎对要提交的候选配置文件执行语法检查。如果未发现错误,则该配置将被激活并成为所有路由引擎上的当前操作配置。
对于提交同步过程,主路由引擎提交配置并将配置副本发送到备份路由引擎。然后,备份路由引擎加载并提交配置。因此,主路由引擎和备份路由引擎之间的提交同步一次进行一个路由引擎。如果配置具有较大的文本大小或许多应用组,则提交时间可能会比预期的要长。
您可以使用该 commit fast-synchronize
语句使主路由引擎和备份路由引擎之间同步同时进行,而不是按顺序进行。这可以减少同步所需的时间,因为主路由引擎和备份路由引擎上的提交是并行进行的。
在[edit system]
层次结构级别包含语句,fast-synchronize
以便在主路由引擎和备份路由引擎之间同时进行同步:
[edit system] commit fast-synchronize
-
如果任一路由引擎上的提交失败,则提交过程也会在另一个路由引擎上回滚。这可确保两个路由引擎具有相同的配置。
-
配置语句
fast-synchronize
后,主路由引擎和备份路由引擎上的提交将并行运行。在此过程中,仅在执行commit
命令的路由引擎上验证配置。因此,我们建议限制 re0 和 re1 等组中的配置详细信息数量,因为仅当当前路由引擎位于插槽 0 中时,才会应用组 re0 中指定的配置。同样,仅当当前路由引擎位于插槽 1 中时,才会应用组 re1 中指定的配置。 -
如果已启用,并且主路由引擎和备份路由引擎运行不同的软件版本,则
fast-synchronize
无法确定备份路由引擎配置是否有效。即使主路由引擎验证配置也是如此,因此,请确保两个路由引擎上运行的操作系统软件版本相同。
变更历史表
是否支持某项功能取决于您使用的平台和版本。 使用 Feature Explorer 查看您使用的平台是否支持某项功能。
commit synchronize
默认在 PTX10008 上启用。如果从主路由引擎在层次结构级别发出[edit system]
问题commit
,则会看到备份路由引擎会自动同步。commit synchronize
默认在 PTX10008 上启用。如果从主路由引擎在层次结构级别发出[edit system]
问题commit
,则会看到备份路由引擎会自动同步。