Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

启用和配置临时配置数据库的实例

临时数据库是一种备用配置数据库,它使多个客户端应用程序能够同时加载配置更改并将其提交到 Junos 设备,并且吞吐量明显高于将数据提交到候选配置数据库时的吞吐量。Junos 设备提供默认临时数据库实例,并能够启用和配置临时配置数据库的多个用户定义实例。

NETCONF 和 Junos XML 协议客户端应用程序和 JET 应用程序可以更新临时配置数据库。以下各节详细介绍了如何启用临时配置数据库的实例、使用 NETCONF 和 Junos XML 协议操作配置实例以及在 CLI 中显示临时配置数据。这些部分还讨论了如何停用然后重新激活临时实例以及删除临时实例。有关使用 JET 应用程序配置临时配置数据库的信息,请参阅 瞻博网络扩展工具包文档

启用临时数据库实例

默认临时数据库实例会在支持配置临时数据库的 Junos 设备上自动启用。但是,必须先配置临时配置数据库的所有用户定义实例,然后再使用这些实例。请参阅 功能资源管理器 以验证支持临时数据库的硬件平台和软件版本。

要启用临时配置数据库的用户定义实例,请执行以下操作:

  1. 配置实例名称,实例名称只能包含字母数字字符、连字符和下划线,长度不得超过 32 个字符或用作default名称。
    注意:

    配置列出临时数据库实例的顺序决定了其优先级。默认情况下,新配置的实例位于列表的末尾,并且在解决冲突的配置语句时具有较低的优先级。配置新实例时,可以使用命令而不是set命令来指定其在配置insert中的位置。

    注意:

    从 Junos OS 17.1R3、17.2R3、17.3R3、17.4R2 和 18.1R1 版开始,用户定义的临时数据库实例的名称不能为 default

  2. 提交配置。
注意:

[edit system configuration-database ephemeral] 层次结构级别配置语句并提交配置时,所有 Junos 进程都必须检查并评估其完整配置,这可能会导致 CPU 利用率激增,进而可能影响其他关键软件进程。

配置临时数据库选项

您可以为临时配置数据库配置多个选项,本节将概述这些选项。您可以在静态配置数据库中配置这些选项。

  1. (可选)要禁用临时配置数据库的默认实例,请配置语句ignore-ephemeral-default
  2. 可选)将提交同步模型配置为异步(默认)或同步。

    同步提交模型速度较慢,但在将配置同步到备份路由引擎时更可靠。

  3. 可选)如果设备启用了平稳路由引擎切换 (GRES),并且临时数据库使用异步提交同步模型,请配置语句, allow-commit-synchronize-with-gres 以便在请求对某个实例执行提交同步操作时,使设备能够将该临时实例同步到另一个路由引擎。
  4. 提交配置。
注意:

[edit system configuration-database ephemeral] 层次结构级别配置语句并提交配置时,所有 Junos 进程都必须检查并评估其完整配置,这可能会导致 CPU 利用率激增,进而可能影响其他关键软件进程。

启用 MSTP、RSTP 和 VSTP 配置

在支持的设备和版本上,您可以在临时配置数据库中配置以下协议:

  • 多生成树协议 (MSTP)

  • 快速生成树协议 (RSTP)

  • VLAN 生成树协议 (VSTP)

默认情况下,Junos OS 演化版支持在受支持版本中的临时数据库中配置这些协议。但是,在运行 Junos OS 的设备上,必须先启用对在临时数据库中配置协议的支持,然后才能使用它们。

要使用户能够在运行 Junos OS 的设备上的临时数据库中配置 MSTP、RSTP 和 VSTP,请执行以下操作:

  1. 在静态配置数据库中,在[edit protocols layer2-control]层次结构级别配置ephemeral-db-support语句。
  2. 提交配置。

打开临时数据库实例

客户端应用程序必须先打开临时数据库实例,然后才能查看或修改该实例。在 NETCONF 或 Junos XML 协议会话中,客户端应用程序使用带有相应子标记的 Junos XML 协议 <open-configuration> 操作打开临时数据库实例。打开临时实例会自动获取该实例上的独占锁。

  • 若要打开临时数据库的默认实例,客户端应用程序将 <open-configuration> 发出该元素并包含 <ephemeral/> 子标记。

  • 若要打开临时数据库的用户定义实例,客户端应用程序将发出该 <open-configuration> 元素并包含 <ephemeral-instance> 该元素和实例名称。

配置临时数据库实例

客户端应用程序使用 NETCONF 和 Junos XML 协议操作更新临时配置数据库。更新临时配置数据库时,只有一部分操作的属性和选项可供使用。例如,引用组、接口范围或提交脚本或回滚配置的选项和属性不能与临时数据库一起使用。

客户端应用程序加载配置数据并将其提交到临时配置数据库的打开实例。配置数据可以任何受支持的格式上传,包括 Junos XML 元素、格式化的 ASCII 文本、 set 命令或 JavaScript 对象表示法 (JSON)。默认情况下,如果客户端在提交新更改之前断开会话连接或关闭临时数据库实例,则设备会丢弃任何未提交的数据,但该客户端已提交到临时数据库实例的配置数据不受影响。

若要更新、提交和关闭临时配置数据库的打开实例,客户端应用程序将执行以下任务:

  1. 通过执行一个或多个加载操作,将配置数据加载到临时数据库实例中。

    客户端应用程序在 Junos XML 协议会话中发出操作或在 <load-configuration> <load-configuration> NETCONF 会话中发出 or <edit-config> 操作,并包含数据的相应属性和标记。

    注意:

    临时配置数据库支持属性值overridereplaceaction从 Junos OS 18.1R1 版开始,并支持update从 Junos OS 21.1R1 版开始的受支持设备上的属性。

    注意:

    唯一 action="set" 可接受的格式是 "text"。有关该 <load-configuration> 操作的详细信息,请参阅 <加载配置>

    注意:

    目标值<candidate/>可以引用打开的配置数据库,如果没有打开的数据库,则可以引用候选配置。如果客户端应用程序发出 Junos XML 协议<open-configuration>操作以在执行操作之前打开临时实例,则设备将在临时配置数据库的打开实例上执行<edit-config><edit-config>该操作。否则,设备将对候选配置执行操作。

  2. (可选)通过在 Junos XML 协议会话中发出操作或在 <get-configuration/> NETCONF 会话中发出 <get-configuration/> or <get-config> 操作,查看打开的临时实例中的更新配置。
  3. 通过在 Junos XML 协议会话中发出操作或在 <commit-configuration/> NETCONF 会话中发出 <commit-configuration/> or <commit/> 操作来提交配置更改。

    <synchronize/>在元素中包含<commit-configuration>标记,以将数据同步到备份路由引擎或虚拟机箱的其他成员。

    注意:

    从 Junos OS 22.1R1 版开始,要在每次提交临时实例时自动将临时实例的配置同步到其他路由引擎, synchronize 请在特定临时实例的配置中包含层次结构级别的语句 [edit system commit]

    注意:

    客户端应用程序提交对临时数据库实例的更改后,设备会根据优先级规则将临时数据合并到活动配置中。

  4. 对临时数据库实例的任何后续更新重复步骤 13
  5. 关闭临时数据库实例,这将释放独占锁。

在 CLI 中显示临时配置数据

活动设备配置是静态和临时配置数据库的合并视图。但是,在操作模式下使用命令在 show configuration CLI 中显示配置时,输出不包括临时配置数据。您可以使用命令的 show ephemeral-configuration 变体在临时数据库的特定实例中显示数据,也可以在 CLI 中显示静态和临时配置数据库的合并视图。

从 Junos OS 18.2R1 版开始,操作模式命令使用不同的语法, show ephemeral-configuration 并支持过滤以显示特定的层次结构级别。新语法如下所示:

  • 要查看临时配置数据库的默认实例中的配置数据,请发出 show ephemeral-configuration instance default 命令。

  • 要查看临时配置数据库的用户定义实例中的配置数据,请发出 show ephemeral-configuration instance instance-name 命令。

  • 要查看与临时数据库所有实例中的配置数据合并的完整继承后配置,请发出 show ephemeral-configuration merge 命令。

  • 要指定要在特定临时实例中显示的配置数据的范围,请将所请求层次结构的语句路径追加到命令中。例如,以下命令在临时配置数据库的默认实例中显示层次结构级别的配置数据 [edit system]

在 Junos OS 18.1 版及更早版本中:

  • 要查看临时配置数据库的默认实例中的配置数据,请发出 show ephemeral-configuration 命令。

  • 要查看临时配置数据库的用户定义实例中的配置数据,请发出 show ephemeral-configuration instance-name 命令。

  • 要查看与临时数据库所有实例中的配置数据合并的完整继承后配置,请发出 show ephemeral-configuration | display merge 命令。

表 1 概述了 show ephemeral-configuration 适用于各种版本的命令。

表 1:显示临时配置命令

行动

Junos OS 18.2R1 及更高版本
和 Junos OS 演化版

Junos OS 18.1 及更早版本

查看默认临时实例中的配置数据

show ephemeral-configuration instance default

show ephemeral-configuration

查看用户定义的临时实例中的配置数据

show ephemeral-configuration instance instance-name

show ephemeral-configuration instance-name

查看与临时数据库所有实例中的配置数据合并的完整继承后配置

show ephemeral-configuration merge

show ephemeral-configuration | display merge

停用临时数据库实例

启用和配置临时实例时,Junos 设备会将实例的配置数据存储在文件中,这与静态配置数据库的操作类似。您可以停用静态配置数据库中的特定临时实例。停用实例并提交配置时,设备会保留实例的配置数据和文件,但不会将实例的配置与静态配置数据库合并。如果稍后在静态配置数据库中重新激活实例,设备会将实例的现有配置数据与静态配置数据库合并。

注意:

在运行 Junos OS 版本 22.1R1 或更高版本的设备上以及运行 Junos OS 演化版的设备上,当您停用整个 [edit system configuration-database ephemeral] 层次结构级别并提交配置时,设备将删除所有用户定义的临时实例的文件和相应的配置数据。在早期的 Junos OS 版本中,将保留文件和配置数据;但是,配置数据不会与静态配置数据库合并。停用层次结构不会影响默认临时实例的文件。

要停用静态配置数据库中的默认临时实例或用户定义的临时实例,请执行以下操作:

  1. 停用临时数据库实例。
    • 通过配置 ignore-ephemeral-default 语句来停用默认临时实例。

    • 通过发出 deactivate 命令并指定实例名称来停用用户定义的临时实例。

  2. 提交配置。

要重新激活临时实例,从而再次将其配置与静态配置数据库合并,请执行以下操作:

  1. 激活临时数据库实例。

    • 通过删除 ignore-ephemeral-default 语句来激活默认临时实例。

    • 通过发出 activate 命令并指定实例名称来激活用户定义的临时实例。

  2. 提交配置。

删除临时数据库实例

启用和配置临时实例时,Junos 设备会将实例的配置数据存储在文件中,这与静态配置数据库的操作类似。在运行 Junos OS 版本 22.1R1 或更高版本的设备上以及运行 Junos OS 演化的设备上,当您从静态配置数据库中删除临时实例并提交配置时,设备也会删除临时实例的文件和相应的配置数据。因此,如果以后配置具有相同名称的临时实例,则没有与此实例名称关联的现有配置数据。

但是,在早期 Junos OS 版本中,删除临时实例时,设备会保留临时实例的文件。因此,如果稍后配置具有相同名称的临时实例,设备将从相应的文件中还原与实例名称关联的配置数据。如果您打算在早期版本中删除临时实例,我们建议您先删除临时实例中的配置数据,然后再从静态配置数据库中删除该实例。

要从静态配置数据库中删除默认临时实例或用户定义的临时实例,请执行以下操作:

  1. 删除临时数据库实例。
    • 通过配置 and delete-ephemeral-default ignore-ephemeral-default 语句删除默认临时实例。

      注意:

      运行 Junos OS 版本 22.1R1 或更高版本的设备以及运行 Junos OS 演化版的设备支持该 delete-ephemeral-default 语句。

    • 通过发出 delete 命令并指定实例名称来删除用户定义的临时实例。

  2. 提交配置。
版本历史记录表
释放
描述
22.1R1
从 Junos OS 22.1R1 版开始,当您停用整个 [edit system configuration-database ephemeral] 层次结构级别时,Junos OS 将删除所有用户定义的临时实例的文件和相应的配置数据。在早期版本中,将保留文件和配置数据;但是,配置数据不会与静态配置数据库合并。
22.1R1
从 Junos OS 22.1R1 版开始,删除静态配置数据库中的临时实例时,也会删除该实例的配置文件。在早期版本中,将保留配置文件。
18.2R1
从 Junos OS 18.2R1 版开始,操作模式命令使用不同的语法, show ephemeral-configuration 并支持过滤以显示特定的层次结构级别。
18.1R1
从 Junos OS 18.1R1 版开始,临时配置数据库支持使用 <load-configuration> action 和 的属性 merge值以及之前支持的值 和 set override replace 来加载配置数据。