编辑:
按要求: br />
检查点CLI事务
#1 楼
我熟悉托管以太网交换机上的CLI。但是,最近我在交换机上遇到了一个术语“基于事务的CLI”。我不太确定在交换机中使用它的目的和目的。它与数据库事务类似,在数据库事务中您可以在提交整个命令之前先展开整个命令?数据库。
您提到的Checkpoint链接暗示同一件事,但是它们指定可以将离散的配置命令组合在一起,成为一个单独的“提交”操作。和回滚
这些功能与您在业界其他地方发现的功能非常相似...例如,在Cisco路由器上,如果您在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事务配置和确认
让我们使用10分钟的回滚计时器来配置
archive
,看看自配置快照以来的变化确认更改,然后回滚。如果回滚计时器在未确认配置的情况下到期,它将自动恢复为我们的最后一个Loopback100
(执行config archive
时也会发生此情况)。指出无法访问的点,它将自动回滚到保存的快照... 如果您可以管理路由器但需要快速回滚到已知良好的配置,这也很有帮助。
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#
br />假设我们在config terminal revert
之后发现问题。让我们回滚到存档的旧配置... 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在运行的配置中不存在。该配置与我们拍摄第一张快照时的配置完全相同。如果出现错误或某些不可预测的事件,使用此功能时将
config confirm
配置在您的配置中是个好主意。我喜欢最大超时值600秒...这意味着可以锁定配置的最大时间是10分钟。主要厂商来部署配置回滚功能。当时我曾在Cisco工作,而我们的销售客户都对Cisco IOS中的此功能大喊大叫。我仍然记得公司重要参与者的内部指示,他们说“在Cisco IOS中是不可能的”。当然,有了足够的持久性(中间还有几年),我们可以IOS ...关键是,不要以为第一个“不,我们不能那样做”确实是正确的。
评论
谢谢你的例子。一件事对我来说还不清楚...键入命令后是否立即激活更改(在这种情况下为环回),或者在确认事务(配置确认)后立即激活更改。
–谦虚
2014年1月31日21:48
@ modest,Cisco立即应用命令;当您进行配置确认时,您只是在告诉路由器您不想自动回滚那些更改。当然,无需定时回滚就可以进行更改。无论哪种方式,命令都将立即激活。
–迈克·彭宁顿
2014年1月31日在21:52
#2 楼
您的假设是正确的。在这两种情况下,如果配置命令无法按预期运行,则可以将其回滚到已知点。评论
明白了但是,您可以通过简单地加载以前的配置文件(假设在开始进行更改之前先保存它)来达到目的,以防万一情况变坏。我在这里想念什么吗?
–谦虚
2014年1月31日19:41
@modest重新加载以前的配置不会删除需要“ no
–罗恩·托恩(Ron Trunk)
2014年1月31日20:00
此功能的另一件事(至少在Cisco和Juniper上)是允许您设置回滚计时器。当计时器到期时,配置将自行回滚。如果您进行了一些更改,导致与设备失去连通性,则此功能很有用。并不是说我曾经做过:(
–罗恩·托恩(Ron Trunk)
2014年1月31日20:10
评论
有什么答案对您有帮助吗?如果是这样,您应该接受答案,这样问题就不会永远弹出来寻找答案。或者,您可以发布并接受自己的答案。