Skip to content

اللقطات والقوالب

يوفر Vapor آليات لالتقاط حالات آنية للآلات الافتراضية لأغراض الاختبار أو النسخ الاحتياطي أو النسخ السريع للمثيلات.


لقطات الآلة الافتراضية

تُسجّل اللقطة حالة صور أقراص الآلة الافتراضية، وبشكل اختياري ذاكرتها النشطة (RAM)، في لحظة زمنية محددة.

قدرات اللقطات وحالة الذاكرة

تدعم وحدات تخزين الخلفية والإعدادات المختلفة للمضيف ميزات مختلفة للقطات:

  • فحص القدرات: قبل أخذ اللقطة، يستعلم Vapor عبر GET /api/v1/virtualization/computes/{id}/snapshots/capabilities لتحديد ما إذا كانت اللقطات الشاملة للذاكرة (supports_memory) مدعومة.
  • تضمين الذاكرة: إذا كان ذلك مدعوماً، يمكنك تحديد تضمين الذاكرة أثناء الإنشاء لحفظ حالة RAM النشطة. يتيح ذلك استئناف الآلة الافتراضية تنفيذها من النقطة التي التُقطت عندها اللقطة بالضبط، مع الحفاظ على العمليات الجارية. إذا لم تُحفظ الذاكرة، فستعمل الآلة الافتراضية بعد الرجوع إلى اللقطة في حالة إيقاف التشغيل.
  • إسكات نظام الملفات: عند تفعيل الإسكات (quiesce: true)، يستخدم Vapor وكيل QEMU Guest Agent لإيقاف عمليات إدخال/إخراج نظام الملفات داخل المضيف مؤقتاً وتفريغ كتل ذاكرة التخزين المؤقت غير المكتوبة إلى القرص قبل التقاط اللقطة.
  • اللقطات الخارجية: في بعض تخطيطات التخزين، يمكن إجبار اللقطات الخارجية (force_external: true) لإنشاء ملفات تراكب بدلاً من تعديل هياكل QCOW2 الداخلية.

عمليات الإدارة (API والواجهة)

  • عرض اللقطات: GET /api/v1/virtualization/computes/{id}/snapshots
  • إنشاء لقطة: POST /api/v1/virtualization/computes/{id}/snapshots مع المعاملات: name، description، include_memory (bool)، quiesce (bool)، force_external (bool).
  • عرض تفاصيل اللقطة: GET /api/v1/virtualization/computes/{id}/snapshots/{snapshot_name}
  • الرجوع إلى لقطة: POST /api/v1/virtualization/computes/{id}/snapshots/{snapshot_name}/revert
  • حذف لقطة: DELETE /api/v1/virtualization/computes/{id}/snapshots/{snapshot_name}

WARNING

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


قوالب الآلة الافتراضية

تتيح القوالب للمديرين تجميد إعدادات الآلة الافتراضية كصورة رئيسية للقراءة فقط (الصورة الذهبية) لنشر آلات افتراضية جديدة متطابقة.

دورة حياة القالب والتحويل

  • تحويل الآلة الافتراضية إلى قالب: POST /api/v1/virtualization/computes/{id}/convert-to-template مع description. يجب أن تكون الآلة الافتراضية في وضع إيقاف التشغيل. بعد التحويل، تُزال الآلة الافتراضية من قائمة الحوسبة النشطة (GET /virtualization/computes) وتُعزل في سجل القوالب (GET /virtualization/computes/templates).
  • حظر التشغيل: لا يمكن تشغيل القوالب أو تنفيذها مباشرةً. ستُعيد أي محاولة لتشغيل قالب خطأ HTTP 409 Conflict.
  • النشر من قالب: POST /api/v1/virtualization/computes/from-template مع template_id، وname، وstorage_pool كوجهة. يُنفّذ Vapor استنساخاً سريعاً بأسلوب النسخ عند الكتابة لأحجام أقراص القالب لتوفير آلة افتراضية جديدة.
  • تحويل القالب إلى آلة افتراضية: POST /api/v1/virtualization/computes/templates/{template_id}/convert-to-vm. يُعيد هذا الأمر تسجيل القالب كآلة افتراضية قياسية قابلة للإقلاع.
  • حذف القالب: DELETE /api/v1/virtualization/computes/templates/{template_id}?remove_disks=true يحذف القالب ويُزيل بشكل اختياري أقراص التخزين الخلفية المرتبطة به.