كيفية استعادة وحدات ZVOL وحاويات LXC من مصفوفة RAIDZ في Proxmox VE
في هذه المقالة، سنستعرض عملية استعادة الآلات الافتراضية المخزنة كأجهزة كتلية ZVOL وحاويات LXC من مصفوفة برمجية RAIDZ قائمة على نظام الملفات ZFS، والمُنشأة في الإصدار 9.1.1 من Proxmox Virtual Environment.

- كيفية عمل ZFS في Proxmox
- كيفية توصيل أقراص الخادم بجهاز كمبيوتر
- كيفية استعادة البيانات من RAIDZ في Proxmox VE
- الخلاصة
- الأسئلة الشائعة
- التعليقات
سنحلل أكثر سيناريوهات فقدان البيانات شيوعًا. وتشمل هذه السيناريوهات الحذف العرضي للملفات المهمة داخل النظام الضيف أو الحذف غير المقصود للآلة الافتراضية نفسها أو لمجموعة بيانات الحاوية. كما سننظر أيضًا في استعادة البيانات عند حدوث مشكلات عتادية، مثل تلف المصفوفة الناتج عن تعطل أحد الأقراص أو حدوث خلل عام في الخادم. وسنتناول كذلك الأعطال البرمجية، على سبيل المثال، تعطل جهاز افتراضي Proxmox VE بسبب فشل التحديثات أو الأخطاء الحرجة أو تلف قسم النظام.
سنوضح كيفية إزالة الأقراص من مصفوفة معطلة بشكل صحيح، وتوصيلها مباشرةً بجهاز كمبيوتر يعمل، وتجميع مصفوفة RAIDZ تلقائيًا، واستعادة بياناتك.
يتيح برنامجنا المتخصص استعادة البيانات من أي أنظمة ملفات ضيف خاصة بـ Windows وLinux وmacOS دون أي مشكلات.
Proxmox ZFS Data Recovery: Recover ZVOLs, VMs and LXC Containers
كيفية عمل ZFS في Proxmox
يختلف نظام الملفات ZFS في بيئة Proxmox اختلافًا جوهريًا عن الحلول التقليدية مثل Ext4. فبدلًا من إنشاء دليل قياسي ووضع ملفات الأقراص الافتراضية التقليدية فيه، يتم دمج ZFS بإحكام مع جهاز الافتراضية على مستوى إدارة التخزين. وهذا يوفر أداءً عاليًا وموثوقية كبيرة، لكنه يغير نهائيًا طريقة تخزين البيانات واسترجاعها.
- بالنسبة إلى الآلات الافتراضية الكاملة، لا يستخدم Proxmox ملفات الصور المعروفة qcow2 أو RAW. بل ينشئ النظام لها أجهزة كتلية مخصصة خاصة تسمى ZVOL. ويرى برنامج استعادة البيانات هذه الأجهزة ليس كملفات منفصلة داخل مجلد، بل كأقراص مادية كاملة. يتيح هذا النهج للجهاز الافتراضي العمل بكفاءة أكبر مع اللقطات وتخصيص موارد الخادم.
- أما بالنسبة إلى حاويات LXC خفيفة الوزن، فيُستخدم نهج مختلف بعض الشيء. فبدلًا من إنشاء أقراص افتراضية، ينشر Proxmox كل حاوية ضمن مجموعة بيانات ZFS معزولة خاصة بها، تُعرف باسم subvolume. وعند فحص المصفوفة، ستظهر هذه المجموعات كأنها مجلدات عادية تحتوي داخلها على تسلسل هرمي قياسي لأدلة نظام Linux، ويمكن استخراج الملفات المطلوبة منها مباشرةً.
| الخاصية | الآلات الافتراضية (ZVOL) | حاويات LXC (subvolume) |
|---|---|---|
| طريقة التخزين | أجهزة كتلية مخصصة من نوع ZVOL | مجموعات بيانات ZFS منفصلة |
| تنظيم البيانات | تُخزَّن البيانات في صورة جهاز كتلي يعمل كقرص مستقل | تُنظَّم البيانات في نظام ملفات ذي بنية هرمية للأدلة في Linux |
| تنسيق القرص الافتراضي | لا تُستخدم ملفات صور الأقراص القياسية qcow2 أو RAW، بل تُنشأ وحدات ZVOL بدلًا منها | لا حاجة إلى ملف قرص افتراضي منفصل |
| كيفية الظهور أثناء الاستعادة | في صورة جهاز كتلي واحد يشبه القرص الفعلي | في صورة مجلدات تحتوي على ملفات ومجلدات فرعية |
| الوصول إلى الملفات | يجب تحليل محتويات الجهاز الكتلي لتحديد بنية نظام الملفات | يمكن استعراض بنية الأدلة واستخراج الملفات المطلوبة مباشرةً |
| خصائص استخدام ZFS | إدارة فعالة للتخزين الكتلي ودعم اللقطات (Snapshots) | تخزين نظام ملفات كل حاوية بصورة مستقلة ومعزولة |
| العنصر الرئيسي المراد استعادته | الأقراص الافتراضية والبيانات المخزنة داخل وحدات ZVOL | الملفات والمجلدات والبيانات الخاصة بحاويات LXC |
كيفية توصيل أقراص الخادم بجهاز كمبيوتر
قبل البدء في الاستعادة البرمجية، نحتاج إلى توصيل أقراص الخادم بجهاز كمبيوتر يعمل بشكل صحيح. وأكثر الخيارات موثوقية هو التوصيل المباشر عبر موصلات SATA على اللوحة الأم.
نظرًا لأننا نتعامل مع أقراص خادم، فقد تستخدم واجهة SAS. في هذه الحالة، يجب تركيب وحدة تحكم SAS مناسبة لقراءتها على جهاز كمبيوتر قياسي. ويمكن أيضًا استخدام محولات USB الخارجية أو قواعد التوصيل، لكن ينبغي ملاحظة أن سرعة الفحص للمصفوفات الكبيرة عبر USB ستكون أبطأ بكثير.
عند توصيل الأقراص، من المهم تذكر الحد الأدنى لعدد الأقراص المطلوب للعمل مع مصفوفات RAIDZ1. وبما أن هذه البنية المصفوفية تخصص مساحة لكتلة تكافؤ واحدة، يمكن للبرنامج إعادة بناء البيانات بالكامل حتى إذا كان أحد الأقراص المادية مفقودًا.
في حالتنا، كانت الـ pool الأصلية تتكون من ثلاثة أقراص. لذلك، لاستخراج جميع البيانات بنجاح، سيكون من الكافي توصيل قرصين عاملين فقط بجهاز الكمبيوتر.

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

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

في قائمة الأنواع، حدد صور الأقراص الخام وقم بتحميل ملفك.

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

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

في النافذة الرئيسية، ستظهر جميع المصفوفات المكتشفة. حدد الـ pool المُجمَّعة وابدأ وضع الفحص السريع لإجراء تحليل سريع لبنية التخزين.

بعد اكتمال الفحص، سيُعرض نظام الملفات المستعاد في النافذة الرئيسية. وهنا من المهم فهم كيفية تصنيف البرنامج لأنواع بيئات Proxmox الافتراضية المختلفة. ستظهر أجهزة الكتل الخاصة بالآلات الافتراضية الكاملة مع المعرف vm وكلمة disk في الاسم، وسيتم تمييزها كأحجام ZVOL. أما مجموعات البيانات المعزولة لحاويات LXC فسيعرضها البرنامج كمجلدات عادية تحمل كلمة subvol.

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

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

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

أثناء تحليل الـ pool، ابحث عن الجهاز الكتلي ZVOL المطلوب واحفظه على جهاز الكمبيوتر باستخدام وظيفة الاستعادة.

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

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

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

بعد اكتمال الفحص، ستُعرض الكائنات التي تم العثور عليها في نافذة البرنامج.

للعثور بسرعة على ZVOL المطلوب أو مجموعة البيانات المحذوفة، من الملائم استخدام وظيفة البحث. إذا كنت تستعيد حاوية LXC، فابحث عن المجلدات المسماة subvol وتحقق من محتوياتها.

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

الخلاصة
إن استعادة البيانات من مصفوفة RAIDZ في Proxmox VE لها خصوصيتها، لأن ZFS يستخدم بنية خاصة به لتخزين البيانات وإدارتها. ويمكن للآلات الافتراضية في مثل هذه البيئة أن تستخدم ZVOL، الذي يُعرض كجهاز كتلي، بينما تُخزن حاويات LXC كمجموعات بيانات منفصلة من نوع ZFS dataset تحتوي على بنية ملفات الحاوية.
في حال تلف أو فقدان الوصول إلى RAIDZ، من المهم عدم إعادة إنشاء المصفوفة، وعدم تهيئة الأقراص، وعدم تنفيذ عمليات قد تكتب فوق بيانات خدمة ZFS. ولتحقيق استعادة ناجحة، من الضروري الحفاظ على البنية الأصلية للمصفوفة، والعمل بنسخ من الأقراص كلما أمكن ذلك.
تتيح برمجيات استعادة البيانات المتخصصة تحليل بنية ZFS، والعثور على الأقراص الافتراضية ZVOL، وأنظمة الملفات، وبيانات حاويات LXC حتى في الحالات التي لم يعد فيها Proxmox VE أو مصفوفة RAIDZ نفسها يوفران وصولًا طبيعيًا إلى المعلومات.
وبالتالي، يتيح أسلوب الاستعادة الصحيح الوصول إلى بيانات الآلات الافتراضية المخزنة في ZVOL وكذلك إلى ملفات ومجلدات حاويات LXC مع الحفاظ على بنيتها الأصلية. ويكتسب هذا أهمية خاصة بعد تعطل الأقراص، أو تلف تجمع ZFS، أو الحذف العرضي للبيانات، أو الأخطاء الحرجة في Proxmox VE.







