Skip to content

تنسيق الأجهزة الافتراضية

يوفر Cockpit وحدة تحكم مركزية للإدارة لتنسيق دورة حياة الأجهزة الافتراضية (VMs) التي تعمل عبر خوادم Vapor الفيزيائية المضيفة. يمكن للمسؤولين مراقبة الأداء، وتوفير بيئات عمل جديدة، وإدارة مرفقات الأجهزة الافتراضية، وتنفيذ إجراءات الطاقة، وتنسيق سياسات النسخ الاحتياطي من لوحة تحكم واحدة.


1. مخزون الأجهزة الافتراضية المركزي

يدمج Cockpit الأجهزة الافتراضية عبر جميع مضيفي Vapor المتصلين في مخزون واحد.

الميزات الرئيسية

  • مخزون موحد (Unified Inventory): عرض الأجهزة الافتراضية والبحث عنها وتنظيمها في مجموعات منطقية بغض النظر عن المضيف الفيزيائي الذي تقيم عليه.
  • لوحة الموارد والمقاييس (Resource and Metrics Panel): تعرض مخططات مباشرة لوقت استخدام المعالج، وتخصيص الذاكرة، وحركة مرور الشبكة (عناوين IP/MAC)، وإنتاجية قراءة/كتابة القرص.
  • الوصول إلى وحدة التحكم (Console Access): فتح جلسات وحدة تحكم تفاعلية مباشرة (بروتوكول VNC أو SPICE) في متصفح الويب. يعامل هذا كشاشة افتراضية ولوحة مفاتيح للوصول المباشر إلى نظام التشغيل واستكشاف الأخطاء وإصلاحها.

2. معالج توفير الأجهزة الافتراضية

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

أنواع الإنشاء

النوعما يفعله
Create a New Virtual Machineبناء جهاز افتراضي من الصفر — التحديد، نظام التشغيل، البرنامج الثابت، التخزين، الشبكة، PCI، و cloud-init.
Deploy from Templateإنشاء جهاز افتراضي جديد من قالب حالي، مع اختيار اسمه والتخزين المستهدف.
Clone an Existing VMإنشاء نسخة مستقلة من إعدادات وأقراص الجهاز الافتراضي.
Clone a VM to Templateنسخ جهاز افتراضي وتسجيل النسخة كقالب قابل لإعادة الاستخدام.
Convert Template to VMتحويل مباشر للقالب في مكانه ليعود إلى جهاز افتراضي قابل للتشغيل.
Clone Template to Templateإنشاء نسخة من قالب حالي.
Convert VM to Templateتحويل قسري ومباشر في المكان لجهاز افتراضي إلى قالب.

خطوات البناء من الصفر

  1. Creation Type: اختر أحد الأوضاع المذكورة أعلاه.

  2. Placement Target: اختر مركز البيانات، والعنقود، والمضيف. يعرض Cockpit المعالج والذاكرة المتاحين لكل مضيف للمساعدة في الجدولة.

  3. Identity & OS: حدد اسم الجهاز الافتراضي؛ المعالج الافتراضي والأقصى لـ vCPUs والذاكرة (MiB) — تحجز القيم القصوى مساحة للتوصيل الساخن (Hot-plug) للمعالج/الذاكرة؛ autostart؛ البرنامج الثابت (UEFI، Secure Boot — يتطلب q35 على x86_64، وTPM)؛ وحزمة نظام التشغيل الضيف (OS family مثل Linux، Windows، FreeBSD، Other) المتغير الذي يطبق الإعدادات المسبقة لبرنامج تشغيل libvirt.

  4. Storage: أضف قرصًا واحدًا أو أكثر. كل قرص لديه إجراء (action):

    • Create New — تخصيص قرص جديد (qcow2 أو raw أو vmdk) بالحجم المحدد على مستودع تخزين.
    • Clone From — نسخ وحدة تخزين حالية.
    • Attach Existing — إرفاق وحدة تخزين موجودة بالفعل على مستودع تخزين.
    • Direct Raw Device (DRM) — تعيين جهاز كتل فيزيائي مباشر من المضيف (تنسيق raw).

    تختار أيضًا ناقل القرص (bus) (مثل VirtIO، SCSI، IDE، أو SATA)، ويمكنك إضافة وسائط ISO/CD-ROM.

  5. Network: أضف واجهات الشبكة. لكل واجهة، اختر النوع (Network، Bridge، Direct/macvtap، أو User mode)، ومحول الشبكة الافتراضي المصدر (جسر قياسي أو شبكة موزعة للعنقود)، وطراز برنامج التشغيل (VirtIO، e1000، rtl8139، أو vmxnet3)، واختياريًا عنوان MAC ثابت.

  6. Advanced: إرفاق أجهزة تمرير PCI (PCI passthrough) مثل بطاقات الرسم (GPUs) أو متحكمات الشبكة. تعين كل خانة عنوان PCI الخاص بالمضيف، مع إعدادات اختيارية لعنوان الضيف، وملف ROM، والوظائف المتعددة (multi-function)، وبطاقة الرسم الرئيسية (primary-GPU).

  7. Cloud-Init: حقن تخصيصات cloud-init عبر خمسة تبويبات — User Data، Metadata، Network Data، SSH Keys، وPackages — للتوفير التلقائي بعد الإقلاع.

  8. Review and Create: التحقق من التكوين وإرسال طلب الإنشاء غير المتزامن إلى المضيف المستهدف. مفتاح اختياري Power on VM after creation يعيد إقلاع الضيف بمجرد بنائه.

تتضمن تدفقات الاستنساخ والنشر والتحويل مجموعة مصغرة من الخطوات — عادةً اختيار المصدر، واسم جديد، و(عند نسخ الأقراص) مجمع التخزين المستهدف.


3. العمليات التشغيلية ودورة الحياة

يوفر Cockpit عناصر التحكم في الطاقة التالية للجهاز الافتراضي:

  • Power On: يشغل نظام التشغيل الضيف.
  • Pause: يوقف التنفيذ مؤقتًا، مما يجمد الحالة النشطة للمعالج والذاكرة للجهاز الافتراضي في مكانها.
  • Resume: يستأنف تنفيذ المعالج وحالة الذاكرة للجهاز الافتراضي الموقوف مؤقتًا.
  • Restart Guest OS: يطلب إعادة تشغيل من داخل الضيف (ACPI)، مما يسمح لنظام التشغيل بإعادة التشغيل بنظافة.
  • Reset (Hard): يعيد تشغيل الجهاز الافتراضي فورًا — وهو ما يعادل زر إعادة التشغيل الفيزيائي، دون تعاون من النظام الضيف.
  • Power Off (Hard): يوقف تشغيل الجهاز الافتراضي فورًا (يشبه فصل الطاقة)، مما ينهي المجال دون إيقاف تشغيل سلس من الضيف.

يُعرض كل إجراء فقط عندما ينطبق على الحالة الحالية للجهاز الافتراضي — على سبيل المثال، يظهر Resume فقط للجهاز الموقوف مؤقتًا، ويظهر Restart Guest OS / Reset (Hard) فقط أثناء تشغيله.


4. تعديل الأجهزة والمواصفات

تغير نافذة Edit Settings الأجهزة الافتراضية للجهاز. وهي منظمة في تبويبات Hardware، وOptions، وAdvanced Parameters، وتطبق على الأجهزة الافتراضية الشغالة والمتوقفة (تدخل بعض التغييرات دخل التنفيذ في الإقلاع القادم).

  • الموارد والمعالج (Resources & CPU): ضبط vCPUs والذاكرة، وهيكلية المعالج (Sockets / Dies / Cores / Threads)، وطراز المعالج. حد السقف لـ Max vCPUs وMax Memory — المعين فوق القيم الحالية — يحجز مساحة للتوصيل الساخن (Hot-plug) للمعالج والذاكرة.
  • إدارة الأجهزة (Device Management):
    • الأقراص الصلبة (Hard Disks): إضافة أو فصل الأقراص الافتراضية. يمكن إنشاء أقراص جديدة أو استنساخها أو إرفاقها أو تعيينها كجهاز كتل خام مباشر، مع ناقل وتنسيق قابلين للاختيار؛ وتدعم وسائط CD-ROM/ISO.
    • محولات الشبكة (Network Adapters): إضافة أو إزالة واجهات الشبكة (أوضاع Network أو Bridge أو Direct/macvtap أو User؛ وطرازات VirtIO / e1000 / rtl8139 / vmxnet3).
    • تمرير أجهزة PCI (PCI Device Passthrough): تعيين أجهزة PCI الخاصة بالمضيف (مثل GPUs أو متحكمات الشبكة) مباشرة إلى الجهاز الافتراضي، مع خيارات ملف ROM، والوظائف المتعددة، وبطاقة الرسم الرئيسية.
  • البرنامج الثابت والخيارات (Firmware & Options): تبديل UEFI، Secure Boot، وTPM، وتحديد المعمارية ونوع الجهاز، والتحكم في autostart with host.
  • المعلمات المتقدمة (Advanced Parameters): عرض للقراءة فقط لتعريف المجال الحالي للجهاز الافتراضي (معلمات البدء التلقائي و libvirt الأخرى)، للمرجعية واستكشاف الأخطاء وإصلاحها. يعكس هذا التبويب التكوين المباشر؛ ولا يقدم تعديلاً عليه.

5. الاستنساخ وإدارة القوالب

توحد القوالب والاستنساخ تكوينات الأجهزة الافتراضية وتسرع التوفير. تعمل جميعها من خطوة نوع الإنشاء في معالج التوفير:

  • استنساخ الجهاز الافتراضي (VM Cloning): ينشئ نسخة مستقلة من تكوين الجهاز الافتراضي المصدر وأقراصه الافتراضية. يطلب المعالج الجهاز المصدر، واسم الجهاز الافتراضي الجديد، ومجمع التخزين المستهدف لتكرار الأقراص.
  • النشر من قالب (Deploy from Template): يوفر جهازًا افتراضيًا جديدًا من قالب، مع اختيار اسمه وتخزين الوجهة.
  • استنساخ VM إلى قالب (Clone VM to Template): ينسخ الجهاز الافتراضي المصدر ويسجل النسخة كقالب للقراءة فقط في مخزون الأجهزة الافتراضية والقوالب. تجمع نافذة القالب أيضًا وصفًا اختياريًا ومجمع تخزين مستهدفًا.
  • استنساخ قالب إلى قالب (Clone Template to Template): يكرر قالبًا حاليًا.
  • تحويل VM إلى قالب (Convert VM to Template): يحول جهازًا افتراضيًا بشكل دائم إلى قالب في مكانه — وهو انتقال في الحالة يعلم الجهاز الافتراضي كقالب.
  • تحويل قالب إلى VM (Convert Template to VM): يعيد القالب إلى جهاز افتراضي مستقل، محولاً دورات الطاقة وتعديلات التكوين العادية.

6. خيارات الحذف والتنظيف

عند حذف جهاز افتراضي، يوفر Cockpit خيارات لإدارة الموارد الأساسية:

  • حذف البيانات الوصفية (Metadata Deletion): يزيل تسجيل الجهاز الافتراضي من Cockpit وتكوين hypervisor الخاص بالمضيف.
  • تنظيف التخزين (Storage Cleanup): افتراضيًا، يؤدي حذف جهاز افتراضي إلى الاحتفاظ بأقراصه الافتراضية لمنع فقدان البيانات. يمكن للمسؤولين تبديل المعلمة remove_disks (تنفيذ API DELETE /vms/:id?remove_disks=true) لحذف جميع أحجام الأقراص الافتراضية المرتبطة بها من مستودعات التخزين الخاصة بها.