Contenu

Introduction

Problème

Solution

Introduction

Ce document décrit comment résoudre un problème où le démon Docker ne démarre pas sur IE3400 lorsque la carte SD n'est pas formatée ext4.

Problème

L'IE3400 utilise la carte SD pour le stockage lié aux applications IOx. Si la carte SD n'est pas formatée en ext4, cela entraîne des problèmes.

Voici les symptômes :

Lorsque vous tentez de déployer une application via l'interface utilisateur graphique IOx, ce message s'affiche :

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

À partir du journal/de la console, ces messages s'affichent lorsque vous activez IOx ou lorsque IOx démarre après un redémarrage.

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.

Solution

Ce problème est lié au système de fichiers de la carte SD. Si la carte est formatée avec autre chose que ext4, par exemple FAT/vFAT, le problème semble apparaître.

Afin de vérifier le système de fichiers actuel sur la carte SD, ceci peut être utilisé :

ie3400#sh sdflash: file

Filesystem: sdflash

Filesystem Path: /flash11

Filesystem Type: vfat

Mounted: Read/Write

Comme vous pouvez le voir dans le résultat, cette carte SD a été formatée en FAT/vFAT.

Pour résoudre ce problème, arrêtez/désactivez d'abord 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

Utilisez la commande show iox pour vous assurer qu'elle est complètement arrêtée.

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

Ensuite, formatez la carte correctement pour l'utiliser avec IOx, vous pouvez utiliser cette commande.

N'oubliez pas que cela efface toutes les données de la carte 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

Une fois terminé, redémarrez/activez 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.

Comme vous pouvez le voir, les messages d'erreur concernant dockerd ne sont plus visibles et utilisez cette commande show iox pour vérifier l'état.

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