简介
本文档介绍如何克服IR800平台上IOx空间不足的问题,在该平台上,似乎只有704mb可用于应用部署。
问题
在大多数IR800系列设备上:IR809和IR829开箱即用,似乎只有704mb可用于部署IOx应用和容器。而闪存大小最多允许1.7gb的空间。
此问题有其历史根源,因为IR800平台上的IOx的最初版本就是基于此限制设计的。后来,限制被删除,但为了让空间可供使用,需要重新分区并删除数据,升级时此操作不会自动发生。
要检查您的设备是否具有此限制,请执行以下步骤:
对于运行新版本(如15.9(3)M)的设备,SSH访问默认处于禁用状态,需要先启用,然后执行以下步骤。
这可以按如下方式进行:
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.
启用SSH访问后:
- 查找您的设备上配置的访客OS(GOS)使用的IP地址:
IR829KJK#sh ip dhcp bind | i 908b
192.168.1.3 0102.0001.908b.05 Infinite Manual
- 通过SSH连接到GOS的IP地址,并使用特权15用户登录:
IR829KJK#ssh -l admin 192.168.1.3
IOS user password:
IR829KJK-GOS-1:~#
- 检查/software装载的大小,如下所示:
IR829KJK-GOS-1:~# df -h | grep sdb
/dev/sdb 704M 11M 656M 2% /software
如果此处的大小是704mb,请确认您遇到了已知问题。
解决方案
要解决此问题,您可以重新格式化闪存并使用完全容量,如下所示:
- 确保您的捆绑包安装将已安装的IOS®版本附加到设备上:
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
- 重新格式化用于IOx的闪存。正如警告中所说,您将丢失GOS下的所有用户数据。通常,这并不是问题,因为在IOx上部署的应用通常不会将日期存储在闪存上(由于可能会出现闪存磨损,因此不建议这样做)。
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.
- 重新安装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.
- 启动GOS并等待一段时间,让GOS返回:
IR829KJK#guest-os 1 start
Starting Guest OS ......... Done!
Wait a minute for GOS to fully boot up.
- 再次使用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
您可以看到,在应用操作之后,仍有1.7gb可用。