以太网交换机上基于事务的 CLI

网络工程 思科 转变 思科-ios 管理 命令行
2021-07-12 17:51:34

我熟悉托管以太网交换机上的 CLI。但是,最近我在交换机上遇到了一个术语“基于事务的 CLI”。我不确定在交换机中使用它的目的和目的是什么。它是否类似于可以在提交之前展开整个命令的数据库事务?

编辑:

按照要求:

RX5000 数据表

检查点 CLI 事务

2个回答

我熟悉托管以太网交换机上的 CLI。但是,最近我在交换机上遇到了一个术语“基于事务的 CLI”。我不确定在交换机中使用它的目的和目的是什么。它是否类似于可以在提交之前展开整个命令的数据库事务?

  • RX5000是递增的说话能力要还原变化,比如你可以在数据库中。
  • 您提到检查点链接暗示了同一件事,但它们指定可以将离散的配置命令组合到一个“提交”操作中。

带有配置存档和回滚的 Cisco CLI 事务

这些功能与您在行业其他地方找到的功能非常相似……例如,在 Cisco 路由器上,如果您archive在 Cisco 的运行配置中启用,您可以在可逆事务中提交更改

SW1#sh runn | b archive
archive
 path bootflash:$h_config
!
SW1#term exec prompt time
SW1#archive config

SW1#dir bootflash:
Directory of bootflash:/

   21  -rw-       52770   Nov 3 2013 12:48:04 -06:00  SW1_config-Nov--3-12-48-02-CST-1
   20  -rw-       52770   Nov 3 2013 12:45:02 -06:00  SW1_config-Nov--3-12-45-00-CST-0
   22  -rw-       52762   Nov 3 2013 12:52:22 -06:00  SW1_config-Nov--3-12-52-20-CST-0
   23  -rw-       52762   Nov 3 2013 14:38:44 -06:00  SW1_config-Nov--3-14-38-41-CST-1
   26  -rw-       66622  Jan 31 2014 13:17:46 -06:00  SW1_configJan-31-13-17-42-CST-2  <---

131436544 bytes total (95956992 bytes free)
SW1#

现在没有配置 Loopback100...

SW1#sh runn int lo100
                  ^
% Invalid input detected at '^' marker.

SW1#

示例 CLI 事务配置和确认

让我们配置Loopback100一个 10 分钟的回滚计时器,查看自配置快照以来的更改,确认更改,然后回滚。如果回滚计时器在没有确认配置的情况下到期,它将自动恢复到我们的最后一个config archive(这也会在您执行时发生config terminal revert)。

这些事务很有价值,因为如果您将路由器的配置完全控制到无法访问的程度,它将自动回滚到您保存的快照……如果您可以管理路由器但需要回滚到已知良好状态,这也很有帮助赶紧配置。

SW1#configure terminal revert timer 10
Rollback Confirmed Change: Backing up current running config 
 to bootflash:SW1_configJan-31-13-20-21-CST-3

Enter configuration commands, one per line.  End with CNTL/Z.
SW1(config)#
SW1(config)#int loopback 100
SW1(config-if)#ip address 1.2.3.4 255.255.255.255
SW1(config-if)#end
SW1#

我们可以看到Looback100 存在......

SW1#sh runn int lo100
Load for five secs: 28%/0%; one minute: 24%; five minutes: 24%
Time source is NTP, 13:21:25.243 CST Fri Jan 31 2014

Building configuration...

Current configuration : 65 bytes
!
interface Loopback100
 ip address 1.2.3.4 255.255.255.255
end

SW1#

我们可以看到回滚到最后一个配置存档所需差异...

SW1#sh archive config differences bootflash:SW1_configJan-31-13-17-42-CST-2
Load for five secs: 17%/0%; one minute: 24%; five minutes: 23%
Time source is NTP, 13:25:55.832 CST Fri Jan 31 2014
!
!Contextual Config Diffs:
-interface Loopback100
 -ip address 1.2.3.4 255.255.255.255

SW1#

现在我们可以确认提交……这意味着如果 10 分钟计时器到期,我们不会自动回滚。

SW1#configure confirm
SW1#sh runn int loo100
Load for five secs: 25%/0%; one minute: 25%; five minutes: 24%
Time source is NTP, 13:30:17.269 CST Fri Jan 31 2014

Building configuration...

Current configuration : 65 bytes
!
interface Loopback100
 ip address 1.2.3.4 255.255.255.255
end

SW1#

CLI 事务回滚

假设我们在 之后发现了一个问题config confirm让我们回滚到我们存档的旧配置...

SW1#configure replace bootflash:SW1_configJan-31-13-17-42-CST-2
This will apply all necessary additions and deletions
to replace the current running configuration with the
contents of the specified configuration file, which is
assumed to be a complete configuration, not a partial
configuration. Enter Y if you are sure you want to proceed. ? [no]: yes
Total number of passes: 1
Rollback Done

SW1#

现在运行配置中不存在 Loopback100。配置与我们拍摄第一个快照时完全一样。

SW1#sh runn int lo100
                  ^
% Invalid input detected at '^' marker.

SW1#

发生回滚时,配置将被锁定,无法进行任何其他配置活动。如果出现错误或某些不可预测的事件,configuration mode exclusive auto expire [timeout-in-seconds]在使用此功能时最好在配置中添加。我喜欢 600 秒的最大超时值……这意味着可以锁定配置的最长时间是 10 分钟。

历史记录

最初,瞻博网络是第一个部署配置回滚功能的主要供应商。当时我在 Cisco 工作,我们的销售客户对 Cisco IOS 中的此功能大呼小叫。我仍然记得公司重要参与者的内部法令,他们说“这在 Cisco IOS 中是不可能的”。

当然,有了足够的持久性(中间有几年),我们在 IOS 中有它……重点是,不要假设第一个“不,我们不能那样做”确实是正确的。

你的假设是正确的。在这两种情况下,如果配置命令没有按预期工作,您可以将配置命令回滚到已知点。