内容

はじめに

背景説明

問題の概要

問題の分析

はじめに

このドキュメントでは、ASR9000ルータでのメモリ不足が原因の、ラベル配布プロトコル(LDP)ネイバーの問題について説明します。

背景説明

LDPは、IGPルートのラベル情報の生成と共有を支援するラベル配布プロトコルです。ただし、ラベルを交換する前に、ルータは最初にLDPネイバーシップを形成します。 ご存知のように、LDPはUDPおよびTCPプロトコルで動作します。ネイバー探索のために、LDPはUDPプロトコルを使用し、TCPプロトコルを使用してネイバーシップを作成します。

TCP接続を行うには、ルータに十分な量のメモリとCPUが搭載されている必要があります。

問題の概要

明らかなように、pingとtracerouteを実行できます。

RP/0/RSP0/CPU0:R1#ping 192.168.12.6 so l14

Thu Jun 27 07:01:31.192 UTC

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.12.6 timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 2/2/3 ms

RP/0/RSP0/CPU0:R1# traceroute 192.168.12.6 so l14 numeric

Thu Jun 27 07:01:56.748 UTC

中止するにはエスケープ文字列を入力します

Tracing the route to 192.168.12.6

1 192.168.99.220 [MPLS：ラベル26664/75671 Exp 0] 3ミリ秒2ミリ秒2ミリ秒

2 192.168.96.8 [MPLS: Label 75671 Exp 0] 1 msec 1 msec 1 msec

3 192.168.62.151 [MPLS:Label 24201 Exp 0] 2 msec 2 msec 2 msec

4 192.168.12.6 2 msec 2 msec 2 msec

すべてのpingとtracerouteは動作していますが、LDPメンバーシップはありません。

RP/0/RSP0/CPU0:R1#  show mpls ldp discovery 192.168.12.6 detail

Thu Jun 27 07:05:43.503 UTC

Local LDP Identifier: 192.168.248.84:0

Discovery Sources:

Targeted Hellos:

192.168.248.84 -> 192.168.12.6 (active), xmit/recv

Hello interval: 5 sec (due in 978 msec)

Quick-start: Enabled

LDP Id:192.168.248.84:0

Hold time: 45 sec (local:90 sec, peer:45 sec)

(expiring in 41.3 sec)

Established: Jun 26 12:02:16.216 (18:58:47 ago)

Session bringup fail reason:

waiting for tcp incall

TCP Failの理由を確認できます。

問題の分析

Show mpls ldp trace error reverse | in 192.168.12.6  コマンドをチェックすると、メモリ不足が原因でLDPネイバーが存在しないことがわかります。

Jun 27 07:08:29.742 mpls/ldp/err 0/RSP0/CPU0 t1  [ERR][MISC]:8201: VRF(0x60000000):

ldp_nbr_ok_to_connect: Call from 192.168.12.6 rejected - state=2, reason=''MPLS_LDP'

detected the 'resource not available' condition 'A low memory condition prevents new

LDP sessions'

また、RSP0にはマイナーメモリがありますが、RSP1は正常です。

RP/0/RSP0/CPU0:R1#show watchdog memory-state

Thu Jun 27 06:16:13.033 UTC

Memory information:

Physical Memory: 6144     MB

Free Memory:      554.988 MB

Memory State:          Minor

RP/0/RSP0/CPU0:R1#show watchdog memory-state location 0/RSP1/CPU0

Thu Jun 27 06:17:06.110 UTC

Memory information:

Physical Memory: 6144     MB

Free Memory:     1208.164 MB

Memory State:         Normal

この問題はメモリに関連するため、システムのさまざまなコンポーネントのメモリ消費を確認し、他のRSPやデバイスと比較しても、最大のメモリを使用してトレースできます。RSP0がltrace用に最も多くのメモリを使用していることがわかります。

RP/0/RSP0/CPU0:R1#show shmem summary location 0/rSP0/CPU0

Thu Jun 27 07:24:48.601 UTC

Total Shared memory: 2345M

ShmWin: 349M

Image: 71M

LTrace: 690M

AIPC: 73M

SLD: 3M

SubDB: 528K

CERRNO: 148K

GSP-CBP: 165M

EEM: 0

XOS: 15M

CHKPT: 10M

CDM: 9M

XIPC: 4M

DLL: 64K

SysLog: 10M

Miscellaneous: 940M

LTrace usage details:

Used: 690M, Max: 3366M

Current: default(dynamic)

Configured: dynamic with scale-factor: 16 (changes take effect after reload)

また、Ltraceが大量のメモリを使用していることも確認できます。

回避策：

1. スタンバイRPをリロードします。

2. 同期するまで待ちます。現在のプロファイルsh shmem summary loc 0/RSP1/CPU0, がスケール係数16であることを確認します。

3. スイッチオーバー

4. メモリが正常であることを確認します。LDPがバックアップされていることを確認します。

5. sh shmem summary loc 0/RSP0/CPU0で、RSP0にスケールファクタ16が適用されていることを確認します。

ログの収集：

show mpls ldp neighbor

show mpls ldp neighbor detail

show mpls ldp discovery 192.168.12.6 detail

show watchdog memory-state

show watchdog memory-state location 0/RSP1/CPU0

show shmem summ loc 0/RSP1/CPU0

show shmem summ loc 0/RSP0/CPU0

show redundancy

show tech-support mpls ldp

注：同じ設定の別のルータでメモリ使用量を確認します。