ما الذي يتسبب في فقدان حاوية LXC إمكانية الوصول إلى الجهاز بعد إعادة تشغيل المضيف؟

إيفا وونغ هي كاتبة تقنية و ومهندسة هاوية في ZimaSpace. مهووسة بالتكنولوجيا مدى الحياة ولديها شغف بالمختبرات المنزلية والبرمجيات مفتوحة المصدر، تتخصص في تبسيط المفاهيم التقنية المعقدة إلى أدلة عملية وسهلة الفهم. تؤمن إيفا بأن الاستضافة الذاتية يجب أن تكون ممتعة وليست مخيفة. من خلال دروسها، تمكّن المجتمع من تبسيط إعدادات الأجهزة، بدءًا من بناء أول نظام تخزين شبكي NAS وحتى إتقان حاويات Docker.

غالبًا ما تفقد حاوية LXC الوصول إلى الجهاز بعد إعادة تشغيل المضيف، لأن المضيف يعيد إنشاء الجهاز بمسار أو حالة أذونات أو توقيت بدء مختلف.

تعامل مع إعادة التشغيل باعتبارها حدثًا في دورة حياة أجهزة المضيف. تأكد من اكتشاف العتاد قبل بدء LXC، وقارن المعرّفات الثابتة بأسماء الأجهزة المتغيرة، وتحقق من أذونات udev الدائمة وقواعد وصول الحاوية، ثم أجرِ إعادة تشغيل باردة. إن إعادة تشغيل الحاوية التي تحل المشكلة مؤقتًا تُعد دليلًا على وجود مشكلة في التوقيت، وليست إصلاحًا دائمًا.

تأكد من أن المضيف يعيد إنشاء الجهاز بعد إعادة التشغيل

قبل بدء الحاوية، تحقق من أن المضيف يكتشف جهاز USB أو الجهاز التسلسلي أو وحدة معالجة الرسومات أو أي جهاز آخر، وسجّل معرّف البائع ومعرّف المنتج والرقم التسلسلي وأرقام major-minor والمسار الحالي.

توصي إرشادات تمرير الأجهزة في المختبرات المنزلية باستخدام تمرير USB ثابت بدلًا من افتراض أن اسم جهاز متغير سيشير دائمًا إلى العتاد نفسه بعد التعداد.

إذا لم يرَ المضيف الجهاز نفسه، فتوقف عند طبقة المضيف. يجب إصلاح مشكلات إعادة التوصيل أو البرامج الثابتة أو وحدة التحكم أو الطاقة أو اكتشاف النواة قبل أن ينجح أي إعداد لـ LXC.

استبدل أسماء الأجهزة المتغيرة بهوية ثابتة

قارن المسارات قبل إعادة التشغيل وبعدها. قد تتبدل أرقام ttyUSB في محولات USB التسلسلية، وقد يجري تعداد الأجهزة المتشابهة بترتيب مختلف بعد بدء تشغيل المضيف.

يوضح دليل تمرير USB إلى LXC سبب نجاح تمرير الجهاز إلى LXC فقط عندما يظل كائن المضيف الذي تشير إليه الحاوية محددًا للعتاد المقصود.

استخدم مسارًا ثابتًا من by-id أو رابطًا رمزيًا ينشئه udev عمدًا عندما تدعم فئة الجهاز ذلك. لا توسّع وصول الحاوية إلى جميع أجهزة USB لمجرد إخفاء تغير ترتيب التعداد.

اجعل أذونات الجهاز تستمر بعد إعادة إنشائه

تحقق من المالك والمجموعة والوضع وأذونات cgroup وتعيين الحاوية بعد إعادة التشغيل. لا يستمر استخدام chmod اليدوي على عقدة الجهاز، لأن udev قد يعيد إنشاء تلك العقدة.

يستخدم مثال لتمرير جهاز Z-Wave تعيينًا دائمًا للجهاز للحفاظ على إمكانية الوصول إلى الجهاز التسلسلي عبر تغييرات المضيف، بدلًا من الاعتماد على تعديل أذونات يُجرى مرة واحدة.

حدّد قاعدة الملكية أو المجموعة المطلوبة في إعداد إدارة الأجهزة الدائم على المضيف، وامنح الحاوية فئة الأجهزة التي تحتاج إليها فقط.

-15% OFF

تحقق مما إذا كانت الحاوية تبدأ مبكرًا جدًا

أعد تشغيل المضيف وقارن الطوابع الزمنية لإنشاء الجهاز وبدء تشغيل LXC. قد تبدأ الحاوية بنجاح بينما لم يكتمل تعداد العتاد الذي تتوقعه بعد.

توضح إرشادات تعيين أجهزة USB في Proxmox أن تمرير USB يعتمد على إتاحة المضيف للجهاز أولًا؛ ويصبح هذا الترتيب بالغ الأهمية أثناء عمليات إقلاع الخوادم المنزلية غير المراقبة.

أضف تبعية محددة المدة أو فحصًا لجاهزية الجهاز بدلًا من استخدام مهلة نوم طويلة وعشوائية. ينبغي أن تفشل الحاوية بوضوح أو تنتظر لفترة قصيرة عند غياب الجهاز المطلوب.

أجرِ تحققًا كاملًا بعد إعادة التشغيل

بعد إصلاح الهوية أو الأذونات أو الترتيب، أعد تشغيل المضيف باردًا مرتين واختبر العملية الفعلية للتطبيق الذي يستخدم الجهاز، وليس مجرد التحقق من وجود عقدة داخل LXC.

يربط دليل إعداد الخادم المنزلي في Proxmox ذي الصلة من ZimaSpace الإصلاح بإعداد قابل لإعادة الإنتاج لخادم Proxmox المنزلي، بدلًا من حل بديل يعمل لجلسة واحدة فقط.

لا تُعد المشكلة محلولة إلا عندما يظهر الجهاز الفعلي نفسه مع أذونات الوصول المقصودة بعد عمليات إقلاع متكررة. إذا كانت الهوية ثابتة لكن الوصول لا يزال يفشل، فاحتفظ بسجلات الرفض من المضيف والحاوية للانتقال إلى الطبقة التالية.

الأسئلة الشائعة

لماذا تؤدي إعادة تشغيل الحاوية أحيانًا إلى استعادة الجهاز؟

قد يكون الجهاز قد ظهر بعد بدء تشغيل الحاوية. وعند إعادة تشغيلها لاحقًا، تعثر على عقدة جهاز المضيف التي اكتمل إنشاؤها، لكن ذلك يخفي اعتماد بدء التشغيل على الترتيب الزمني فحسب.

هل ينبغي أن أعيّن جهاز USB عبر ‎/dev/ttyUSB0؟

فضّل استخدام هوية ثابتة عندما توفرها فئة الجهاز. فقد تتغير أسماء الأجهزة الرقمية أثناء تعداد العتاد بعد إعادة التشغيل.

هل يمكن أن تُعاد تهيئة الأذونات حتى عندما يظل مسار الجهاز نفسه؟

نعم. قد يعيد udev إنشاء العقدة بالمالك والمجموعة والوضع المحددة في إعداداته، لذلك قد تختفي تغييرات chmod اليدوية عند إعادة الاتصال أو إعادة التشغيل التالية.

الدعم والنصائح

المزيد للقراءة

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.