Two-Stage Commit Model について
Cisco IOS XR は、設定変更を「Target Configuration(第1ステージ)」と「Running Configuration への Commit(第2ステージ)」に分離した Two-Stage Commit モデルを採用しています。
- 第1ステージ: ユーザーが
configureで入力した内容は、まず自分専用の Target Configuration に反映される。この時点では Running Configuration には影響せず、構文エラーがあれば Commit 前に修正できる。 - 第2ステージ(Commit):
commitを実行すると、Target Configuration の内容が一括で Running Configuration に反映される。
1行ずつ即時反映される Single-Stage 方式では、設定の一部だけが適用されて不整合な状態になるリスクがあるのに対し、Two-Stage Commit は変更をまとめて検証・反映することができます。
IOS XR Configuration 例
interface GigabitEthernet0/0/0/0 に ipv4 192.168.10.1/24 を設定した例となります。
Cisco IOS XR Configuration例
RP/0/RP0/CPU0:xr01#configure
RP/0/RP0/CPU0:xr01(config)#show running-config interface GigabitEthernet0/0/0/0
!!!! IPv4 アドレス設定未設定状態(現状の Running 状態)
interface GigabitEthernet0/0/0/0
description to GigabitEthernet0/0/0/0.XR02
!
RP/0/RP0/CPU0:xr01(config)#interface GigabitEthernet0/0/0/0
RP/0/RP0/CPU0:xr01(config-if)#ipv4 address 192.168.10.1 255.255.255.0
RP/0/RP0/CPU0:xr01(config-if)#exit
RP/0/RP0/CPU0:xr01(config)#show configuration
!!!! show configuration は未コミットの差分のみを表示
!! Building configuration...
!! IOS XR Configuration 26.1.1
interface GigabitEthernet0/0/0/0
ipv4 address 192.168.10.1 255.255.255.0
!
end
RP/0/RP0/CPU0:xr01(config)#show configuration merge interface GigabitEthernet0/0/0/0
!!!! show configuration merge で Target Configuration と Running のマージ結果を表示
interface GigabitEthernet0/0/0/0
description to GigabitEthernet0/0/0/0.XR02
ipv4 address 192.168.10.1 255.255.255.0
!
RP/0/RP0/CPU0:xr01(config)#show running-config interface GigabitEthernet0/0/0/0
!!! commit されていないので running に変化はなし
interface GigabitEthernet0/0/0/0
description to GigabitEthernet0/0/0/0.XR02
!
RP/0/RP0/CPU0:xr01(config)#commit
RP/0/RP0/CPU0:xr01(config)#end
RP/0/RP0/CPU0:xr01#show running-config interface gigabitEthernet 0/0/0/0
!!! commit されたので running に反映
interface GigabitEthernet0/0/0/0
description to GigabitEthernet0/0/0/0.XR02
ipv4 address 192.168.10.1 255.255.255.0
!
RP/0/RP0/CPU0:xr01#