소개
이 문서에서는 애플리케이션 구축에 704mb만 사용할 수 있는 IR800-플랫폼에서 IOx를 위한 낮은 공간을 극복하는 방법에 대해 설명합니다.
문제
대부분의 IR800 시리즈 장치에서: IR809 및 IR829는 IOx 애플리케이션 및 컨테이너를 구축하기 위해 기본적으로 704mb만 사용할 수 있습니다. 플래시 크기는 최대 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 액세스가 활성화되면
- 디바이스에 구성된 대로 GOS(Guest-OS)에서 사용하는 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.
- 문제 아래에 제공된 다음 단계를 사용하여 다시 확인하십시오.
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는 계속 사용할 수 있습니다.