حلّ المجتمع

نظام ZimaOS للقراءة فقط بعد انقطاع الطاقة: خطوات الاسترداد الآمنة

After a power outage, a ZimaOS 1.4.0 RAID1 volume mounted read-only and returned I/O errors; the user restored it with filesystem repair.

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

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

كيف ظهر العطل

كان الخادم يستخدم مصفوفة RAID1 بسعة 2 تيرابايت. بعد انقطاع التيار، تعذّر فتح الملفات بشكل موثوق عبر Windows SMB، كما فشل إنشاء مجلد مباشرةً في متصفح ملفات ZimaOS لأن وحدة RAID أصبحت للقراءة فقط.

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

إصلاح المنتدى كان مُتحققًا منه من قِبل المستخدم

وصّل المستخدم شاشة ولوحة مفاتيح، وسجّل الدخول بامتيازات مرتفعة، وحدد جهاز نظام ملفات Linux باستخدام fdisk -l، وشغّل fsck -f على جهاز RAID، ثم كرر الفحص عندما بقيت الأخطاء، وأعاد التشغيل. وأفاد بأن ذلك أعاد سلوك القراءة والكتابة الطبيعي.

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

اتبع ترتيبًا منخفض المخاطر للاستعادة

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

توسّع قائمة التحقق الخاصة بوحدة التخزين للقراءة فقط في هذه العملية لأنظمة ext4 وXFS وBtrfs وZFS. وهي نقطة بداية أفضل من افتراض أن كل مصفوفة ZimaOS يجب أن تتلقى أمر fsck نفسه.

كيفية الوصول إلى الطرفية الحالية في ZimaOS

يوفّر ZimaOS الحالي بروتوكول SSH وطرفية ويب مدمجة من خلال وضع المطوّر. ويوثّق إعداد SSH الحالي طرق الوصول هذه.

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

امنع تحوّل العطل نفسه إلى فقدان للبيانات

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

الخلاصة

تم حل حالة المنتدى فعلًا باستخدام إصلاح نظام الملفات، لكن الدرس ليس «شغّل fsck -f بعد كل انقطاع للتيار». الدرس الصحيح هو: احفظ البيانات القابلة للقراءة، وحدد نظام الملفات والجهاز، وألغِ التركيب عند الحاجة، واستخدم أداة الإصلاح الأصلية لنظام الملفات، ثم أعد عمليات الكتابة فقط بعد ذلك.