2024年4月26日 (初版)
TAC SR Collection |
主な問題 |
eXR 製品のうち NSR(Non Stop Routing) が有効化されているルータにおいて、特定の条件下において RP/RSP 切り替わり後に BGP プロセスが要因で standby NSR-ready に遷移できず、BGP session が NSR を確立できない場合があります。この状態に陥ると、XRVM switchover ができません。
事象発生中のログ出力例
RP/0/RP0/CPU0:Router#show redundancy
Redundancy information for node 0/RP0/CPU0:
==========================================
Node 0/RP0/CPU0 is in ACTIVE role
Partner node (0/RP1/CPU0) is in STANDBY role
Standby node in 0/RP1/CPU0 is ready
Standby node in 0/RP1/CPU0 is not NSR-ready
Details
--------
Current active rmf state: 4 (I_READY)
All standby not-ready bits clear - standby should be ready
Current active rmf state for NSR: Not ready
Reason for standby not NSR-ready
1065 0/RP0/CPU0 bgp BGP NSR sessions not synchronized : inst_name=default, inst_id=0
Not ready set Fri Feb 1 15:01:59 2024: 1 week, 5 hours, 57 minutes ago <snip>
RP/0/RP0/CPU0:Router#show bgp nsr detail
<snip> Entered mode Active Ready : Feb 1 15:50:48
Entered mode TCP NSR Setup : Feb 1 15:59:03
Entered mode TCP NSR Setup Done : Feb 1 15:59:03
Current BGP NSR state - TCP NSR Setup Done achieved at: Feb 1 15:59:03
BGP NSR state not ready: Wait for all address family to reach initsync version
### VPNv4 Unicast,VPNv6 Unicast,または双方の State が Normal mode であるはずが、Read Only mode に留まる ### (以下は VPNv4 Unicast が Read Only mode に留まる出力例) RP/0/RP0/CPU0:Router#show bgp instance all all all process performance-statistics detail | include "State|Address Family"
Address Family: VPNv4 Unicast
State: Read Only mode.
Address Family: VPNv6 Unicast State: Normal mode.
発生条件 : 以下の Step にて発生します。
STEP0: 前提条件
- RP 冗長状態と NSR 双方が ready である
- BGP NSR が有効化されている
- BGP セッションが 1 つ以上が確立されている
- BGP global configuration 配下に「address-family ipv4 rt-filter」が設定されていない
- BGP global configuration 配下に「address-family vpnv4 unicast」または「address-family vpnv6 unicast」のどちらか、または両方が設定されていない
以降の設定例は 「address-family vpnv4 unicast」および 「address-family ipv4 rt-filter」を設定する例で説明します。
STEP1: 「address-family vpnv4 unicast」または「address-family vpnv6 unicast」のいずれか、あるいは両方を設定する。 設定例
RP/0/RP0/CPU0:Router#configure terminal
RP/0/RP0/CPU0:Router(config)#router bgp 64496
RP/0/RP0/CPU0:Router(config-bgp)#address-family vpnv4 unicast
RP/0/RP0/CPU0:Router(config-bgp-af)#commit
STEP2: 「address-family ipv4 rt-filter」を STEP1 と同時、または STEP1 実施から 2 分以内に設定する。 設定例
RP/0/RP0/CPU0:Router#configure terminal RP/0/RP0/CPU0:Router(config)#router bgp 64496 RP/0/RP0/CPU0:Router(config-bgp)#address-family ipv4 rt-filter RP/0/RP0/CPU0:Router(config-bgp-af)#commit
STEP2 から 2分以上経過後の State(この時点では Standby XRVM に問題が内在した状態であり、通信影響は無し)
RP/0/RP0/CPU0:Router#show bgp instance all all all process performance-statistics detail standby | include "State|Address Family"
Address Family: VPNv4 Unicast State: Read Only mode. <<< Normal mode に遷移しない Address Family: RT Constraint
State: Normal mode.
STEP3: Active RP/RSP HW 再起動、もしくは Active XRVM 再起動による switchover を実施する。
STEP3 実施後、問題が内在していた Standby RP が Active RP に遷移し、冒頭の 事象発生中のログ出力例 のようになります。
|
原因 |
この問題は CSCwi69224 として報告されています。 CSCwi69224: BGP Address Family VPNv4/VPNv6 unicast state stuck in Read Only mode on standby RP
|
解決策 |
恒久対策としては CSCwi69224 の修正済みバージョンを使用する必要があります。 未修正バージョンで運用される場合は、以下の方法で事象の回避、事象発生後の復旧が可能です。
config 適用時にこの事象そのものを防ぐ方法
- 「address-family vpnv4 unicast」/「address-family vpnv6 unicast」を設定する前に「address-family ipv4 rt-filter」を設定する。
- 先に「address-family vpnv4 unicast」/「address-family vpnv6 unicast」または両方を設定する場合は、2 分以上経過してから「address-family ipv4 rt-filter」を設定する。
Standby RP で事象発生後の復旧方法(この時点では Standby XRVM に問題が内在した状態であり、通信影響は無し)
- standby RP 側の bgp プロセスリスタート、もしくは XRVM reload で復旧可能です。
- 復旧前に RP switchover してしまうと、後述の通信影響を伴う対処が必要になります。
bgp プロセスリスタート process restart bgp location <Standby RP>
XRVM reload reload location <Standby RP>
Active RP で事象発生後の復旧方法
- Active RP 側の bgp プロセスリスタート、もしくは XRVM reload で復旧可能です。(一時的に通信影響が発生します。)
bgp プロセスリスタート process restart bgp
XRVM reload reload location <Active RP>
|
備考
本不具合は、Bug Search Tool でも確認できます。
各製品の TAC SR Collection の一覧は、よくある質問と解決方法 (TAC SR Collection) から確認できます。