Sommario

Introduzione

Problema

Soluzione

Introduzione

In questo documento viene descritto come risolvere il problema del mancato avvio del daemon Docker in IE3400 quando la scheda SD non è in formato testo4.

Problema

IE3400 utilizza la scheda SD per lo storage relativo alle applicazioni IOx. Se la scheda SD non è formattata come ext4, si verificano problemi.

Questi sono i sintomi:

Quando si tenta di distribuire un'applicazione tramite la GUI IOx, viene visualizzato questo messaggio:

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

Dal registro/dalla console, questi messaggi vengono visualizzati quando si abilita IOx o quando IOx viene avviato dopo un riavvio.

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.

Soluzione

Questo problema è relativo al file system della scheda SD. Se la scheda è formattata con un formato diverso da ext4, ad esempio FAT/vFAT, il problema sembra essere presente.

Per controllare il file system corrente sulla scheda SD, è possibile utilizzare:

ie3400#sh sdflash: file

Filesystem: sdflash

Filesystem Path: /flash11

Filesystem Type: vfat

Mounted: Read/Write

Come si può vedere nell'output, questa scheda SD è stata formattata come FAT/vFAT.

Per risolvere il problema, arrestare/disabilitare 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

Utilizzare il comando show iox per assicurarsi che sia completamente interrotto.

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

Quindi, formattare la scheda correttamente per l'utilizzo con IOx, è possibile utilizzare questo comando.

In questo modo tutti i dati della scheda SD verranno cancellati.

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

Al termine, avviare/abilitare di nuovo 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.

Come si può vedere, i messaggi di errore relativi a dockerd non vengono più visualizzati e utilizzare questo comando show iox per controllare lo stato.

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