Knowledge Search


×
 

Unable to upgrade from Junos OS 12.1X46 to subsequent releases of Junos OS on SRX5400/5600/5800 platforms due to "The /cf filesystem is low on free disk space" on SRX5k RE-13-20

  [KB29651] Show Article Properties


Summary:
When trying to upgrade from Junos OS version 12.1X46-D10 to a subsequent release of 12.1X46 (i.e. 12.1X46-D25), the upgrade fails due to a lack of disk space on SRX5k RE-13-20.

Symptoms:
Sample output of a device running Junos 12.1X46-D20.  The goal is to upgrade to 12.1X46-D25, but the installation fails with a "low on free disk space" error.

root> ... add no-copy /var/tmp/junos-srx5000-12.1X46-D25.7-domestic.tgz
NOTICE: Validating configuration against junos-srx5000-12.1X46-D25.7-domestic.tgz.
NOTICE: Use the 'no-validate' option to skip this if desired.
Checking compatibility with configuration
Initializing...
Verified manifest signed by PackageProduction_12_1_0
Verified junos-12.1X46-D20.5-domestic signed by PackageProduction_12_1_0
Using /var/tmp/junos-srx5000-12.1X46-D25.7-domestic.tgz
Checking junos requirements on /
Available space: 20438 require: 9648
Saving boot file package in /var/sw/pkg/junos-boot-srx5000-12.1X46-D25.7.tgz
Verified manifest signed by PackageProduction_12_1_0
Hardware Database regeneration succeeded
Validating against /config/juniper.conf.gz
mgd: commit complete
Validation succeeded
Installing package '/var/tmp/junos-srx5000-12.1X46-D25.7-domestic.tgz' ...
Verified junos-boot-srx5000-12.1X46-D25.7.tgz signed by PackageProduction_12_1_0
Verified junos-srx5000-12.1X46-D25.7-domestic signed by PackageProduction_12_1_0
Available space: 20438 require: 404752

WARNING: The /cf filesystem is low on free disk space.
WARNING: This package requires 404752k free, but there
WARNING: is only 20438k available.

WARNING: This installation attempt will be aborted.
WARNING: If you wish to force the installation despite these warnings
WARNING: you may use the 'force' option on the command line.
ERROR: junos-12.1X46-D25.7-domestic fails requirements check
Installation failed for package '/var/tmp/junos-srx5000-12.1X46-D25.7-domestic.tgz'


Cause:
On SRX5k RE-13-20 the size of the root (/) partition is limited to 864MB. When this partition holds the currently running Junos image and backup image in /cf/packages directory, it occupies 760MB (the size of Junos OS 12.1X46 is more than 380MB). Therefore, upgrading to the new version of Junos OS may fail unless disk space is cleared on the /cf/packages directory due to "The /cf filesystem is low on free disk space" on the Compact Flash (CF).


Solution:
Before upgrading, it is always best practice to check the amount of disk space available on the /cf partition.  Use the "show system storage" command to display the current capacity.

root@> show system storage 
Filesystem              Size       Used      Avail  Capacity   Mounted on
/dev/ad0s1a             864M       776M        20M       98%  /           <<< Only 20M available
devfs                   1.0K       1.0K         0B      100%  /dev
/dev/md0                794M       794M         0B      100%  /junos
/cf                     864M       776M        20M       98%  /junos/cf
devfs                   1.0K       1.0K         0B      100%  /junos/dev/
procfs                  4.0K       4.0K         0B      100%  /proc
/dev/ad0s1e              96M        26K        88M        0%  /config
/dev/ad2s1f              34G       922M        30G        3%  /var
/dev/md1               1007M       1.0M       925M        0%  /mfs
/var/jail                34G       922M        30G        3%  /jail/var
/var/log                 34G       922M        30G        3%  /jail/var/log
devfs                   1.0K       1.0K         0B      100%  /jail/dev

An upgrade, requires at least 404 MB of disk space.  In the example above, there simply is not enough space.  To determine which directory is taking up the most space, it's best to go into shell mode and look at disk storage.   Start with the /cf partition, since this is where Junos loads, and use the command "du -hs *" to list how much space each directory occupies.
root@> start shell 
root@% cd /cf         
root@% du -hs *     
3.2M    boot
2.0K    dev
456K    etc
  0B    kernel
  0B    kernel.old
 18K    opt
772M    packages  12K    root
134K    sbin
 14K    usr
 40K    var

Since /cf/packages is taking up 772 MB, we know that directory needs to be cleaned up. 
root@% ls -l
total 791160
lrwxr-xr-x  1 root  wheel         28 Nov 14 19:52 junos -> junos-12.1X46-D20.6-domestic
-rw-r--r--  1 930   wheel  404496540 Feb 26  2014 junos-12.1X46-D15.3-domestic
-rw-r--r--  1 930   wheel       7153 Feb 25  2014 junos-12.1X46-D15.3-domestic.certs
-rw-r--r--  1 930   wheel         41 Feb 26  2014 junos-12.1X46-D15.3-domestic.sha1
-rw-r--r--  1 930   wheel        525 Feb 26  2014 junos-12.1X46-D15.3-domestic.sig
-rw-r--r--  1 930   wheel  404914400 Jul 28 22:28 junos-12.1X46-D20.6-domestic
-rw-r--r--  1 930   wheel       7153 Jul 28 17:30 junos-12.1X46-D20.6-domestic.certs
-rw-r--r--  1 930   wheel         41 Jul 28 22:30 junos-12.1X46-D20.6-domestic.sha1
-rw-r--r--  1 930   wheel        525 Jul 28 22:31 junos-12.1X46-D20.6-domestic.sig
The easiest way to clean this up is to run a request system software delete-backup from the operational prompt.
root@> request system software delete-backup
Delete backup system software package [yes,no] (no) yes 

root@> show system storage 
Filesystem              Size       Used      Avail  Capacity   Mounted on
/dev/ad0s1a             864M       390M       405M       49%  /           <<< 405MB available
devfs                   1.0K       1.0K         0B      100%  /dev
/dev/md0                794M       794M         0B      100%  /junos
/cf                     864M       390M       405M       49%  /junos/cf
devfs                   1.0K       1.0K         0B      100%  /junos/dev/
procfs                  4.0K       4.0K         0B      100%  /proc
/dev/ad0s1e              96M        26K        88M        0%  /config
/dev/ad2s1f              34G       922M        30G        3%  /var
/dev/md1               1007M       1.0M       925M        0%  /mfs
/var/jail                34G       922M        30G        3%  /jail/var
/var/log                 34G       922M        30G        3%  /jail/var/log
devfs                   1.0K       1.0K         0B      100%  /jail/dev

The /cf partition now has 405 MB available, which is sufficient space to upgrade Junos.

When upgrading from 12.1X46 to another Junos 12.1X46 image, it is recommended to perform a request system software delete-backup before doing any software upgrade operation.

To mitigate this issue, the Junos images for SRX5000 series have been decreased in size from Junos release 12.1X46-D45 onwards.


NOTE: If the device is running with SRX5K-RE-1800X4 (supported on Junos OS 12.1X47-D15), it does not have the above limitation because the size of CF storage is 4GB and the size of root (/) partition is 3.5GB.


Related Links: