كيفية استعادة Home Assistant بعد فشل تحديث الحاوية

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

يُفترض عادةً التعامل مع فشل تحديث حاوية Home Assistant باعتباره مشكلة استبدال لبيئة التشغيل، لا سببًا لإنشاء تثبيت جديد. إذا كان مجلد /config المُثبت من المضيف سليمًا، فإن مسار الاسترداد الأكثر أمانًا هو الحفاظ على هذه الحالة، والتحقق من تعيين وحدة التخزين، وتشغيل صورة معروفة بسلامتها، واختبار التثبيت الحالي قبل استعادة نسخة احتياطية أقدم.

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

أوقف عمليات الكتابة الجديدة واعثر على مسار /config الحقيقي

أوقف الحاوية الفاشلة وافحص تعريف بيئة التشغيل التي أنشأتها. تأكد من المجلد المضيف أو وحدة التخزين المسماة المعينة إلى /config، ثم افحص ذلك الموقع بحثًا عن ملفات YAML و.storage والمكونات المخصصة والأسرار وقاعدة البيانات.

وجدت حالة استرداد مجتمعية بعد ترقية Docker أن نسخة Home Assistant التي بدت «جديدة تمامًا» كانت في الواقع ناتجة عن توجيه الحاوية إلى مجلد الإعدادات الخطأ. لم تُمحَ البيانات الدائمة؛ بل إن بيئة التشغيل البديلة لم تكن تثبتها بشكل صحيح.

انسخ مجلد الإعدادات الحالي أو أنشئ لقطة له قبل تغيير الملكية أو المسارات أو ملفات قاعدة البيانات. حتى الحالة المعطلة جزئيًا تُعد دليلًا مهمًا، وقد تحتوي على أتمتات أو بيانات اعتماد أحدث من آخر نسخة احتياطية.

أعد إنشاء بيئة التشغيل دون إعادة إنشاء التثبيت

استخدم وضع الشبكة نفسه، والمنطقة الزمنية نفسها، وتعيينات الأجهزة، والوصول إلى أجهزة الراديو عبر USB، والصلاحيات أو القدرات، وتثبيت /config من المضيف التي استخدمتها الحاوية العاملة قبل التحديث. يمكن استبدال الصورة؛ أما مدخلات بيئة التشغيل هذه والبيانات الدائمة فهي التي تحدد ما إذا كانت الخدمة ستعود باعتبارها نسخة Home Assistant نفسها.

تعتمد استمرارية الحاوية على التثبيت من المضيف، لا على نظام ملفات الحاوية. يوضح مثال Home Assistant Container تثبيت وحدة تخزين دائمة من المضيف مباشرةً على /config، ولذلك فإن إعادة إنشاء بيئة التشغيل لا تعيد إنشاء إعدادات المنزل. وإذا تغير هذا التعيين أثناء التحديث، فقد تبدو الحاوية البديلة جديدة بينما لا تزال الحالة الأصلية موجودة في مكان آخر.

لا تنسخ نظام ملفات الحاوية القديمة إلى الصورة الجديدة. أعد إنشاء النشر انطلاقًا من تعريف Compose أو run موثق، وأعد توصيل الحالة الدائمة بشكل صريح.

أعد الصورة إلى إصدار سابق قبل استعادة حالة أقدم

إذا كان تثبيت الإعدادات صحيحًا، لكن إصدار Home Assistant الجديد يفشل في البدء أو يعطل تكاملًا مهمًا، فاختبر الصورة السابقة المعروفة بسلامتها باستخدام /config المحفوظ نفسه. يتيح ذلك التمييز بين «بيئة تشغيل جديدة غير متوافقة مع الحالة الحالية» و«تلف الحالة نفسها».

يفصل سير عمل Home Assistant Container الحالي صراحةً بين الصورة والحالة الدائمة: أنشئ نسخة احتياطية أولًا، واسحب الصورة المستهدفة، وأعد إنشاء الحاوية، واستخدم وسم صورة أقدم محددًا عند الحاجة إلى الرجوع إلى إصدار سابق. هذه هي حدود الاسترداد التي ينبغي الحفاظ عليها: استبدال بيئة التشغيل مع إبقاء مسار الإعدادات المعتمد سليمًا.

عند الرجوع إلى إصدار سابق، تذكر أن بعض الترقيات تُجري ترحيلًا لهياكل البيانات. استخدم نسخة احتياطية أُخذت قبل الترحيل إذا كان الإصدار الأقدم لا يستطيع قراءة الحالة التي تمت ترقيتها بأمان بواسطة الإصدار الأحدث. لا تتنقل مرارًا بين الإصدارات باستخدام النسخة الوحيدة من البيانات الدائمة.

استعد نسخة احتياطية فقط عندما تصبح الحالة الحالية غير موثوقة

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

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

يؤكد مثال ZimaSpace الخاص بـفصل استرداد Home Assistant عن مضيف التخزين نفسه القاعدة ذاتها: تحتاج حالة التطبيق إلى مسار استعادة مستقل، لا إلى قرص حي منسوخ فقط.

تحقق من الحاوية المستعادة قبل حذف أي شيء

  • تأكد من وجود المستخدمين ولوحات المعلومات والتكاملات والأتمتات والمساعدات والمناطق المتوقعة.
  • تحقق من مسار جهاز محلي واحد ومسار واحد يعتمد على الراديو إذا كنت تستخدم Zigbee أو Z-Wave أو Bluetooth.
  • افحص Recorder بحثًا عن أخطاء قاعدة البيانات أو الترحيل.
  • أعد تشغيل الحاوية المستعادة وتأكد من عودة الحالة نفسها.
  • احتفظ بوسم الصورة القديمة ونسخة الإعدادات وآخر نسخة احتياطية معروفة بسلامتها حتى ينجح الإقلاع الثاني.

إذا عملت الصورة القديمة مع الإعدادات الأصلية، فكان التحديث الفاشل في الأساس مشكلة في بيئة التشغيل أو الإصدار. وإذا فشلت جميع الصور مع الحالة نفسها، فانتقل إلى إصلاح الإعدادات أو استعادة نسخة احتياطية. وإذا عملت حاوية نظيفة فقط باستخدام /config فارغ، فلا تعتبر الإعداد الجديد «حلًا» قبل أن تفهم ما الذي يمنع الاسترداد في الحالة الدائمة.

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

هل ينبغي أن أحذف حاوية Home Assistant الفاشلة قبل استكشاف المشكلة وإصلاحها؟

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

لماذا يعرض Home Assistant شاشة الإعداد بعد التحديث؟

السبب الأكثر شيوعًا الخاص بالحاويات هو أن بيئة التشغيل البديلة لا ترى مسار /config الأصلي. تحقق من تثبيت المضيف قبل افتراض أن الإعدادات مُحيت أو استعادة نسخة احتياطية أقدم فوق حالة أحدث.

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

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

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.