المقدمة
يصف هذا وثيقة كيف أن يثبت إصدار حيث Docker daemon يفشل أن يبدأ على IE3400 عندما ال SD-card ليس ext4-format.
المشكلة
يستخدم IE3400 بطاقة SD للتخزين المتصل بتطبيقات IOx. في حالة عدم تهيئة بطاقة SD بتنسيق ext4، يتسبب ذلك في حدوث مشاكل.
هذه هي الأعراض:
عند محاولة نشر تطبيق من خلال واجهة المستخدم الرسومية (GUI) ل IOx، تظهر هذه الرسالة:
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. إذا كانت البطاقة مهيأة بشيء آخر غير الهاتف الفرعي 4، على سبيل المثال، 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.
كما ترى، لم تعد رسائل الخطأ المتعلقة بالمستند مرئية وتستخدم هذا الأمر 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