Osegi
البرمجيات·1 دقائق قراءة

kmorph: أداة مفتوحة المصدر تنقذ نواة لينكس بعد الانهيار في ثانيتين

أطلق فريق Multikernel مشروع kmorph مفتوح المصدر، وهو يستبدل نواة لينكس بنواة احتياطية عند الانهيار أو التحديث ويعيد الخادم للعمل خلال نحو ثانيتين.

Server rack with a terminal showing a Linux kernel switching to a standby kernel after a crash.
الصورة: Хабр

كشف فريق مشروع Multikernel عن kmorph، أداة مفتوحة المصدر للتعافي السريع من انهيار نواة لينكس، ويمكن استخدامها أيضاً لاستبدال النواة أثناء التشغيل من دون إعادة تشغيل كاملة. وفي اختبارات المطورين، استأنف خادم يشغّل nginx عمله بعد نحو ثانيتين من انهيار النواة.

يطوّر المشروع Cong Wang، المشرف على نظام التحكم في الحركة (TC) في نواة لينكس.

كيف تعمل النواة الاحتياطية

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

أما kmorph فيحمّل مسبقاً في الذاكرة نواة لينكس احتياطية وبيئة نظام minimal، ويربطها بنواة معالج مستقلة لمراقبة حالة النواة الرئيسية. وإذا تجمّدت الأخيرة أو دخلت حالة الذعر (panic)، تتولى البيئة الاحتياطية زمام الأمور، وتحفظ نسخة من ذاكرة النواة المعطلة، وتستحوذ على أنوية المعالج والذاكرة والأجهزة وإعدادات الشبكة ونظام الملفات.

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

التحديثات والدعم

يصلح النهج نفسه لتحديث النواة من دون إعادة التشغيل المعتادة. وتضم نواة لينكس أصلاً آليتي Kexec HandOver (KHO) وLive Update Orchestrator (LUO)، لكنهما لا تعملان عند الانهيار لأنهما تحتاجان إلى حالة نواة تعمل، كما أنهما أبطأ لأن النواة الجديدة تُحمّل عبر kexec، بينما تكون جاهزة في الذاكرة مسبقاً مع kmorph.

يدعم kmorph حالياً معماريتي x86_64 وARM64، ويجري العمل على دعم RISC-V. ويتم دمجه في توزيعات لينكس على غرار kdump عبر dracut وinitramfs-tools وkernel-install وخدمة systemd. ويستهدف الفريق مستقبلاً تحقيق تبديل فوري لا يلحظه العملاء المتصلون.

تطبيقات تستحق النظر

SUMO: لغز الأرقام

اختر المربعات الصحيحة واجمعها وحقّق الهدف. سهل التعلم، صعب الإتقان. مجاني، لجميع الأعمار.

الوسوم:linuxkmorphmultikernelkernelkdumpopen source

المزيد من هذا اليوم

عرض الكل →

المزيد في: البرمجيات

عرض الكل →
kmorph: تعافٍ سريع من انهيار نواة لينكس · Osegi