لماذا تتوقف موازنة Btrfs بعد نقل البيانات إلى محرك أقراص أكبر؟

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

قد تبدو موازنة Btrfs متوقفة بعد إضافة محرك أكبر، لأن عملية إعادة التوزيع لا تزال تحتاج إلى مساحة عمل حرة للكتل وقد تنقل نظام الملفات بالكامل.

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

تأكد مما إذا كانت الموازنة قيد التشغيل أو متوقفة مؤقتًا أو في وضع الانتظار

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

قد تستغرق الموازنة وقتًا طويلًا في إعادة توزيع مجموعة كتل واحدة مستخدمة بكثافة قبل أن يتغير العداد الظاهر. يوضح دليل Btrfs في ArchWiki استخدام حالة الموازنة واستخدام نظام الملفات للتمييز بين العمل المستمر والأمر الذي توقف بالفعل.

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

تحقق من تغيير حجم الجهاز الأكبر ونظام الملفات

قارن بين حجم الجهاز الفعلي وحجم القسم وحجم جهاز Btrfs وتخصيص نظام الملفات. قد يظل قرص الاستبدال الأكبر يعرض حدود القسم القديمة أو حجم جهاز Btrfs القديم.

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

يوفر مقال ZimaSpace حول عدم زيادة السعة بعد استبدال محرك فحصًا طبقيًا مكملًا قبل إلقاء اللوم على إعادة التوزيع.

ميّز بين البايتات الحرة ومساحة العمل الحرة للكتل

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

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

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

-15% OFF

تحقق مما إذا بدأت موازنة كاملة دون عوامل تصفية

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

قد تستغرق الموازنة الكاملة ساعات أو أيامًا، لأن كل مجموعة كتل محددة يُعاد كتابتها. ويحذّر دليل btrfs-balance في Linux من أن التشغيل دون عوامل تصفية ينقل البيانات والبيانات الوصفية عبر نظام الملفات بالكامل ويحدّث جميع مؤشرات الكتل.

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

تحقق من الأجهزة البطيئة والأخطاء والعمليات الحصرية المتنافسة

افحص بيانات SMART وأخطاء النقل وإعادة ضبط الاتصال وانتهاء مهلات USB أو SATA ووقت الاستجابة لكل جهاز. تتقيد سرعة الموازنة بالقراءة من المواقع القديمة والكتابة إلى المواقع الجديدة والتحقق من المجاميع الاختبارية وتحديثات البيانات الوصفية.

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

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

استخدم عوامل تصفية وحدودًا ضيقة لإعادة تشغيل مضبوطة

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

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

أوقف العملية مؤقتًا أو استأنفها أو ألغها عبر عناصر التحكم المدعومة للموازنة بدلًا من إنهاء العملية بالقوة. تأكد من اكتمال مجموعة الكتل الحالية ومن توافق حالة الموازنة المحفوظة مع الإجراء التالي.

تحقق من التوزيع والسعة بعد الموازنة

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

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

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

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

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

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.