نعم، ولكن فقط عندما يكون مخطط التبعيات واضحًا. يمكن للخادم أن يعمل تلقائيًا بعد استعادة طاقة UPS، بينما تستمر التطبيقات في التعطل لأن التخزين أو DNS أو قواعد البيانات أو الشبكات ليست جاهزة.
ترتيب بدء العمليات ليس هو نفسه جاهزية الخدمات. استخدم تبعيات systemd لموارد المضيف، وفحوصات السلامة للحاويات والتطبيقات. ويحدد هذا الفرق الإعداد الآمن وطريقة التحقق ونقطة التراجع.
اكتب مخطط التبعيات قبل أتمتته
اكتب السلسلة بدءًا من الطاقة والشبكة، مرورًا بالأقراص المشفرة ووحدات تخزين NAS المثبتة وبيئة تشغيل الحاويات وقواعد البيانات وخدمات التطبيقات والوكيل العكسي. حدّد التبعيات المحلية والتبعيات الموجودة على خادم آخر.
امنح كل تبعية ذات حالة إشارة جاهزية: مسار مثبت، أو استعلام قاعدة بيانات، أو بحث DNS، أو نقطة نهاية لفحص صحة التطبيق. تجنب فترات الانتظار الثابتة لأن وقت الاستعادة يتغير بعد إيقاف التشغيل غير النظيف.
حدّد حالة فشل مقيدة زمنيًا حتى لا تتسبب وحدة NAS المفقودة في كتابة تطبيق ما داخل مجلد محلي فارغ.
نسّق كل طبقة تحكم
استخدم علاقات `After=` و`RequiresMountsFor=` في systemd لخدمات المضيف ووحدات التخزين البعيدة. اجعل وحدة مكدس الحاويات تعتمد على Docker ووحدات التخزين المطلوبة.
داخل Compose، أضف فحوصات صحة حقيقية واستخدم `depends_on` مع `condition: service_healthy` حيثما كان ذلك مدعومًا. ومع ذلك، ينبغي للتطبيقات إعادة محاولة الاتصال بقواعد البيانات لأن التبعيات قد تتعطل بعد بدء التشغيل.
استخدم الجدول أدناه لتعيين كل تبعية إلى الطبقة التي يمكنها مراقبتها فعليًا.
| الحالة المرصودة | القرار | الإجراء التالي |
|---|---|---|
| وحدات تخزين الأقراص وNAS | تبعيات التخزين في systemd | تقييد تشغيل الخدمات ذات الحالة |
| قاعدة البيانات جاهزة للاستعلامات | فحص صحة الحاوية | تقييد تشغيل التطبيقات |
| التطبيق الخارجي قابل للوصول | إعادة محاولة التطبيق مع المراقبة | لا تستخدم فترة انتظار ثابتة |
صمّم الاستعادة عبر خادمين
شغّل خادم التخزين أو البنية التحتية أولًا، ثم انتظر حتى تصبح المشاركات المصدّرة وقواعد البيانات سليمة قبل تشغيل خدمات التطبيقات على المضيف الثاني. ينبغي لبرنامج UPS ألا يكتفي بتشغيل كلا المضيفين في الوقت نفسه.
يوضح مقال ZimaSpace حول إشارات UPS والأجهزة الافتراضية سبب عبور سلسلة التحكم لعدة طبقات.
ويشرح دليل مستقل حول systemd وCompose حالات الت race في ترتيب بدء التشغيل وإيقافه.
احتفظ بدليل تشغيل يدوي لبدء التشغيل البارد في حال توقفت الأتمتة عند بوابة صحة فاشلة. وينبغي أن يذكر الفحص والمهلة المتوقعة وإعادة المحاولة الآمنة والمسؤول عن كل خدمة.
اختبر حالة الاستعادة الكاملة لطاقة UPS
نفّذ إيقاف تشغيل متحكمًا أثناء استخدام البطارية، ثم استعد طاقة التيار المتردد وسجّل الطوابع الزمنية لبدء تشغيل المضيف، وجاهزية وحدات التخزين، وصحة قاعدة البيانات، وصحة التطبيق، وتوفر الوكيل.
كرّر الاختبار مع NAS متأخرة، ومع استعادة لقاعدة بيانات تستغرق وقتًا أطول من المعتاد. ينبغي للخدمات أن تنتظر أو تفشل بوضوح بدلًا من البدء باستخدام حالة مفقودة.
تابع عندما تحافظ الاستعادة العادية والمتأخرة على الترتيب ومسارات البيانات. أوقف العملية إذا تجاوزت سياسات إعادة التشغيل الجاهزية، أو كتبت التطبيقات في مجلدات بديلة، أو لم تكن لإحدى التبعيات إشارة صحة قابلة للقياس.
الدعم والنصائح
المزيد للقراءة

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

هل يمكنك استخدام ميزة التنبيه عبر الشبكة المحلية (Wake-on-LAN) بعد انقطاع كامل للطاقة؟
أحيانًا - يحتاج WOL إلى طاقة الاستعداد وحالة البرنامج الثابت/بطاقة الشبكة لاستعادة التشغيل بعد عودة التيار المتردد؛ ولا يمكنه إيقاظ الجهاز أثناء انقطاع الطاقة.

هل يمكن لجهاز كمبيوتر صغير العمل دون شاشة بعد إعادة ضبط BIOS؟
عادةً نعم، لكن إعادة ضبط BIOS قد تستعيد إعدادات العرض والإقلاع والتوقف والطاقة التي تمنع بدء التشغيل الموثوق دون شاشة.

