目录

简介

问题

解决方案

简介

本文档介绍如何克服IR800平台上IOx空间不足的问题，在IR800平台中，似乎只有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访问后：

1. 查找访客操作系统(GOS)使用的IP地址，如您的设备上配置：

IR829KJK#sh ip dhcp bind | i 908b

192.168.1.3         0102.0001.908b.05       Infinite                Manual

2. SSH到GOS的IP地址，并以15用户权限登录：

IR829KJK#ssh -l admin 192.168.1.3

IOS user password:

IR829KJK-GOS-1:~#

3. 按如下方式检查/software装载的大小：

IR829KJK-GOS-1:~# df -h | grep sdb

/dev/sdb                704M   11M  656M   2% /software

如果此处的大小为704mb，请知道您已遇到已知问题。

解决方案

要解决此问题，您可以重新格式化闪存并使用完整容量，如下所示：

1. 确保在设备上安装了捆绑包，该捆绑包将安装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

2. 重新格式化用于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.

3. 重新安装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.

4. 启动GOS，等待一段时间，让GOS恢复：

IR829KJK#guest-os 1 start

Starting Guest OS ......... Done!

Wait a minute for GOS to fully boot up.

5. 使用“问题：

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可用。