كيفية استرداد البيانات من ZFS: ZVOLs، مجموعات البيانات، اللقطات، والأقراص الافتراضية
اقرأ عن استعادة البيانات من نظام الملفات ZFS في TrueNAS 25.04.2.6. سنراجع كيفية تحليل بنية الـ pool واستعادة البيانات من ZVOL, Dataset, Snapshot، وكذلك من الأقراص الافتراضية والآلات الافتراضية. سنغطي سيناريوهات شائعة لفقدان البيانات، بما في ذلك أعطال المصفوفة، فشل تحديثات النظام، أعطال الأجهزة، والحذف العرضي. سيتم تنفيذ جميع الإجراءات باستخدام Hetman RAID Recovery على ويندوز، بينما تتوفر قدرات مماثلة على لينكس وmacOS.

- بنية ZFS
- استعادة بيانات ZFS
- استعادة القرص الافتراضي
- الوصول إلى Snapshots في ZFS
- استعادة البيانات المحذوفة
- الخلاصة
- أسئلة وأجوبة
- التعليقات
يُعتبر نظام الملفات ZFS منذ زمن طويل من أكثر حلول تخزين البيانات موثوقية بسبب تحمله العالي للأخطاء، وفحوص تكامل البيانات المدمجة، وميزات إدارة التخزين الواسعة. بالإضافة إلى التخزين العادي للملفات، يدعم ZFS ميزات مهمة مثل ZVOL, Dataset, Snapshot والتعامل مع الأقراص الافتراضية، مما يجعله شائعًا على الخوادم، وأنظمة NAS، وبيئات الافتراضية.
ومع ذلك، حتى هذا النظام المتين ليس محصناً ضد الفشل. يمكن أن يؤدي تلف الـ pool، الحذف العرضي لـ Dataset، فقدان Snapshot، أخطاء عند العمل مع ZVOL، أو عطل في قرص افتراضي إلى فقدان الوصول إلى معلومات مهمة. في هذه الحالات من المهم فهم كيفية التصرف بشكل صحيح لتجنب تفاقم حالة التخزين ولزيادة فرص الاستعادة الناجحة إلى أقصى حد.
في هذه المقالة سنستعرض كيفية استعادة البيانات من ZFS بما في ذلك ZVOL, Dataset, Snapshot والأقراص الافتراضية، والطرق التي يمكن استخدامها لاسترجاع المعلومات، والأدوات التي ستساعد على استعادة الوصول إلى الملفات بأمان بعد فشل.
How to recover data from BTRFS RAID 0, RAID 5 and RAID 6 created on Rockstor
بنية ZFS
في نظام الملفات ZFS هناك ثلاثة أنواع رئيسية على مستوى القمة: Dataset, ZVOL and Snapshot. لكلٍ منها دوره وخيارات التهيئة الخاصة به.
Dataset هو الحاوية الأساسية للملفات داخل pool ZFS التي تعمل كملف نظام منفصل لتخزين الملفات والمجلدات. يمكن تحميلها مباشرة في نظام التشغيل والوصول إليها عبر بروتوكولات FTP, NFS, iSCSI, SSH أو SMB. الميزة الرئيسية لـ Dataset هي إمكانية تكوين معاييرها بشكل مستقل دون التأثير على أجزاء أخرى من الـ pool. عند إنشاء مجموعة بيانات تقوم بتعيين خصائص أساسية مثل خوارزمية الضغط (LZ4, GZIP, ZSTD, LZJB, ZLE), وضع الوصول، حساسية حالة الأحرف، ومعاملات الكتابة المتزامنة. بعد الإنشاء يمكن تغيير معظم الإعدادات في أي وقت دون فقدان البيانات، مما يتيح تكييف كل Dataset مع مهامك الخاصة.
ZVOL يمثل جهاز كتلة، أي قرص افتراضي لا يحتوي على ملفات بشكل مباشر على عكس الـ Dataset. يوفر تخزينًا كتليًا لإنشاء أنظمة ملفات أو للاتصال كقرص إلى آلات افتراضية. يعمل ZVOL على مستوى الكتل ويقدم أداءً أكثر تناسقًا مقارنةً بصور الملفات المعتمدة على النظام الملفات.
عند إنشاء ZVOL تحدد الحجم المنطقي volsize وحجم الكتلة volblocksize، وهما يؤثران بشكل كبير على الأداء. لتحسين التخزين، فعّل الضغط لتقليل السعة وميزة إلغاء التكرار (deduplication) لإزالة النسخ المكررة. من المهم أيضًا تمكين وضع sparse، الذي يخصص مساحة الـ pool فقط عند كتابة البيانات فعليًا بدلاً من حجز السعة الكاملة عند وقت الإنشاء.
TrueNAS يتيح أيضًا إنشاء أقراص افتراضية كملفات بدلاً من ZVOLs. يمكن استخدام مثل هذه صور الملفات عبر iSCSI، لكنها لا تدعم وضع sparse وتشغل كامل مساحة القرص فورًا عند الإنشاء.
Snapshot هو نسخة نقطية من حالة Dataset أو ZVOL تُنشأ باستخدام آلية copy-on-write، حيث تُكتب التغييرات الجديدة إلى كتل أخرى بينما تبقى الكتل السابقة دون تغيير. بفضل ذلك، تستهلك الـ Snapshot مساحة إضافية قليلة جدًا وتسمح باستعادة الحالة السابقة أو ملفات فردية دون التأثير على البيانات الحالية. بعد الإنشاء تكون الـ Snapshot للقراءة فقط؛ يمكن حذفها أو استخدامها للاستنساخ. يتم الإدرة عبر خصائص visible و hide للعرض، وكذلك من خلال مهام snapshot tasks لأتمتة replication وفترات retention المتعلقة بالنسخ والنقل ومدة الاحتفاظ.
| نوع الكائن | الغرض | الميزات الرئيسية | أين يُستخدم |
|---|---|---|---|
| Dataset | نظام ملفات منطقي داخل pool ZFS | يدعم الضغط، الحصص، إلغاء التكرار، أذونات وصول منفصلة | تخزين الملفات والمجلدات |
| ZVOL | جهاز كتلة افتراضي | يعمل كقرص عادي، يمكن تهيئته بنظام ملفات آخر | الآلات الافتراضية، iSCSI، قواعد البيانات |
| Snapshot | نسخة من حالة البيانات عند نقطة زمنية محددة | تُنشأ فورًا، وتستهلك مساحة قليلة حتى تتغير البيانات | النسخ الاحتياطية، التراجع، الاستعادة |
استعادة بيانات ZFS
سنستعرض عملية تحليل واستعادة بياناتك باستخدام تطبيق Hetman RAID Recovery.
Hetman RAID Recovery يمكن أن يساعد في الحالات الحرجة عندما يفشل عتاد الخادم، يتعطل نظام التشغيل TrueNAS بسبب تحديثات أو أخطاء نظام، أو تتعطل الأقراص في الخادم. بغض النظر عن سبب عدم إمكانية الوصول إلى البيانات، تمكّن الأداة من استخراج المعلومات واستعادتها إلى جهاز تخزين منفصل.
توصيل الأقراص
لبدء عملية الاستعادة تحتاج إلى إزالة الأقراص التي كانت جزءًا من الـ pool وتوصيلها إلى جهاز حاسوب مثبت عليه Hetman RAID Recovery. يمكن إجراء ذلك مباشرة عبر منافذ SATA على اللوحة الأم أو باستخدام محطات إرساء خارجية. إذا كانت بنية جهاز العمل لا تسمح بتوصيل جميع الأقراص في نفس الوقت، تدعم التطبيق نهجًا مجمعًا.
في حالات وجود منافذ محدودة، الحل الأمثل هو إنشاء صور افتراضية لبعض الأقراص. يمكنك توصيل بعض الأقراص الفعلية مباشرة واستخدام نسخ دقيقة بتوافق البت-ببيت مُركبة في واجهة الأداة للأقراص الأخرى.

يتعامل التطبيق مع مثل هذه الصور كأجهزة فيزيائية كاملة ويستخدمها تلقائيًا لإعادة بناء بنية المصفوفة. يضمن هذا النهج سلامة البيانات لأن التحليل التالي يتم على نسخ افتراضية.
بعد توصيل كل مكونات الـ pool فعليًا أو تركيبها كصور، سيقوم Hetman RAID Recovery بقراءة بيانات تعريف ZFS تلقائيًا وعرض المصفوفة المجمعة في النافذة الرئيسية، ما يتيح المسح والحفظ اللاحق للملفات.

عند الكشف عن الأقراص يقوم البرنامج بتحليل بيانات التعريف ويحدد تهيئة مصفوفة RAID الخاصة بك. يعتمد عدد الأقراص المطلوب لاستعادة البيانات الكاملة على نوع التكوين الذي استخدمته:
- في تكوين ZFS Stripe لا توجد أي تحمّل للخطأ، لذا تُعدّ جميع الأقراص مطلوبة. غياب أو تلف حتى قرص واحد يجعل استعادة البنية الكاملة غير ممكنة، وفي مثل هذه الحالات يكون استخراج البيانات الجزئي من الأقراص المتوفرة هو الإمكان الممكن فقط.
- RAIDZ1 يتحمّل فشل قرص واحد. لذلك، تكون الاستعادة ممكنة إذا تم توصيل كل الأقراص باستثناء قرص واحد تالف. إذا فقد اثنان أو أكثر من الأقراص يصبح استرداد البنية الكاملة مستحيلًا.
- RAIDZ2 يسمح بفقدان ما يصل إلى قرصين. لبناء الـ pool بشكل صحيح تكون الأقراص الصحية المتبقية كافية، مما يمكّن من استعادة البيانات حتى في سيناريوهات العطل المزدوج.
- RAIDZ3 لديه أعلى تحمل للأخطاء ويسمح بفقدان ما يصل إلى ثلاثة أقراص. مع وجود الأقراص الصحية المتبقية، تكون استعادة البيانات الكاملة ممكنة حتى في سيناريوهات الفشل المتعدد المعقدة.
| نوع ZFS | الحد الأدنى لعدد الأقراص | فقدان أقراص مسموح | الأداء | مستوى حماية البيانات | ما يكافئه في RAID |
|---|---|---|---|---|---|
| Stripe | 2 | 0 | عالٍ جدًا | لا شيء | RAID 0 |
| RAIDZ1 | 3 | 1 | عالٍ | متوسط | RAID 5 |
| RAIDZ2 | 4 | 2 | متوسط | عالٍ | RAID 6 |
| RAIDZ3 | 5 | 3 | أدنى | عالٍ جدًا | – |
إعادة بناء الـ pool تلقائيًا
شغّل Hetman RAID Recovery وسيبدأ البرنامج تلقائيًا بمسح جميع الأجهزة المتصلة. تقرأ الأداة بيانات التعريف الخدمية لـ ZFS، وتحلل تكوين المجموعات الافتراضية (vdev) وبناءً على البيانات المحصل عليها، تعيد إنشاء نموذج صحيح للـ pool الخاص بك.

في نافذة العمل سترى كل الأقراص المكتشفة ومعلماتها. اختر الـ pool المرغوب من قائمة المصفوفات المعاد بناؤها وابدأ وضع Fast Scan لتحديد بنية البيانات بسرعة.

عند اكتمال المسح سيُعرض نظام الملفات المستعاد مع كامل هيكل الدلائل والملفات في النافذة الرئيسية. ستتمكن من عرض جميع Datasets، المجلدات، الملفات، ZVOL، ملفات الأقراص الافتراضية (LUN) وSnapshots. قم بتوسيع المجلدات لفحص المحتوى وتحديد الكائنات التي تريد استعادتها.

علّم على الكائنات التي تريد استعادتها ثم اضغط Recovery.

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

ؤكد بدء عملية الحفظ وحدد مسار الحفظ النهائي داخل المجلد المحدد. اضغط Recovery مرة أخرى لبدء نسخ بياناتك إلى التخزين المختار.

يؤدي التطبيق نسخًا بتوافق بت-ببت مع التحقق من التكامل ويعرض تقدم العملية في الوقت الحقيقي. بعد اكتمال النسخ اضغط Finish.
الآن جميع بياناتك المستعادة متاحة على الجهاز المختار في شكلها المعتاد وجاهزة للاستخدام دون عمليات إضافية.

استعادة القرص الافتراضي
في الحالات التي تتطلب الاستعادة بسبب حذف ملف بالخطأ، تهيئة قسم، أو حذف تكوين آلة افتراضية بينما يبقى ZVOL محفوظًا، يوفر Hetman RAID Recovery أدوات للتحليل العميق واسترجاع البيانات.
يسمح البرنامج بمعاملة كائنات ZFS كأجهزة تخزين كاملة بغض النظر عما إذا كانت صور ملفات قرص أو جهاز كتلة ZVOL. بفضل دعم مجموعة واسعة من أنظمة الملفات، بما في ذلك NTFS, ReFS, VMFS, Ext, XFS, BTRFS, FAT, ExFAT, APFS, HFS و HikvisionFS، يمكنك استعادة البيانات بنجاح من بيئات افتراضية بأي درجة تعقيد.
تبدأ عملية الاستعادة بتشغيل مسح سريع للـ pool لتحديد موقع ZVOL أو القرص الافتراضي المطلوب.

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

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

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

الوصول إلى Snapshots في ZFS
Hetman RAID Recovery يتيح استعادة فعالة للبيانات المحذوفة أو المعدلة من كائنات ZVOL والأقراص الافتراضية باستخدام Snapshots المنشأة مسبقًا. هذا النهج حاسم عندما يكون الرجوع الكامل للنظام غير عملي بسبب مخاطر فقدان التغييرات الحالية التي جرت بعد إنشاء اللقطة، مما يتيح الحفاظ على حالة النظام الحالية مع استعادة انتقائية للبيانات اللازمة.
لبدء، شغّل وضع Fast Scan، وبعدها سيظهر مجلد خاص باسم Snapshot في شجرة الـ pool.

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


إذا كان حفظ صور ZVOL الكبيرة إلى قرص الحاسوب المحلي غير ممكن بسبب ضيق الوقت أو نقص المساحة الحرة، فمن المستحسن استخدام ميزة تركيب الكائنات مباشرة في واجهة التطبيق. يسمح هذا بالعمل مع الأقراص الافتراضية وصور LUN كأجهزة تخزين عادية دون تصديرها مسبقًا إلى وسيط فعلي. على الرغم من أن سرعة المعالجة في هذا الوضع قد تكون أقل قليلًا، إلا أنها تحافظ على الموارد بشكل كبير وتتيح بحثًا عميقًا فوريًا داخل أنظمة ملفات الضيف مثل NTFS, ext4 أو XFS.

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

بعدها، ببساطة اضغط Recovery وحدد المسار إلى جهاز تخزين آمن.

يجعل هذا النهج عملية الاستعادة شفافة ومريحة، ويوفر مرونة عند العمل مع البيانات في بيئات الإنتاج حيث تُعد استمرارية الخدمة أولوية قصوى.
استعادة البيانات المحذوفة
في الحالات التي تم فيها حذف البيانات مباشرة من الـ pool وكانت الـ Snapshots غائبة أو قد تم استبدالها، يصبح تحليل بيانات التعريف القياسي غير فعال. خصوصية نظام الملفات ZFS وآلية copy-on-write تعني أنه بعد الحذف غالبًا لا يتم الاحتفاظ بشجرة الدلائل. مع ذلك، تبقى البيانات نفسها في كتل الـ pool، مما يسمح لـ Hetman RAID Recovery بتحديدها واستعادتها بنجاح حتى في غياب سجلات جداول الموقع.
يمكن أن تشمل أسباب هذا النوع من الفقدان الحذف العرضي للمجموعات، ZVOL أو الآلات الافتراضية مع الأقراص المتصلة بها.
سيناريو حرج هو تهيئة الأقراص في أنظمة تشغيل أجنبية مثل ويندوز أو macOS، والتي قد تكتب فوق معلومات الخدمة الأولية لـ ZFS. في مثل هذه السيناريوهات يقوم البرنامج بإجراء تحليل منخفض المستوى لسطح القرص بأكمله، محددًا الملفات والهياكل المنطقية عبر تواقيعها.
لاستعادة البيانات، اختر المصفوفة المعاد بناؤها وقم بتشغيل Full scan. هذه العملية تستغرق وقتًا أطول لأن البرنامج يعمل مباشرة مع كتل البيانات، مجمّعًا الشظايا المتناثرة إلى كائنات مترابطة. إذا وقع الحذف داخل آلة افتراضية، يُطبّق تحليل من مرحلتين: أولاً يتم استعادة ZVOL كجهاز كتلة، ثم يُفحَص نظام الملفات الداخلي للعثور على بيانات نظام التشغيل الضيف.

بعد اكتمال التحليل، تظهر الكائنات المكتشفة عادةً في قائمة واحدة عند جذر الـ pool. للعثور على ZVOL أو الملف المطلوب بين آلاف العناصر المكتشفة، استخدم وظيفة البحث المدمجة. يمكنك تصفية النتائج بالاسم أو التاريخ أو حجم الملف. إذا لم تُحفظ اسم الكائن في بيانات التعريف، فسيكون حجمه المؤشر الأساسي لتحديد قرص افتراضي.

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

بعد تحديد العناصر اللازمة اضغط Recovery وحدد المسار إلى جهاز تخزين آمن منفصل به مساحة كافية. سيقوم البرنامج بإعلامك عند اكتمال النسخ، وبعدها ستكون جميع البيانات جاهزة للاستخدام.
الخلاصة
استعادة البيانات من نظام الملفات ZFS، بما في ذلك ZVOL, Dataset, Snapshot والأقراص الافتراضية، ممكنة حتى بعد أعطال جسيمة إذا جرت الإجراءات بعناية وبترتيب منطقي. بفضل آليات التكامل المدمجة، واللقطات، والبنية التخزينية المرنة، يزيد ZFS بشكل ملحوظ من فرص استرجاع المعلومات بنجاح مقارنةً بالعديد من أنظمة الملفات الأخرى.
تلعب الـ Snapshots دورًا مهمًا بشكل خاص في الاستعادة، حيث تتيح استرجاع حالة بيانات سابقة دون إعادة بناء المصفوفة بأكملها بشكل معقد. بالنسبة لـ ZVOL والأقراص الافتراضية ميزة إضافية هي القدرة على العمل مع أجهزة الكتل الفردية، مما يبسط تحليل ونسخ المعلومات. في الوقت نفسه، يمكن أن تعقّد تلف بيانات التعريف أو الأخطاء في بنية الـ pool العملية وتتطلب أدوات متخصصة.
لزيادة فرص الاستعادة الناجحة من المهم عدم الكتابة إلى الـ pool المتضرر، وعدم إنشاء datasets جديدة، والعمل إن أمكن على نسخ الأقراص فقط. في الحالات المعقدة قد تكون الاستعانة بأخصائيي استعادة البيانات هي الحل الأفضل.
بذلك، لا تمنع البنية المعقدة لـ ZFS إمكانية الاستعادة إذا استُخدمت قدراته بشكل صحيح واتُبع نهج آمن عند العمل مع وسائط التخزين التالفة.







