我熟悉托管以太网交换机上的CLI。但是,最近我在交换机上遇到了一个术语“基于事务的CLI”。我不太确定在交换机中添加它的目的和目的。它与数据库事务类似,在数据库事务中您可以在提交整个命令之前先展开所有命令?
编辑:
按照要求:
我熟悉托管以太网交换机上的CLI。但是,最近我在交换机上遇到了一个术语“基于事务的CLI”。我不太确定在交换机中添加它的目的和目的。它与数据库事务类似,在数据库事务中您可以在提交整个命令之前先展开所有命令?
编辑:
按照要求:
Answers:
我熟悉托管以太网交换机上的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中使用它了……重点是,不要以为第一个“不,我们不能那样做”确实是正确的。
config confirm
,您只是在告诉路由器您不想自动回滚那些更改。当然,无需进行定时回滚就可以进行更改。无论哪种方式,命令都将立即激活。
您的假设是正确的。在这两种情况下,如果配置命令无法按预期运行,则可以将其回滚到已知点。