概要
Enhanced XR(eXR)(64ビットXRとも呼ばれる)を実行しているアグリゲーションサービスルータ(ASR9K)のリリース6.2.1以降では、対応するデータシートに記載されているすべての内部メモリがコマンド"show memory summary"で表示されず、一部のお客様を混乱させる可能性があります。
問題の詳細
次に、例として6.4.2を実行するASR9901を使用します。
データシートによると、統合ルートプロセッサ(RP)には32ギガバイト(GB)のランダムアクセスメモリ(RAM)が搭載されています。
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
「admin show system resources」で合計メモリを32 GBと認識しているにもかかわらず、「Show memory summary」では約27 GBしか表示されません。
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デバイス(eXR 6.2.3を搭載したASR9010など)でも同じ動作が見られます。
データシートを見ると、A9K-RSP880-TRには16 GBの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.5 GBを示し、「admin show system resource」は16 GBを示します。
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以降、ASR9KのeXRでは、リリース6.1.2および6.1.3で使用されていたLinux Container(LXC)モデルから切り替えて、仮想マシン(VM)仮想化モデルを使用します。
コンテナは、仮想マシン(VM)よりも多くのアプリケーションを単一の物理サーバにパックできます。
VMは多くのシステムリソースを消費する可能性があります。各VMは、オペレーティングシステムの完全なコピーではなく、オペレーティングシステム(OS)が実行する必要があるすべてのハードウェアの仮想コピーを実行します。これにより、メモリとCPUサイクルが増加する可能性があります。それに対して、コンテナに必要なのは、オペレーティングシステム、サポートするプログラムとライブラリ、および特定のプログラムを実行するためのシステムリソースだけです。ただし、VMはIn-Service Software Upgrade(ISSU)などの機能に対応する柔軟性を大幅に高めます。
Linux Containersはホストの物理リソースとカーネルを共有しますが、各VMには独自のOSと仮想化ハードウェアが必要です。これは、各VMがホスト全体から特定の量のリソースを割り当てられる理由を説明します。その結果、eXRリリース6.2.1以降ではshow memory summaryに物理メモリ全体が表示されません。Linuxコンテナでは、NCS5000およびNCS5500プラットフォームに表示される割り当て済みメモリに制限を設けることもできます。これらのプラットフォームでは、「show memory summary」CLIと同じ動作が見られます。