كيفية إزالة قفل Restic العالق دون مقاطعة عملية نسخ احتياطي نشطة

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

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

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

أوقف المهام الجديدة وحدد كل مالكي الأقفال

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

قد يؤدي فحص المستودع الحصري إلى حظر الأعمال الأخرى، كما يمكن أن يبدو قفل فحص متقطع كأنه قفل نسخ احتياطي متروك، إلى أن تتم مطابقة العملية والمالك.

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

تحقق من أن القفل قديم بما يتجاوز عمره

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

يتعامل سير عمل مستودع Restic الكامل مع إلغاء القفل باعتباره عملية إدارية واحدة ضمن النسخ الاحتياطية، وعمليات الفحص، والاحتفاظ، والاستعادة؛ وليس بديلًا عن تحديد من لا يزال يملك المستودع.

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

استخدم أولًا التنظيف القياسي للقفل القديم

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

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

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

-15% OFF

تحقق من النسخ الاحتياطي الأصلي ومن التشغيل المجدول التالي

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

إذا تصرف المستودع بوضع القراءة فقط أو ظلت الصيانة غير مكتملة، فأبقِ حالة 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.