Cisco Nexus¶
dual-stage commit¶
10.xからサポートされたらしい。やったね。
基本的な使い方¶
cml# configure dual-stage
Enter configuration commands, one per line. End with CNTL/Z.
cml(config-dual-stage)# int lo 123
cml(config-dual-stage-if)# desc hoge
cml(config-dual-stage-if)# exit
cml(config-dual-stage)# show configuration
! Cached configuration
!
interface loopback123
description hoge
cml(config-dual-stage)# commit
Verification Succeeded.
Proceeding to apply configuration. This might take a while depending on amount of configuration in buffer.
Please avoid other configuration changes during this time.
Configuration committed by user '' using Commit ID : 1000000002
cml(config-dual-stage)# show configuration
! Cached configuration
cml(config-dual-stage)# end
commit confirmed (commitしないと戻す)¶
cml# configure dual-stage
cml(config-dual-stage)# no int lo 124
cml(config-dual-stage)# commit confirmed ?
<30-65535> Seconds until rollback unless there is a confirming commit
cml(config-dual-stage)# commit confirmed 30
Verification Succeeded.
Proceeding to apply configuration. This might take a while depending on amount of configuration in buffer.
Please avoid other configuration changes during this time.
Configuration committed by user 'kanai' using Commit ID : cml
cml(config-dual-stage)#
(30秒経過)
cml(config-dual-stage)# Confirm commit Timer expired, triggering rollback commit
Rollback in progress
cml(config-dual-stage)#
Configuration committed by rollback using Commit ID : 1000000005
confirmはcommitすればいい
cml(config-dual-stage)# commit confirmed 30
Verification Succeeded.
Proceeding to apply configuration. This might take a while depending on amount of configuration in buffer.
Please avoid other configuration changes during this time.
Configuration committed by user 'kanai' using Commit ID : 1000000006
cml(config-dual-stage)# commit
cml(config-dual-stage)#
cml(config-dual-stage)# show configuration
! Cached configuration
commitされたdiffを取る¶
from xxx to yyy
のdiffは出来ず、そのcommitで変更されたdiffだけが表示される。
cml# show configuration commit changes 1000000002
*** /bootflash/.dual-stage/1000000002.tmp Fri Mar 22 12:36:28 2024
--- /bootflash/.dual-stage/1000000002 Fri Mar 22 12:36:31 2024
***************
*** 740,745 ****
--- 740,749 ----
ip address 10.254.0.2/32
+ interface loopback123
+ description hoge
+
rollbackする¶
そのcommitが実施されたところまで戻る。
cml# rollback configuration to 1000000003
Rolling back to commitID :1000000003
ADVISORY: Rollback operation started... CTRL-C is disabled.
Modifying running configuration from another VSH terminal in parallel
is not recommended, as this may lead to Rollback failure.
candidateを捨てる¶
cml(config-dual-stage)# int lo 125
cml(config-dual-stage-if)# desc hoge
cml(config-dual-stage-if)# exit
cml(config-dual-stage)# abort
cml#
commitできないconfigがあった時は全体が止まる¶
例えば、以下のようにrouter bgp 200
が入らない場合はint lo 126
は無視される?>される。
cml(config-dual-stage)# show configuration
! Cached configuration
!
interface loopback126
description desc
!
router bgp 200
cml(config-dual-stage)# commit
Failed. err=bgp instance is already running; Tag is 100
commit verification failed