سيتضمن Linux 6.2 تحسينات على RAID5 و RAID6 في Btrfs

نواة لينكس

نواة لينكس

تم الكشف مؤخرا عن ذلك تم اقتراح تحسينات على Btrfs لإدراجها في نواة Linux 6.2 لإصلاح مشكلة ثقب الكتابة في تنفيذ RAID 5/6.

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

إذا حاولت إعادة إنشاء RAID في هذه الحالة ، فقد تتلف الكتل المقابلة للكتل المشتركة لأن حالة كتل RAID غير متزامنة. تحدث هذه المشكلة في أي مجموعة RAID1 / 5/6 حيث لا يتم اتخاذ تدابير خاصة لمكافحة هذا التأثير.

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

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

في حالة btrfs ، تكون هذه المشكلة أكثر صلة إذا كانت الكتابة التي تحدث أصغر من الشريط. في هذه الحالة ، يجب أن يقوم نظام الملفات بإجراء عملية القراءة والتعديل والكتابة (RMW).

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

لسوء الحظ ، في الحالة التي تتم فيها كتابة هامش غير كامل (RMW) ، فإن هذا يخلق عبءًا إضافيًا لحساب المجاميع الاختبارية ، ولكنه يزيد بشكل كبير من الموثوقية. بالنسبة لـ RAID6 ، هذا المنطق ليس جاهزًا بعد ،

بالإضافة إلى ذلك ، يمكننا ملاحظة التوصيات المتعلقة باستخدام RAID5 / 6 من المطورين ، وجوهرها هو أنه في Btrfs ، قد يختلف ملف تعريف تخزين البيانات الوصفية والبيانات. في هذه الحالة ، يمكنك استخدام ملف تعريف RAID1 (معكوس) أو حتى RAID1C3 (3 نسخ) لبيانات التعريف ، و RAID5 أو RAID6 للبيانات.

وهذا يضمن حماية موثوقة للبيانات الوصفية وعدم وجود "فجوة كتابة" من ناحية ، واستخدام أكثر كفاءة للمساحة ، وهو نموذجي لـ RAID5 / 6 ، من ناحية أخرى. هذا يمنع تلف بيانات التعريف ويمكن تصحيح تلف البيانات.

أيضا يمكن ملاحظة أنه بالنسبة لمحركات أقراص الحالة الثابتة على Btrfs في kernel 6.2 ، la تنفيذ غير متزامن لعملية "تجاهل" (وضع علامة على الكتل المحررة التي لم يعد من الممكن تخزينها فعليًا) سيتم تشغيلها افتراضيًا.

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

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


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: AB Internet Networks 2008 SL
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.