소개
이 문서에서는 SD 카드가 ext4 형식이 아닌 경우 Docker 데몬이 IE3400에서 시작하지 못하는 문제를 해결하는 방법에 대해 설명합니다.
문제
IE3400은 IOx 애플리케이션과 관련된 스토리지에 SD 카드를 사용합니다.SD 카드가 ext4 형식이 아닌 경우 문제가 발생합니다.
다음은 증상이다.
IOx GUI를 통해 애플리케이션을 구축하려고 하면 다음 메시지가 표시됩니다.
Application Deployment Failed: Invalid Archive file: Unable to extract docker rootfs /flash11/iox/tmpArchiverPznor to /flash11/iox/tmpExtractYXZJbE/rootfs Error:global name 'app_mount_dir' is not defined
로그/콘솔에서 이러한 메시지는 IOx를 활성화하거나 재부팅 후 IOx가 시작될 때 표시됩니다.
ie3400#conf t
Enter configuration commands, one per line. End with CNTL/Z.
ie3400(config)#iox
Warning: Do not remove SD flash card when IOx is enabled or errors on SD device could occur.
*Feb 21 12:45:27.045: %UICFGEXP-6-SERVER_NOTIFIED_START: R0/0: psd: Server iox has been notified to start
*Feb 21 12:45:30.737: %PMAN-3-PROCFAIL: R0/0: root: The process dockerd has failed (rc 1)
*Feb 21 12:45:32.184: %PMAN-3-PROCHOLDDOWN: R0/0: root: The process dockerd has been helddown (rc 1)
*Feb 21 12:46:57.983: %IM-6-IOX_ENABLEMENT: R0/0: ioxman: IOX is ready.
솔루션
이 문제는 SD 카드의 파일 시스템과 관련이 있습니다.FAT/vFAT와 같이 ext4 이외의 다른 포맷으로 카드를 포맷한 경우 문제가 나타납니다.
SD-card에서 현재 파일 시스템을 확인하기 위해 다음 항목을 사용할 수 있습니다.
ie3400#sh sdflash: file
Filesystem: sdflash
Filesystem Path: /flash11
Filesystem Type: vfat
Mounted: Read/Write
출력에 나와 있는 것처럼 이 SD 카드는 FAT/vFAT로 포맷되었습니다.
이 문제를 해결하려면 먼저 IOx를 중지/비활성화합니다.
ie3400#conf t
Enter configuration commands, one per line. End with CNTL/Z.
ie3400(config)#no iox
Notify IOx to stop. To safely remove SD card, please wait until IOx is stopped.
*Feb 21 12:48:01.615: %UICFGEXP-6-SERVER_NOTIFIED_STOP: R0/0: psd: Server iox has been notified to stop
show iox 명령을 사용하여 완전히 중지되었는지 확인합니다.
ie3400#sh iox
IOx Infrastructure Summary:
---------------------------
IOx service (CAF) : Not Running
IOx service (HA) : Not Supported
IOx service (IOxman) : Not Running
IOx service (Sec storage) : Not Supported
Libvirtd 1.3.4 : Running
Dockerd : Not Running
다음으로, IOx와 함께 사용할 카드를 올바르게 포맷합니다. 이 명령을 사용할 수 있습니다.
SD 카드의 모든 데이터가 지워집니다.
ie3400#format sdflash: ext4
Format operation may take a while. Continue? [confirm]
Format operation will destroy all data in "sdflash:". Continue? [confirm]
format completed with no errors
Format of sdflash: complete
완료되면 IOx를 다시 시작/활성화합니다.
ie3400#conf t
Enter configuration commands, one per line. End with CNTL/Z.
ie3400(config)#iox
Warning: Do not remove SD flash card when IOx is enabled or errors on SD device could occur.
*Feb 21 12:49:18.310: %UICFGEXP-6-SERVER_NOTIFIED_START: R0/0: psd: Server iox has been notified to start
*Feb 21 12:49:48.165: %IM-6-IOX_ENABLEMENT: R0/0: ioxman: IOX is ready.
보시다시피 dockerd와 관련된 오류 메시지가 더 이상 표시되지 않으며 이 명령 show iox를 사용하여 상태를 확인합니다.
ie3400#sh iox
IOx Infrastructure Summary:
---------------------------
IOx service (CAF) 1.10.0.1 : Running
IOx service (HA) : Not Supported
IOx service (IOxman) : Running
IOx service (Sec storage) : Not Supported
Libvirtd 1.3.4 : Running
Dockerd 18.03.0 : Running