مستودع Restic مقفول بعد تعطل مفاجئ: الأسباب، وعمليات التحقق، والحلول

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

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

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

اقرأ هوية القفل قبل اتخاذ أي إجراء

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

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

إذا كان معرّف العملية (PID) حيًا وكانت السجلات تتقدم، فانتظر المهمة أو أوقفها عبر مدير الخدمة؛ ولا تفتح القفل من تحتها. وإذا لم تكن العملية موجودة ولم يُعِد المضيف تشغيل المهمة نفسها، يصبح القفل مرشحًا لأن يكون قديمًا. أما إذا كان المضيف غير قابل للوصول أو كانت رؤية الواجهة الخلفية غير متسقة، فتبقى الحالة غير مُتحقَّقة ولا يوجد مبرر لاتخاذ إجراء هدّام.

ميّز بين مؤشرات الأقفال الأربعة

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

يساعد الترتيب الشامل لاستكشاف أخطاء Restic وإصلاحها على إبقاء أقفال المستودع وفشل prune واحتمال التلف ضمن مسارات منفصلة، حتى لا يُطبَّق إصلاح القفل القديم على عطل في التخزين.

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

امسح القفل القديم المثبت فقط

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

قد يؤدي فشل قفل قديم في العالم الحقيقي إلى إيقاف جدول نسخ احتياطي كان مستقرًا، لكن عمر حالة واحدة لا يحدد حدًا عامًا آمنًا للحذف.

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

-15% OFF

أعد اختبار العملية الأصلية وراقب تكرار المشكلة

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

إذا أصبح المستودع للقراءة فقط أو فشلت الصيانة بعد إزالة القفل، فاتبع مسار التعافي المنفصل من عملية prune المتقطعة بدلًا من فتح القفل مرارًا.

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

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

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

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.