以下の出力例の通り、install command が module の bootflash: の容量不足のために失敗する場合がありますが
その中でも、容量が実際に不足しているわけではなく、stale byte に起因してインストールエラーとなっている場合があります。
------------------------------------------------------------------------------------------------------------
RP/0/RP0/CPU0:Router#admin install deactivate disk0:hfr-px-4.2.1.CSCuc37536-1.0.0
- snip -
Proceed with this install operation (y/n)? [y]
Info: Install Method: Parallel Reload
Error: Cannot proceed with the deactivation because there is insufficient
Error: disk space on the following devices:
Error: - 0/SM0/SP: bootflash: (7657356 bytes required, 2404892 bytes
Error: available)
- snip -
Error: - 0/SM7/SP: bootflash: (7657356 bytes required, 2404892 bytes
Error: available)
Error: Suggested steps to resolve this:
Error: - free up space on the specified devices by removing inactive
Error: packages using the command '(admin) install remove'. The list of
Error: inactive packages can be obtained using '(admin) show install
Error: inactive'.
Error: - free up space on the specified devices by removing unnecessary
Error: files with the 'rm' command. Please do not remove inactive
Error: packages using 'rm'.
------------------------------------------------------------------------------------------------------------
stale byte は show filesystem コマンドにて確認が可能です。
------------------------------------------------------------------------------------------------------------
RP/0/RP0/CPU0:Router(admin)#show filesystem bootflash: all location 0/SM0/SP
Node: node0_SM0_SP
Device: /bootflash:
====================================
-------- F I L E S Y S T E M I N F O --------
Part Info
Total : 30146560 Bytes 100%
Spare : 262144 Bytes 0%
Headers : 347920 Bytes 1%
Padding : 789 Bytes 0%
Overhead : 610853 Bytes 2%
Free : 2404892 Bytes 7% <<<<<<<<<<<
Stale : 7850796 Bytes 26% <<<<<<<<<<< Stale の分、Free が少ない
Avail. : 10255688 Bytes 34%
Reserved : 0 Bytes 0%
- snip -
------------------------------------------------------------------------------------------------------------
stale byte とは、file としては delete されたことになっているが byte が erase/clear されていない部分のことです。
通常、install に関わる operation の最中に、この部分の erase の処理が行われますが
処理が遅いため、結果として stale byte 部分への書き込みに間に合わず install operation が 失敗することがあります。
その場合は、事前に stale byte を clear するか、再度 install を試みることで、問題なく install を行うことが可能です。
IOS-XR 4.2.1 までは、事前に stale byte を erase する reclaim という処理について
固有の CLI コマンドを持ちませんでしたが、IOS-XR 4.2.3 より (admin) bootflash reclaim コマンドが導入されています。
reclaim 処理を行うことで、以下のように stale byte を clear することができます。
------------------------------------------------------------------------------------------------------------
RP/0/RP0/CPU0:Router(admin)#show filesystem bootflash: all location 0/SM0/SP
Node: node0_SM0_SP
Device: /bootflash:
====================================
-------- F I L E S Y S T E M I N F O --------
Part Info
Total : 30146560 Bytes 100%
Spare : 262144 Bytes 0%
Headers : 343696 Bytes 1%
Padding : 789 Bytes 0%
Overhead : 606629 Bytes 2%
Free : 10259912 Bytes 34% <<<<<<<<<<< Stale が減り、Free が増えている
Stale : 0 Bytes 0% <<<<<<<<<<<
Avail. : 10259912 Bytes 34%
Reserved : 0 Bytes 0%
- snip -
----------------------------------------------------