소개
64비트 XR, 릴리스 6.2.1 이상이라고도 하는 eXR(Enhanced XR)를 실행하는 ASR9K(Aggregation Services Router 9000)에서 "show memory summary" 명령은 해당 데이터 시트에 기록된 모든 내부 메모리를 표시하지 않으며 이로 인해 일부 고객에게 혼동을 줄 수 있습니다.
문제 세부 정보
아래에서는 예를 들어 6.4.2을 실행하는 ASR9901을 사용합니다.
데이터시트에 따르면 RP(Integrated Route Processor)는 32GB의 RAM(Random Access Memory)을 가지고 있습니다.
RP/0/RSP0/CPU0:R1#show platform
Node Type State Config state
--------------------------------------------------------------------------------
0/RSP0/CPU0 ASR9901-RP(Active) IOS XR RUN NSHUT
0/FT0 ASR-9901-FAN OPERATIONAL NSHUT
0/FT1 ASR-9901-FAN OPERATIONAL NSHUT
0/FT2 ASR-9901-FAN OPERATIONAL NSHUT
0/0/CPU0 ASR9901-LC IOS XR RUN NSHUT
"Show memory summary(메모리 요약 표시)"는 "admin show system resources(시스템 리소스 관리 표시)"에서 총 메모리를 32GB로 인식했지만 약 27GB만 표시합니다.
RP/0/RSP0/CPU0:R1#show memory summary
node: node0_RSP0_CPU0
------------------------------------------------------------------
Physical Memory: 27089M total (22185M available)
Application Memory : 27089M (22013M available)
Image: 4M (bootram: 0M)
Reserved: 0M, IOMem: 0M, flashfsys: 0M
Total shared window: 133M
RP/0/RSP0/CPU0:R1#admin show system resources
Node Physical Application Boot Partition CPUs Shmwin
Total Available Cached Total Available Cached Total Available
0/RSP0-Host 32415M^ 512M^ 135M 31655M^ 500M^ 132 923M 542M 4 N/A
0/RSP0-Admin 1940M 1072M 144M 1894M 1047M 141 2308M 1252M 1 N/A
0/RSP0-XR 27739M 22548M 999M 27089M 22020M 975 N/A N/A 2 6655M
<snip>
다른 ASR9K 디바이스에서 동일한 동작을 관찰할 수 있습니다. 예를 들면 다음과 같습니다.ASR9010(eXR 6.2.3 포함)
데이터시트를 보면 A9K-RSP880-TR에는 16GB의 RAM이 있어야 합니다.
RP/0/RSP0/CPU0:R2#show platform
Node Type State Config state
-------------------------------------------------------------------------------
0/RSP0/CPU0 A9K-RSP880-TR(Active) IOS XR RUN NSHUT
0/FT0 ASR-9010-FAN-V2 OPERATIONAL NSHUT
0/FT1 ASR-9010-FAN-V2 OPERATIONAL NSHUT
0/1/CPU0 A9K-MOD400-TR IOS XR RUN NSHUT
0/1/0 A9K-MPA-20X10GE OK
0/1/1 A9K-MPA-1X100GE OK
0/PT0 A9K-AC-PEM-V3 OPERATIONAL NSHUT
0/PT1 A9K-AC-PEM-V3 OPERATIONAL NSHUT
"Show memory summary(메모리 요약 표시)"는 12.5GB를, "admin show system resource shows 16GB
RP/0/RSP0/CPU0:R2#show memory summary
node: node0_RSP0_CPU0
------------------------------------------------------------------
Physical Memory: 12496M total (8465M available)
Application Memory : 12496M (8287M available)
Image: 4M (bootram: 0M)
Reserved: 0M, IOMem: 0M, flashfsys: 0M
Total shared window: 128M
RP/0/RSP0/CPU0:R2#admin show system resou
Node Physical Application Boot Partition CPUs Shmwin
Total Available Cached Total Available Cached Total Available
0/RSP0-Host 16217M^ 276M^ 29M 15837M^ 271M^ 28 923M 592M 8 N/A
0/RSP0-Admin 1940M 1158M 78M 1894M 1131M 76 2308M 1451M 1 N/A
0/RSP0-XR 12796M 8488M 888M 12496M 8288M 867 N/A N/A 6 3071M
0/1-Host 24491M 11510M 127M 23917M 11241M 124 923M 592M 6 N/A
0/1-Admin 1008M 471M 90M 984M 460M 88 2308M 1528M 1 N/A
0/1-XR 10948M 5902M 2343M 10691M 5764M 2288 N/A N/A 5 3071M
그러나 32비트 XR를 검사하면 데이터시트에 설명된 대로 총 물리적 메모리가 표시됩니다.
RP/0/RSP0/CPU0:R3#show memory summary
Physical Memory: 16384M total (12600M available)
Application Memory : 16043M (12600M available)
Image: 100M (bootram: 100M)
Reserved: 224M, IOMem: 0, flashfsys: 0
Total shared window: 51M
RP/0/RSP0/CPU0:R3#show platform
Node Type State Config State
-----------------------------------------------------------------------------
0/RSP0/CPU0 A99-RSP-TR(Active) IOS XR RUN PWR,NSHUT,MON
0/RSP1/CPU0 A99-RSP-TR(Standby) IOS XR RUN PWR,NSHUT,MON
0/1/CPU0 A9K-MOD400-SE IOS XR RUN PWR,NSHUT,MON
0/1/0 A9K-MPA-20X10GE OK PWR,NSHUT,MON
0/1/1 A9K-MPA-2X100GE OK PWR,NSHUT,MON
0/2/CPU0 A99-8X100GE-SE IOS XR RUN PWR,NSHUT,MON
0/4/CPU0 A9K-MOD400-TR IOS XR RUN PWR,NSHUT,MON
0/4/0 A9K-MPA-8X10GE OK PWR,NSHUT,MON
0/4/1 A9K-MPA-2X40GE OK PWR,NSHUT,MON
분석
릴리스 6.2.1부터 eXR on ASR9K는 릴리스 6.1.2 및 6.1.3에서 사용된 LXC(Linux Container) 모델을 사용하여 전환하는 VM(Virtual Machine) 가상화 모델을 사용합니다.
컨테이너는 가상 머신(VM)이 할 수 있는 것보다 더 많은 애플리케이션을 단일 물리적 서버로 압축할 수 있습니다.
VM은 많은 시스템 리소스를 차지할 수 있습니다.각 VM은 운영 체제의 전체 복제본뿐만 아니라 운영 체제(OS)에서 실행해야 하는 모든 하드웨어의 가상 복제본을 실행합니다.이로 인해 많은 메모리와 CPU 주기가 추가될 수 있습니다.반면 컨테이너에 필요한 모든 것은 운영 체제, 지원 프로그램 및 라이브러리, 시스템 리소스가 부족하여 특정 프로그램을 실행할 수 없습니다.그러나 VM은 ISSU(In-Service Software Upgrade)와 같은 기능을 수용할 수 있는 유연성을 훨씬 더 제공합니다.
Linux 컨테이너는 호스트의 물리적 리소스와 커널을 공유하지만 각 VM에는 자체 OS와 가상 하드웨어가 필요하므로, 각 VM이 전체 호스트에서 특정 양의 리소스를 할당받는 이유를 설명합니다. 따라서 show memory 요약에서 eXR 릴리스 6.2.1 이상에서 전체 물리적 메모리를 표시하지 않습니다.Linux Conainers는 NCS500 및 NCS5500 플랫폼에 나타나는 대로 할당된 메모리에 대한 제한을 가질 수 있으며, 이러한 플랫폼에서는 'show memory summary" CLI에 대한 동일한 동작을 관찰할 수 있습니다.