启用和配置临时配置数据库的实例
临时数据库是一种备用配置数据库,它使多个客户端应用程序能够同时加载配置更改并将其提交到 Junos 设备,并且吞吐量明显高于将数据提交到候选配置数据库时的吞吐量。Junos 设备提供默认临时数据库实例,并能够启用和配置临时配置数据库的多个用户定义实例。
NETCONF 和 Junos XML 协议客户端应用程序和 JET 应用程序可以更新临时配置数据库。以下各节详细介绍了如何启用临时配置数据库的实例、使用 NETCONF 和 Junos XML 协议操作配置实例以及在 CLI 中显示临时配置数据。这些部分还讨论了如何停用然后重新激活临时实例以及删除临时实例。有关使用 JET 应用程序配置临时配置数据库的信息,请参阅 瞻博网络扩展工具包文档。
启用临时数据库实例
默认临时数据库实例会在支持配置临时数据库的 Junos 设备上自动启用。但是,必须先配置临时配置数据库的所有用户定义实例,然后再使用这些实例。请参阅 功能资源管理器 以验证支持临时数据库的硬件平台和软件版本。
要启用临时配置数据库的用户定义实例,请执行以下操作:
在 [edit system configuration-database ephemeral]
层次结构级别配置语句并提交配置时,所有 Junos 进程都必须检查并评估其完整配置,这可能会导致 CPU 利用率激增,进而可能影响其他关键软件进程。
配置临时数据库选项
您可以为临时配置数据库配置多个选项,本节将概述这些选项。您可以在静态配置数据库中配置这些选项。
在 [edit system configuration-database ephemeral]
层次结构级别配置语句并提交配置时,所有 Junos 进程都必须检查并评估其完整配置,这可能会导致 CPU 利用率激增,进而可能影响其他关键软件进程。
启用 MSTP、RSTP 和 VSTP 配置
在支持的设备和版本上,您可以在临时配置数据库中配置以下协议:
-
多生成树协议 (MSTP)
-
快速生成树协议 (RSTP)
-
VLAN 生成树协议 (VSTP)
默认情况下,Junos OS 演化版支持在受支持版本中的临时数据库中配置这些协议。但是,在运行 Junos OS 的设备上,必须先启用对在临时数据库中配置协议的支持,然后才能使用它们。
要使用户能够在运行 Junos OS 的设备上的临时数据库中配置 MSTP、RSTP 和 VSTP,请执行以下操作:
打开临时数据库实例
客户端应用程序必须先打开临时数据库实例,然后才能查看或修改该实例。在 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 中显示配置时,输出不包括临时配置数据。您可以使用命令的 show ephemeral-configuration
变体在临时数据库的特定实例中显示数据,也可以在 CLI 中显示静态和临时配置数据库的合并视图。
从 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 演化版的设备上,当您停用整个 [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 演化的设备上,当您从静态配置数据库中删除临时实例并提交配置时,设备也会删除临时实例的文件和相应的配置数据。因此,如果以后配置具有相同名称的临时实例,则没有与此实例名称关联的现有配置数据。
但是,在早期 Junos OS 版本中,删除临时实例时,设备会保留临时实例的文件。因此,如果稍后配置具有相同名称的临时实例,设备将从相应的文件中还原与实例名称关联的配置数据。如果您打算在早期版本中删除临时实例,我们建议您先删除临时实例中的配置数据,然后再从静态配置数据库中删除该实例。
要从静态配置数据库中删除默认临时实例或用户定义的临时实例,请执行以下操作:
[edit system configuration-database ephemeral]
层次结构级别时,Junos OS 将删除所有用户定义的临时实例的文件和相应的配置数据。在早期版本中,将保留文件和配置数据;但是,配置数据不会与静态配置数据库合并。
show ephemeral-configuration
并支持过滤以显示特定的层次结构级别。
<load-configuration>
action
和 的属性
merge
值以及之前支持的值 和
set
override
replace
来加载配置数据。