كيفية استعادة الأقراص الافتراضية واللقطات في KVM/QEMU مع LUKS2 وRAID 6

تتناول هذه المقالة استعادة الأقراص الافتراضية ولقطات KVM/QEMU من نظام تخزين مبني على LUKS2 وRAID 6. ويركز المحتوى على تحديد تسلسل الاستعادة الصحيح، والعمل الآمن مع صور الأقراص الفعلية، وإعادة بناء مصفوفة RAID، وفتح الحاوية المشفرة، والعثور على صور QCOW2/RAW، وتحليل سلسلة النسخ الاحتياطي، واستعادة الوصول إلى بيانات الآلة الافتراضية دون تعديل الوسائط الأصلية.

كيفية استعادة الأقراص الافتراضية واللقطات في KVM/QEMU مع LUKS2 وRAID 6

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

وتكون الحالات الأكثر صعوبة هي تلك التي تُخزن فيها الأقراص الافتراضية لـ KVM/QEMU بصيغ QCOW2 وRAW أو صيغ متوافقة أخرى داخل وحدة تخزين LUKS2 مشفرة مبنية فوق RAID 6. في هذا التكوين، يعتمد الوصول إلى البيانات على عدة مستويات في الوقت نفسه: الأقراص الفعلية، وبنية مصفوفة RAID، وسلامة بيانات وصف LUKS2، ونظام الملفات، والبنية الداخلية للأقراص الافتراضية.

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

إذهب للعرض
How to Recover a Deleted MySQL Database on Linux RAID 6 + LUKS2 (Ubuntu)

How to Recover a Deleted MySQL Database on Linux RAID 6 + LUKS2 (Ubuntu)

الخطوة 1. إنشاء آلة افتراضية KVM/QEMU

لأغراض الاختبار، قمنا بتثبيت Ubuntu Server 24.04 واستخدام Cockpit لإنشاء مصفوفة Linux MD RAID 6 برمجية من أربعة أقراص.

تم إنشاء ثلاثة أقسام على مصفوفة RAID. وتم تشفير كل منها باستخدام LUKS2، كما تم إنشاء أنظمة ملفات Ext4 داخل الحاويات المشفرة. واستُخدم القسم الثالث لتخزين الآلة الافتراضية.

تم إنشاء RAID 6 برمجي من Linux MD من أربعة أقراص

كان الخادم يعمل ببرنامج التشغيل الافتراضي KVM/QEMU. ومن خلال Cockpit أنشأنا تجمع تخزين منفصلًا للآلة الافتراضية على القسم الثالث – raid6-vm-images. وتم تخزين ملفات الآلة الافتراضية في الدليل vm-images.

وبالنسبة إلى الآلة الافتراضية، أنشأنا قرص نظام بصيغة QCOW2 بسعة 32 غيغابايت، بالإضافة إلى قرصين إضافيين: قرص QCOW2 بسعة 2 غيغابايت وقرص IMG بسعة 1 غيغابايت.

قرص نظام QCOW2 بسعة 32 غيغابايت
قرصان إضافيان: قرص QCOW2 بسعة 2 غيغابايت وقرص IMG بسعة 1 غيغابايت

تم تثبيت Windows 10 على قرص النظام. وتمت تهيئة القرصين الإضافيين داخل Windows بنظامي NTFS وFAT32 على التوالي.

تمت تهيئة القرصين الإضافيين داخل Windows بنظامي ملفات NTFS وFAT32

الخطوة 2. إنشاء لقطة وحذف قسم LUKS2

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

إنشاء لقطة وحذف قسم LUKS2

بعد اكتمال التغييرات الاختبارية، تم إيقاف تشغيل الآلة الافتراضية. بعد ذلك، تم نسخ المجلد vm-images الذي يحتوي على صور الأقراص الأساسية وملفات اللقطة الخارجية وملف حالة الذاكرة إلى القسم الثاني المشفر بـ LUKS2 على مصفوفة RAID.

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

تم حذف القسم من جدول الأقسام عبر Cockpit
تم حذف القسم من جدول الأقسام عبر Cockpit

الخطوة 3. توصيل الأقراص وبدء الاستعادة

بعد حذف القسم، أوقفنا تشغيل الخادم وفصلنا أقراص مصفوفة RAID. وتم توصيل قرصين فقط من أصل أربعة إلى جهاز يعمل بنظام Windows 11 عبر محطة إرساء USB.

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

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

يعرض Windows مطالبة بتهيئة الأقراص أو تنسيقها

الخطوة 4. الاكتشاف التلقائي لأقسام MD RAID 6 وLUKS2

فور تشغيله، قرأ Hetman RAID Recovery معلومات الخدمة من القرصين المتصلين.

لاستعادة البيانات من مصفوفات RAID المعطلة وأجهزة NAS وأنظمة التخزين الأخرى متعددة الأقراص.
Hetman RAID Recovery: الاكتشاف التلقائي لأقسام MD RAID 6 وLUKS2

يسمح RAID 6 بغياب ما يصل إلى قرصين. وبما أن القرصين المتاحين كانا سليمين وكانت معلومات الخدمة سليمة، أعاد البرنامج بناء MD RAID 6 تلقائيًا. وتم عرض القرصين المفقودين على أنهما Empty disk، وحصلت المصفوفة على الحالة Recoverable.

Hetman RAID Recovery: أعاد البرنامج بناء MD RAID 6 تلقائيًا

تُظهر الخصائص التخطيط Left Synchronous P+Q، وحجم كتلة يبلغ 512 كيلوبايت، بالإضافة إلى مواضع الأقراص والإزاحات والأحجام.

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

الخطوة 5. تحليل قسم LUKS2 واستعادة ملفات الآلة الافتراضية

انقر نقرًا مزدوجًا على المساحة غير المخصصة المميزة بـ LUKS. سيطلب البرنامج إدخال كلمة مرور أو اختيار ملف مفتاح.

Hetman RAID Recovery: تحليل قسم LUKS2 واستعادة ملفات الآلة الافتراضية

بعد فتح القفل، سيصبح نظام الملفات Ext4 متاحًا. بعد ذلك، اختر وضع التحليل.

نوصي بالبدء بـ Fast Scan. إذا لم يعثر الفحص السريع على البيانات المطلوبة، فشغّل Full Analysis وحدد نظام الملفات Ext2/3/4.

Hetman RAID Recovery: الفحص السريع

في حالتنا، كان Fast Scan كافيًا. استعاد البرنامج بنية القسم المحذوف وعثر على المجلد vm-images، الذي كان يحتوي على قرص النظام والأقراص الافتراضية الإضافية، بالإضافة إلى ملفات اللقطات الخاصة بها.

Hetman RAID Recovery: عثر البرنامج على المجلد vm-images

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

Hetman RAID Recovery: محتويات المجلد vm-images

حدد المجلد الذي يحتوي على الأقراص الافتراضية وملفات اللقطات، ثم انقر على Recovery.

Hetman RAID Recovery: استعادة المجلد vm-images

نوصي باستعادة المجلد بالكامل بحيث تبقى الصور الأساسية واللقطات المرتبطة بها معًا.

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

الخطوة 6. تحميل الأقراص الافتراضية واللقطات

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

لاستعادة البيانات من مصفوفات RAID المعطلة وأجهزة NAS وأنظمة التخزين الأخرى متعددة الأقراص.

انقر على Mount Disk.

Hetman RAID Recovery: تحميل صورة قرص

في نافذة Disk Image Type، وتحت Virtual Machine Disk Images، اختر QEMU، لأن الآلة الافتراضية والأقراص الخاصة بها في اختبارنا أُنشئت استنادًا إلى KVM/QEMU. إذا كانت الصور أُنشئت في بيئة افتراضية أخرى، فاختر نوع القرص المقابل من القائمة. ثم انقر على Next.

Hetman RAID Recovery: ضمن Virtual Machine Disk Images، اختر QEMU

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

Hetman RAID Recovery: حدد المجلد الذي استعدنا فيه جميع ملفات الآلة الافتراضية

سيحلل البرنامج محتويات المجلد، ويحدد العلاقات بين الملفات، ويجمع الأقراص الأساسية تلقائيًا مع اللقطات المقابلة. إذا أُنشئت عدة لقطات لقرص واحد، فسيقوم البرنامج بترتيبها بالتسلسل الصحيح. وستُعلَّم أحدث حالة من كل سلسلة على أنها Active. حدد الأقراص المطلوبة وحالاتها، ثم انقر على Next.

Hetman RAID Recovery: العلاقات بين الملفات ومجموعات الأقراص الأساسية مع اللقطات المقابلة

بعد التحميل، ستظهر ضمن Mounted Disks كأقراص منفصلة. وفي الشاشة الرئيسية، لن تظهر العلامة Active بعد ذلك، بحيث يمكن التمييز بين القرص الأساسي ولقطاته من خلال أسماء الملفات المقابلة.

Hetman RAID Recovery: Mounted Disks كأقراص منفصلة

الخطوة 7. مقارنة حالات القرص واستعادة الملفات من لقطة

لمقارنة صورة القرص الأساسية ولقطتها، تحتاج إلى تحليل كلا القرصين المحملين. انقر نقرًا مزدوجًا على كل منهما، ثم شغّل أولًا Fast Scan.

إذا لم يعثر Fast Scan على البيانات المطلوبة، فقم بإجراء Full Analysis. أثناء التحليل الكامل، يجب تحديد نظام الملفات المستخدم داخل القرص الافتراضي.

تحافظ الصورة الأساسية على الحالة السابقة لنظام الملفات.

Hetman RAID Recovery: تم استعادة الحالة السابقة لنظام الملفات

على القرص المحمل من اللقطة، تظهر التغييرات اللاحقة: المجلد المضاف والملفات المحذوفة منه، ويضع البرنامج علامة X عليها.

Hetman RAID Recovery: تم استعادة الحالة السابقة لنظام الملفات الخاصة باللقطة

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

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

بعد التأكد من تحديد الملفات المطلوبة، ضع علامة عليها وانقر على Recovery. واحفظ البيانات المستعادة على قرص فعلي آخر.

Hetman RAID Recovery: استعادة ملفات اللقطة

الخطوة 8. البحث عن البيانات حسب أنظمة ملفات الأقراص الافتراضية

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

لذلك، اختر قسم RAID المفتوح، وشغّل معالج الاستعادة، ثم اختر Full Analysis.

Hetman RAID Recovery: البحث عن البيانات حسب أنظمة ملفات الأقراص الافتراضية

عند إعداد التحليل، بدلًا من نظام الملفات Ext4 المستخدم فعليًا على هذا القسم لتخزين ملفات الأقراص الافتراضية، حدد أنظمة الملفات الموجودة مباشرة داخل الأقراص الافتراضية نفسها. في حالتنا هذه هي FAT32 وNTFS، لذلك نختار FAT وNTFS للبحث.

Hetman RAID Recovery: التحليل الكامل حسب نظام ملفات القرص

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

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

بعد اكتمال التحليل، راجع الأقسام والملفات التي تم العثور عليها.

Hetman RAID Recovery: الأقسام والملفات التي تم العثور عليها

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

الملخص

نتيجةً لذلك، قام Hetman RAID Recovery بتجميع Linux MD RAID 6 تلقائيًا من القرصين المتاحين، وعثر على قسم LUKS2 المحذوف، وفتحه، واستعاد المجلد الذي يحتوي على صور الأقراص ولقطات الآلة الافتراضية.

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

Abdelhamid Balti

المؤلف: , كاتب تقني

عبد الحميد البلطي كاتب تقني في شركة Hetman Software. يتعامل مع البرامج التعليمية والإرشادات والمراجعات التفصيلية حول كيفية عمل أدوات وبرامج الشركة مع جميع أنواع أجهزة تخزين البيانات.

Mykhailo Miroshnichenko

محرر: , كاتب تقني

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

نوصى به لك