目錄

簡介

問題

解決方案

簡介

本文檔介紹如何解決當SD卡不是ext4格式時Docker守護程式無法在IE3400上啟動的問題。

問題

IE3400使用SD卡儲存與IOx應用程式相關的資料。如果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卡的檔案系統有關。如果卡的格式不是ext4，例如FAT/vFAT，則問題似乎出現。

為了檢查SD卡上的當前檔案系統，可以使用以下命令：

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