启用和配置临时配置数据库的实例
此临时数据库是一种替代配置数据库,支持多个客户端应用程序同时为 Junos 设备加载和提交配置更改,而且吞吐量明显高于将数据提交到候选配置数据库时。Junos 设备提供默认的临时数据库实例,以及启用和配置临时配置数据库的多个用户定义实例的能力。
NETCONF 和 Junos XML 协议客户端应用程序和 JET 应用程序可以更新临时配置数据库。以下部分详细介绍了如何启用临时配置数据库的实例、使用 NETCONF 和 Junos XML 协议操作配置实例,以及如何在 CLI 中显示临时配置数据。这些章节还讨论了如何停用并重新激活临时实例以及删除临时实例。有关使用 JET 应用程序配置临时配置数据库的信息,请参阅 Juniper Extension Toolkit 文档。
启用临时数据库实例
在支持配置临时数据库的 Junos 设备上自动启用默认临时数据库实例。但是,您必须先配置临时配置数据库的所有用户定义实例,然后再使用这些实例。请参阅 功能浏览器 以验证支持临时数据库的硬件平台和软件版本。
要启用临时配置数据库的用户定义实例:
在 [edit system configuration-database ephemeral]
层级配置语句并提交配置时,所有 Junos 进程都必须检查和评估其完整配置,这可能会导致 CPU 利用率激增,从而可能影响其他关键软件进程。
配置临时数据库选项
您可以为该部分中概述的临时配置数据库配置多个选项。
在 [edit system configuration-database ephemeral]
层级配置语句并提交配置时,所有 Junos 进程都必须检查和评估其完整配置,这可能会导致 CPU 利用率激增,从而可能影响其他关键软件进程。
开放式临时数据库实例
客户端应用程序在查看或修改之前必须打开一个临时数据库实例。在 NETCONF 或 Junos XML 协议会话中,客户端应用程序使用带有相应子标记的 Junos XML 协议 <open-configuration>
操作来打开临时数据库实例。打开临时实例会自动获得独占锁定。
-
要打开临时数据库的默认实例,客户端应用程序将发出该
<open-configuration>
元素并包括<ephemeral/>
儿童标记。<rpc> <open-configuration> <ephemeral/> </open-configuration> </rpc>
-
要打开临时数据库的用户定义实例,客户端应用程序将发出
<open-configuration>
该元素,并包括<ephemeral-instance>
元素和实例名称。<rpc> <open-configuration> <ephemeral-instance>instance-name</ephemeral-instance> </open-configuration> </rpc>
配置临时数据库实例
客户端应用程序使用 NETCONF 和 Junos XML 协议操作更新临时配置数据库。更新临时配置数据库时,仅有一部分操作属性和选项可用。例如,参考组、接口范围或提交脚本或回滚配置的选项和属性不能与临时数据库一起使用。
客户端应用程序将配置数据加载并提交到临时配置数据库的开放实例。配置数据可以任何受支持格式上传,包括 Junos XML 元素、格式化 ASCII 文本、 set
命令或 JavaScript 对象符号 (JSON)。默认情况下,如果客户端与会话断开连接或在提交新更改之前关闭临时数据库实例,设备将丢弃任何未提交的数据,但是该客户端已提交到临时数据库实例的配置数据将不受影响。
要更新、提交和关闭临时配置数据库的开放实例,客户端应用程序将执行以下任务:
在 CLI 中显示临时配置数据
活动设备配置是静态和临时配置数据库的合并视图。但是,在操作模式下使用 show configuration
命令在 CLI 中显示配置时,输出不包括临时配置数据。您可以在临时数据库的特定实例中显示数据,或者使用命令的变体显示 CLI 中静态和临时配置数据库的 show ephemeral-configuration
合并视图。
从 Junos OS 版本 18.2R1 开始, show ephemeral-configuration
操作模式命令使用不同的语法并支持过滤以显示特定层次结构级别。新的语法如下:
-
要在临时配置数据库的默认实例中查看配置数据,请发出
show ephemeral-configuration instance default
命令。user@host> show ephemeral-configuration instance default
-
要在用户定义的临时配置数据库实例中查看配置数据,请发出
show ephemeral-configuration instance instance-name
命令。user@host> show ephemeral-configuration instance instance-name
-
要查看与临时数据库所有实例中的配置数据合并的完整继承后配置,请发出
show ephemeral-configuration merge
命令。user@host> show ephemeral-configuration merge
-
要指定要在特定临时实例中显示的配置数据的范围,请将请求层次结构的语句路径附加到 命令。例如,以下命令在
[edit system]
临时配置数据库的默认实例中显示层级的配置数据。user@host> show ephemeral-configuration instance default system
在 Junos OS 18.1 版和早期版本中:
-
要在临时配置数据库的默认实例中查看配置数据,请发出
show ephemeral-configuration
命令。user@host> show ephemeral-configuration
-
要在用户定义的临时配置数据库实例中查看配置数据,请发出
show ephemeral-configuration instance-name
命令。user@host> show ephemeral-configuration instance-name
-
要查看与临时数据库所有实例中的配置数据合并的完整继承后配置,请发出
show ephemeral-configuration | display merge
命令。user@host> show ephemeral-configuration | display merge
表 1 概述了 show ephemeral-configuration
各种版本的命令。
行动 |
Junos OS 版本 18.2R1 和更高版本 |
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 版本中,文件和配置数据将保留:但是,配置数据不会与静态配置数据库合并。停用层次结构不会影响默认临时实例的文件。
要停用静态配置数据库中的默认临时实例或用户定义的临时实例:
要重新激活临时实例,从而将其配置再次与静态配置数据库合并:
-
激活临时数据库实例。
-
删除
ignore-ephemeral-default
语句以激活默认临时实例。[edit system configuration-database ephemeral] user@host# delete ignore-ephemeral-default
-
发出 命令并指定实例名称,以激活用户定义的临时实
activate
例。[edit system configuration-database ephemeral] user@host# activate instance instance-name
-
-
提交配置。
[edit system configuration-database ephemeral] user@host# commit
删除临时数据库实例
启用和配置临时实例时,Junos 设备会将实例的配置数据存储在文件中,类似于静态配置数据库的操作。在运行 Junos OS 22.1R1 或更高版本的设备和运行 Junos OS Evolved 的设备上,当您从静态配置数据库中删除一个临时实例并提交配置时,设备还会删除临时实例的文件和相应的配置数据。因此,如果后来配置同一名称的临时实例,则不存在与此实例名称关联的现有配置数据。
但是,在早期的 Junos OS 版本中,当您删除一个临时实例时,设备会保留临时实例的文件。因此,如果后来配置同一名称的临时实例,设备将从相应文件中恢复与实例名称关联的配置数据。如果您打算在早期版本中删除一个临时实例,建议在从静态配置数据库中删除实例之前删除临时实例中的配置数据。
要从静态配置数据库中删除默认临时实例或用户定义的临时实例: