حلّ المجتمع

حالة حماية RAID5 في ZimaOS: نظيفة أم قيد إعادة البناء؟

A four-disk RAID5 showed Protecting after creation; mdstat showed [UUUU], and the user verified sync_action=idle and array_state=clean.

ظهور كلمة «Protecting» على RAID5 لا يعني تلقائيًا أنه عالق أو قيد إعادة البناء. في الحالة المصدر، أظهر /proc/mdstat وجود الأعضاء الأربعة جميعًا بصيغة [UUUU]، بينما أعاد sync_action القيمة idle وأعاد array_state القيمة clean. وهذه حالة صحية لـ mdraid.

لذلك قد تكون التسمية «Protecting» مجرد عرض للحالة الوقائية/حالة التكافؤ في ZimaOS، وليست دليلًا على وجود إعادة بناء نشطة. تحقّق من حالة المصفوفة الأساسية قبل مقاطعتها.

اقرأ ‎/proc/mdstat‎ أولًا

cat /proc/mdstat

بالنسبة إلى RAID5 مكوّن من أربعة أقراص، تعني [UUUU] أن خانات الأعضاء الأربعة المتوقعة نشطة. أما الشرطة السفلية المفقودة مثل [UU_U] فتشير إلى عضو مفقود أو متعطل.

تحقّق مما إذا كانت هناك مزامنة قيد التشغيل

cat /sys/block/md0/md/sync_action

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

تحقّق من حالة مصفوفة md

cat /sys/block/md0/md/array_state

تعني clean أن md يعتبر المصفوفة متسقة وغير متسخة.

افهم الصورة النقطية لنية الكتابة

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

قارن ذلك بسلوك RAID الحالي في ZimaOS

يوضح دليل RAID في ZimaOS الحالي أن RAID5 يفعّل التكافؤ تلقائيًا، وأن التهيئة يمكن أن تستمر مع بقاء المصفوفة قابلة للاستخدام.

متى تحتاج حالة Protecting إلى التحقيق؟

أجرِ تحقيقًا إذا أظهر /proc/mdstat إعادة بناء أو إعادة مزامنة، أو أظهر عضوًا مفقودًا واحدًا أو أكثر، أو أخطاء إدخال وإخراج متكررة، أو حالة Degraded في الواجهة، أو إذا لم تكن قيمة array_state هي clean عندما تتوقع ذلك.

لا توقف المصفوفة لمجرد إزالة التسمية

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

أنشئ نسخة احتياطية حتى عندما يكون RAID سليمًا

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

يغطي دليل تخطيط النسخ الاحتياطي هذه الطبقة الثانية.

قد تظهر Protecting بعد الإنشاء أو التوسعة

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

تحقّق من أخطاء الإدخال والإخراج المخفية

dmesg | grep -Ei 'md0|nvme|error|timeout|reset' | tail -100

إذا كانت المصفوفة نظيفة، لكن النواة تسجّل عمليات إعادة ضبط متكررة لـ NVMe أو أخطاء إدخال وإخراج، فتحقّق من القرص المتأثر أو مسار PCIe بدل اعتبار الحالة تجميلية فحسب.

سجّل خط أساس سليمًا

احفظ نسخة من /proc/mdstat وarray_state والأرقام التسلسلية للأعضاء أثناء سلامة المصفوفة. وإذا أصبحت لاحقًا في حالة Degraded، فسيكون لديك مرجع معروف للمقارنة.

الأسئلة الشائعة

هل تعني Protecting أن RAID قيد إعادة البناء؟

ليس بالضرورة. في الحالة المصدر، كانت قيمة sync_action هي idle وكانت المصفوفة نظيفة.

ماذا تعني [UUUU]؟

جميع أعضاء mdraid الأربعة المتوقعة نشطة.

هل ينبغي أن أنتظر قبل نسخ البيانات؟

إذا كانت التهيئة أو إعادة المزامنة جارية فعلًا، فقد ينخفض الأداء؛ تحقّق من /proc/mdstat بدل الاعتماد على التسمية وحدها.

متى يكون RAID5 غير سليم؟

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