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

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

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

كيفية إزالة قفل Restic العالق دون مقاطعة عملية نسخ احتياطي نشطة
سير عمل لفتح قفل Restic بأقل قدر من التدخل، يحمي عمليات النسخ الاحتياطي النشطة، ويزيل الحالة القديمة فقط، ويؤكد الاسترداد وفق الجدول المعتاد.

