Introduction
This document describes how to overcome low space for IOx on IR800-platforms where only 704mb seems to be available for application deployment.
Problem
On most IR800-series device: IR809 and IR829, out of the box, only 704mb seems to be available in order to deploy IOx applications and containers. While the flash size allows for up to 1.7gb of space.
The issue has a historical origin as the first versions of IOx on the IR800-platform were designed with this constraint. Later, the constraint was removed but in order to make the space available for use, it involves repartitioning and would remove data, this action did not take place automatically at the time of upgrades.
In order to check if your device has this constraint, use these steps:
For devices running a newer release like 15.9(3)M, SSH access is disabled by default and needs to be enabled before following the steps below.
This can be done as follows:
IR829KJK#iox host exec enablesshaccess ?
IR829KJK-GOS-1 Host running GNU/Linux
4.1.52-rt52-yocto-standard
IR829KJK#iox host exec enablesshaccess IR829KJK-GOS-1
generating ssh RSA key...
generating ssh ECDSA key...
generating ssh DSA key...
generating ssh ED25519 key...
Reloading OpenBSD Secure Shell server's configuration.
ssh config changed successfully.
Please restart ssh daemon using disablessh and then enablessh script to apply latest config.
Once SSH access is enabled:
- Find the IP address used by Guest-OS (GOS) as configured on your device:
IR829KJK#sh ip dhcp bind | i 908b
192.168.1.3 0102.0001.908b.05 Infinite Manual
- SSH to the IP-address of GOS and log in with a privilege 15 user:
IR829KJK#ssh -l admin 192.168.1.3
IOS user password:
IR829KJK-GOS-1:~#
- Check the size of the /software mount as follows:
IR829KJK-GOS-1:~# df -h | grep sdb
/dev/sdb 704M 11M 656M 2% /software
If the size here is 704mb, know that you have hit the known issue.
Solution
In order to fix this, you can reformat the flash and make use of the full capacity as follows:
- Ensure that you have the bundle install that attaches the installed version of IOS® on your device:
IR829KJK#sh ver | i image
System image file is "flash:/ir800-universalk9-mz.SPA.157-3.M1"
IR829KJK#dir | i bundle
6 -rw- 186722070 Mar 1 2018 11:25:00 +00:00 ir800-universalk9-bundle.SPA.157-3.M1.bin
- Reformat the flash used for IOx. As the warning says, you will lose all user data under GOS. Usually this is not an issue as applications deployed on IOx typically do not store date on the flash (as this is not recommended due to possible flash wear-out).
IR829KJK#guest-os 1 disk-repartition 1
WARNING - Running this command will delete all application data in IOx. This operation cannot be undone. Continue? [no]: yes
Guest-OS disk repartitioning with option 1...................................
*Mar 22 08:31:35.795: %IR800_GOS_DISK_REP-6-SUCCESS_GOS_OPERATION: Successfully performed DISK REPARTITION operation for GOS.
- Reinstall GOS.
IR829KJK#bundle install flash:/ir800-universalk9-bundle.SPA.157-3.M1.bin exclude hv-IOS
Installing bundle image: /ir800-universalk9-bundle.SPA.157-3.M1.bin, exclude Hypervisor and IOS image............................................................................................................................Done!
*Mar 22 08:35:16.105: %IR800_INSTALL-6-SUCCESS_BUNDLE_INSTALL: Successfully installed bundle image.
- Start GOS and wait some time for GOS to come back:
IR829KJK#guest-os 1 start
Starting Guest OS ......... Done!
Wait a minute for GOS to fully boot up.
- Check again with the use of these steps provided under Problem:
IR829KJK#ssh -l admin 192.168.1.3
IOS user password:
IR829KJK-GOS-1:~# df -h | grep sdb
/dev/sdb 1.7G 2.6M 1.6G 1% /software
As you can see, there is 1.7gb still available after the actions for applications.