我熟悉托管以太网交换机上的 CLI。但是,最近我在交换机上遇到了一个术语“基于事务的 CLI”。我不确定在交换机中使用它的目的和目的是什么。它是否类似于可以在提交之前展开整个命令的数据库事务?
编辑:
按照要求:
我熟悉托管以太网交换机上的 CLI。但是,最近我在交换机上遇到了一个术语“基于事务的 CLI”。我不确定在交换机中使用它的目的和目的是什么。它是否类似于可以在提交之前展开整个命令的数据库事务?
编辑:
按照要求:
我熟悉托管以太网交换机上的 CLI。但是,最近我在交换机上遇到了一个术语“基于事务的 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#
让我们配置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#
假设我们在 之后发现了一个问题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 中有它……重点是,不要假设第一个“不,我们不能那样做”确实是正确的。
你的假设是正确的。在这两种情况下,如果配置命令没有按预期工作,您可以将配置命令回滚到已知点。