CF Memory Cards and the Squeeze Command
Im currently upgrading some devices for a customer all over the world, nothing I didnt do before but today I ran into something suprising, at least for me. The C2811 I was going to upgrade was not having enough flash space to hold the old and the new IOS (my prefered way for upgrades) so I had to delete the old IOS to be able to upload the new one.
But after the IOS was deleted, the router did not free the flash space, this was something I was used to on older devices (C2600 for example) but not with the newer ISR routers. Quick check on google did approve what I thought, I have to use the squeeze command to free up the flash after the IOS was deleted.
I´ve found the reason after another lookup, it seems that there are 2 different file systems installed in ISR routers (guess its not for ISR2 routers but I´m not sure) a Class B and a Class C file systems. The troubleshooting guide writes the following about those two types:
Cisco 3800 series routers, Cisco 2800 series routers, and Cisco 1800 series routers use external CompactFlash (CF) memory cards to store the system image, some software feature data, and configuration files. The CF memory cards use the following file systems. The file system that is supported depends on router mode
Class B flash file system, also known as the low-end file system (LEFS)
Class C flash file system, similar to the standard DOS file system
If the router uses a Class C file system deleted files will free the space on the flash (the one I was used to) while Class B file systems require a manual intervention to free up this space. Freeing up the space on those Class B file systems is done with the squeeze command:
Router# squeeze flash: Squeeze operation may take a while. Continue? [confirm] squeeze in progress... sssssssssssssssssssssssseeeeeeeeeeeeeeeeeeeeeeeeeeeeeee Rebuild file system directory... Squeeze complete
If you are using a Class B flash file system, after you enter the delete flash: command, the memory space of the deleted file remains occupied, although the deleted file cannot be recovered. To reclaim the memory space occupied by a deleted file, enter the squeeze flash: command, in privileged EXEC mode.
Which Class is used on the router can be checked with the command show flash all, the Class B file system will not show any geometry and format information while the Class C file system will. Examples are shown below and are taken from the guide Troubleshooting and Maintenance: Using CompactFlash Memory Cards
Class B file system
Router# show flash: all Partition Size Used Free Bank-Size State Copy Mode 1 125184K 20390K 104793K 0K Read/Write Direct System Compact Flash directory: File Length Name/status addr fcksum ccksum 1 6658376 c28xx-i-mz 0x40 0xE0FF 0xE0FF 2 14221136 c2800-telcoent-mz 0x6599C8 0x5C3D 0x5C3D [20879640 bytes used, 107308776 available, 128188416 total] 125184K bytes of ATA System Compact Flash (Read/Write)
Class C file system
Router# show flash: all -#- --length-- -----date/time------ pat 1 6658376 Mar 01 2004 04:27:46 c28xx-i-mz 25268224 bytes available (6664192 bytes used) ******** ATA Flash Card Geometry/Format Info ******** ATA CARD GEOMETRY Number of Heads: 4 Number of Cylinders 490 Sectors per Cylinder 32 Sector Size 512 Total Sectors 62720 ATA CARD FORMAT Number of FAT Sectors 31 Sectors Per Cluster 8 Number of Clusters 7796 Number of Data Sectors 62560 Base Root Sector 155 Base FAT Sector 93 Base Data Sector 187