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 应用程序配置临时配置数据库的信息,请参阅 Juniper Extension Toolkit 文档

启用临时数据库实例

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

要启用临时配置数据库的用户定义实例:

  1. 配置实例的名称,其中仅包含字母数字字符、连字符和下列,长度或用作default名称时不得超过 32 个字符。
    注意:

    配置列出了临时数据库实例的顺序确定其优先级。默认情况下,新配置的实例放置在列表末尾,在解决相互矛盾的配置语句时优先级较低。配置新实例时,可使用 insert 命令(而非命令)指定其在配置中 set 的位置。

    注意:

    从 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 利用率激增,从而可能影响其他关键软件进程。

开放式临时数据库实例

客户端应用程序在查看或修改之前必须打开一个临时数据库实例。在 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 协议会话或 NETCONF 会<load-configuration>话中发出<load-configuration>操作<edit-config>,并包括数据的相应属性和标记。

    注意:

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

    注意:

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

    注意:

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

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

    <synchronize/>在元素中<commit-configuration>包含标记,以便将数据同步到双路由引擎平台上的其他路由引擎或 MX 系列虚拟机箱中的备份路由引擎。

    注意:

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

    注意:

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

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

在 CLI 中显示临时配置数据

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

从 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 Evolved

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 Evolved 的设备上,当您停用整个 [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 Evolved 的设备上,当您从静态配置数据库中删除一个临时实例并提交配置时,设备还会删除临时实例的文件和相应的配置数据。因此,如果后来配置同一名称的临时实例,则不存在与此实例名称关联的现有配置数据。

但是,在早期的 Junos OS 版本中,当您删除一个临时实例时,设备会保留临时实例的文件。因此,如果后来配置同一名称的临时实例,设备将从相应文件中恢复与实例名称关联的配置数据。如果您打算在早期版本中删除一个临时实例,建议在从静态配置数据库中删除实例之前删除临时实例中的配置数据。

要从静态配置数据库中删除默认临时实例或用户定义的临时实例:

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

      注意:

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

    • 删除用户定义的临时实例,方法是发出 delete 命令并指定实例名称。

  2. 提交配置。
发布历史记录表
释放
描述
22.1R1
从 Junos OS 22.1R1 版开始,当您停用整个[编辑系统配置-数据库临时]层次结构级别时,Junos OS 会删除所有用户定义的临时实例的文件和相应的配置数据。在早期版本中,文件和配置数据将保留;但是,配置数据不会与静态配置数据库合并。
22.1R1
从 Junos OS 22.1R1 版开始,当您在静态配置数据库中删除一个临时实例时,该实例的配置文件也将被删除。在早期版本中,配置文件将保留。
18.2R1
从 Junos OS 版本 18.2R1 开始,show 临时配置操作模式命令使用不同的语法并支持过滤以显示特定层次结构级别。
18.1R1
从 Junos OS 版本 18.1R1 开始,除了先前支持的合并和设置值之外,临时配置数据库还支持使用覆盖和替换的<负载配置>操作属性值来加载配置数据。