النسخ الاحتياطي للأجهزة الافتراضية
يوفر Cockpit إمكانيات شاملة للنسخ الاحتياطي والاستعادة للأجهزة الافتراضية، مما يتيح للمسؤولين تأمين حالات الأجهزة الافتراضية وأقراصها وإعداداتها من خلال النسخ الاحتياطي اليدوي والجدولة الآلية.
1. مواصفات النسخ الاحتياطي
عند إنشاء نسخة احتياطية، سواء يدويًا أو عبر جدول زمني، يمكن للمسؤولين إعداد المعلمات التقنية التالية:
1.1 أنواع النسخ الاحتياطي
- Full (كامل): ينسخ وحدة القرص الافتراضي بأكملها. يعمل هذا كخط أساس مستقل.
- Incremental (تراكمي): ينسخ فقط الكتل التي تغيرت منذ آخر نسخة احتياطية (كاملة أو تراكمية). يشكل هذا سلسلة تغييرات داعمة لتقليل المساحة المخصصة للتخزين.
- Differential (تفاضلي): ينسخ فقط الكتل التي تغيرت منذ آخر نسخة احتياطية كاملة.
1.2 الوجهة المستهدفة
تُخزن النسخ الاحتياطية كصور بصيغة .qcow2 (أو متغيرات مضغوطة) في أحد مستودعات التخزين (مجمعات التخزين) المهيأة للمضيف. يتتبع مجمع التخزين المستهدف حدود السعة ومسح الأدلة.
1.3 الضغط
لتحسين استغلال مساحة التخزين، يمكن ضغط كتل القرص أثناء عملية النسخ الاحتياطي. تشمل التنسيقات المدعومة:
- None: لا يوجد ضغط (أسرع تنفيذ).
- Gzip: ضغط قياسي.
- Zstd (Zstandard): أداء عالٍ، مع نسبة ضغط وسرعة مثالية.
- Xz: أعلى نسبة ضغط (عبء معالجة مرتفع على CPU).
1.4 التشفير
للامتثال الأمني، يمكن تشفير النسخ الاحتياطية على مستوى الكتل باستخدام خوارزميات التشفير المتماثل:
- None: تخزين بنص عادي.
- AES-128: تشفير متماثل باستخدام مفتاح 128-بت.
- AES-256: تشفير متماثل باستخدام مفتاح 256-بت. ملاحظة: يجب تقديم عبارة مرور/مفتاح آمن أثناء الإنشاء وهو مطلوب للاستعادة لاحقًا.
1.5 تفريغ الذاكرة (Memory Dumps)
يمكن للمسؤولين تمكين خيار Include Memory. يقوم هذا بالتقاط حالة ذاكرة RAM النشطة للجهاز الافتراضي، مما يسمح باستعادة الجهاز الافتراضي إلى حالة تشغيل نشطة بدلاً من الإقلاع من حالة إيقاف التشغيل.
2. جدول النسخ الاحتياطي التلقائي
يأتمت Cockpit حماية بيانات الأجهزة الافتراضية من خلال مدير جداول النسخ الاحتياطي. تُعين الجداول في قاعدة البيانات وتُنفذ بواسطة مشغل المهام الخلفية.
2.1 إعداد الجدول الزمني
- الذروة / التكرار (Periodicity):
Daily(يومي)،Weekly(أسبوعي)، أوMonthly(شهري). - نوع النسخ الاحتياطي:
Full،Incremental، أوDifferential. - مجمع التخزين المستهدف: وجهة مستودع التخزين.
- سياسة الاحتفاظ (Retention Policy): تحدد نافذة الاحتفاظ بالأيام (مثل
7أيام). يتم حذف النسخ الاحتياطية التي تتجاوز هذا الحد تلقائيًا بواسطة عامل التنظيف الخلفي. - الوصف: بيانات وصفية نصية تشرح سياق المهمة.
3. البث والرفع (بروتوكول TUS)
لاستيراد النسخ الاحتياطية الخارجية أو رفع الأقراص الافتراضية الحالية، يتكامل Cockpit مع بروتوكول TUS (الرفع القابل للاستئناف) عبر tus-js-client.
- إمكانية الاستئناف: إذا انقطع اتصال الشبكة أثناء رفع ملف
.qcow2كبير، يستعلم العميل تلقائيًا من الخادم المستهدف عن آخر إزاحة (offset) ويستأنف البث من إزاحة البايت تلك دون إعادة رفع البيانات المكتملة. - التنسيقات المدعومة: يدعم
.qcow2إلى جانب المتغيرات المضغوطة.qcow2.gzو.qcow2.zstو.qcow2.xz.
4. مسارات عمل الاستعادة
تؤدي استعادة نسخة احتياطية إلى إعادة إنشاء تكوين الجهاز الافتراضي وصور القرص من الأرشيف المخزن.
4.1 خيارات الاستعادة
- الاستعادة كجهاز افتراضي جديد (Restore as New VM): ينشئ مثيلة جهاز افتراضي جديدة باستخدام اسم مختلف (مثل
vm-restored). هذا غير مسبب للانقطاع ويسمح باختبار نظام التشغيل الضيف جنبًا إلى جنب مع الإنتاج. - الكتابة فوق الجهاز الحالي (Overwrite In-place): يكتب فوق أقراص الجهاز الافتراضي الحالية.
CAUTION
الكتابة فوق جهاز افتراضي عمل مدمر واستبدال لمحتويات القرص الحالية. يجب إيقاف تشغيل الجهاز الافتراضي المستهدف قبل بدء الكتابة فوقه.
- مفتاح فك التشفير: إذا تم تشفير أرشيف النسخة الاحتياطية أثناء الإنشاء، يجب تقديم مفتاح AES الصحيح؛ وإلا فسيفشل hypervisor في إرفاق وقراءة تواقيع كتل القرص.
5. تكامل النسخ الاحتياطي الخارجي (Vinchin Backup & Recovery)
بالإضافة إلى إمكانيات النسخ الاحتياطي الداخلي الأصلية، يدعم Cockpit التكامل مع حلول النسخ الاحتياطي المؤسسية الخارجية، مثل Vinchin Backup & Recovery، عبر واجهة خدمة cockpit-ovirt-shim.
5.1 تمكين خدمة oVirt API Shim
للسمح لحلول النسخ الاحتياطي الخارجية مثل Vinchin بالتواصل مع Cockpit API للإدارة:
- اذهب إلى واجهة إدارة تطبيق Cockpit.
- انتقل إلى Services.
- حدد موقع خدمة
cockpit-ovirt-shim. - مكن الخدمة وابدأ تشغيلها، مع التحقق من أنها نشطة وتستمع على منفذها المخصص.
5.2 توصيل Vinchin بـ Cockpit
- قم بتسجيل الدخول إلى وحدة تحكم إدارة Vinchin Backup & Recovery.
- انتقل إلى Infrastructure > Virtual Platform.
- انقر على Add لتسجيل منصة افتراضية جديدة.
- حدد oVirt كنوع المنصة (يستخدم Vinchin واجهة oVirt API shim للتفاعل مع Cockpit).
- أدخل عنوان IP لـ Cockpit وبيانات اعتماد المسؤول، ثم أكد الاتصال.
- بمجرد التسجيل، سيتم إدراج جميع الأجهزة الافتراضية التي يديرها Cockpit تلقائيًا تحت مخزون المنصة الافتراضية لـ Vinchin.
5.3 إجراء النسخ الاحتياطي الخارجي للأجهزة الافتراضية
- في Vinchin، انتقل إلى VM Backup > Backup لإنشاء مهمة نسخ احتياطي.
- حدد الأجهزة الافتراضية المستهدفة في Cockpit.
- اختر وجهة تخزين النسخ الاحتياطي المستهدفة.
- تحت Transmission Strategy، اضبط Transfer via على Image I/O (مطلوب لنقل كتل القرص بشكل مثالي وموثوق).
- قم بإعداد جدولة المهمة، وتقديمها، وتشغيل مهمة النسخ الاحتياطي.
5.4 الاستعادة الخارجية للأجهزة الافتراضية
- في Vinchin، انتقل إلى VM Restore > Restore لإنشاء مهمة استعادة.
- حدد نقطة النسخ الاحتياطي المطلوبة للجهاز الافتراضي في Cockpit.
- اختر المضيف المستهدف في Cockpit.
- قم بإعداد معلمات استعادة الجهاز الافتراضي (مثل مجمع التخزين المستهدف، إعدادات نظام التشغيل الضيف، أو إعادة تسمية القرص لمنع تعارض الأسماء).
- تحت Transmission Strategy، اضبط Transfer via على Image I/O.
- قدم ونفذ مهمة الاستعادة، ثم تحقق من تشغيل الجهاز الافتراضي بنجاح على مضيف Cockpit المستهدف.