حلّ المجتمع

إضافات ZVM لنظام ZimaOS: التشغيل التلقائي، واللقطات، والتمرير المباشر عبر USB/PCIe، والنسخ الاحتياطي للآلات الافتراضية

A May-August 2026 community project that adds operational controls beside ZimaOS's built-in ZVM: autostart, snapshots, USB and PCIe passthrough, VM backup/export, remote storage, metrics, NIC switching, power controls, and a VNC console. IceWhale staff praised the work but it remains a community add-on.

ZVM Extras هو امتداد مجتمعي أُنشئ لسد الثغرات التشغيلية المحيطة بمدير ZVM المدمج في ZimaOS، من دون استبدال ZVM نفسه. يظل ZVM الرسمي مسؤولًا عن إنشاء الأجهزة الافتراضية وتحريرها؛ بينما يعمل ZVM Extras إلى جانبه باعتباره امتدادًا منفصلًا systemd-sysext وحدة ويتحدث إلى خلفية libvirt نفسها.

بدأ المشروع في مايو 2026 على ZimaOS 1.6.1، مع التشغيل التلقائي واللقطات وتمرير USB والتخزين البعيد والنسخ الاحتياطية وآليات المراقبة والمقاييس. ثم تطور بسرعة من خلال اختبارات المجتمع. يوثق المستودع العام الحالي الإصدار v0.7.0، الذي تم التحقق منه على ZimaOS 1.7.0-beta1، مع إصلاح عدة أخطاء من الإصدار v0.6.3 بالفعل.

يوسّع ZVM بدلًا من استبداله

تجنب مؤلف المصدر عمدًا إنشاء مدير ثانٍ للأجهزة الافتراضية. إذ يقرأ ZVM Extras قائمة الأجهزة الافتراضية نفسها ويعمل عبر libvirt/virsh، بينما تظل واجهة ZVM العادية المرجع المعتمد لإنشاء الأجهزة الافتراضية وتحريرها في الاستخدام المعتاد.

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

يضيف التشغيل التلقائي ترتيبًا وفاصلًا زمنيًا لكل جهاز افتراضي

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

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

تتعامل اللقطات مع الأجهزة الافتراضية قيد التشغيل والمتوقفة بطرق مختلفة

علامة تبويب اللقطات في ZVM Extras تعرض جهازًا افتراضيًا يعمل بنظام Linux، مع عناصر تحكم لإنشاء اللقطة وتحديد هدف التخزين والاستعادة والحذف
يوفر الامتداد واجهة رسومية لإنشاء اللقطات واستعادتها وحذفها، بدلًا من مطالبة المستخدمين بإدارتها يدويًا باستخدام virsh.

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

يمكن أيضًا استخدام التخزين البعيد عبر NFS أو SMB كهدف للقطات، مما يقلل الضغط على جهاز NVMe المحلي.

أصبح تمرير USB سير عمل عبر واجهة رسومية

علامة تبويب تمرير USB في ZVM Extras تعرض أجهزة USB المضيفة، مع عناصر تحكم للإرفاق والفصل الدائمين
يعرض المشروع المصدر أجهزة USB المضيفة، ويتيح إرفاقها بشكل دائم بآلة افتراضية محددة دون تعديل XML الخاص بـ libvirt يدويًا.

كما توفّق الإضافة مرفقات USB الدائمة إذا أعادت واجهة ZVM العادية لاحقًا كتابة إعدادات الضيف وأزالت إدخال جهاز المضيف.

يستخدم تمرير PCIe تقنية VFIO ومجموعات IOMMU

بحلول الإصدار v0.4.0، أضاف ZVM Extras ميزة تمرير PCIe. وتعرض الواجهة مجموعات IOMMU وبرنامج التشغيل لدى المضيف، وتحظر أجهزة الجسر غير المناسبة بوضوح، وتستخدم VFIO للتخصيص.

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

يمكن للتخزين البعيد استضافة اللقطات والنسخ الاحتياطية

علامة تبويب التخزين البعيد في ZVM Extras لإضافة مشاركات NFS أو SMB كوجهات للقَطَات والنسخ الاحتياطية
يمكن إعداد عمليات تحميل NFS وSMB كأهداف بعيدة للقَطَات الآلات الافتراضية وتصدير النسخ الاحتياطية.

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

تصدّر النسخ الاحتياطية للآلات الافتراضية ملفات XML وصور الأقراص

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

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

تحوّل المقاييس المباشرة ZVM إلى لوحة معلومات تشغيلية أكثر فائدة

يقرأ ZVM Extras مقاييس المعالج والذاكرة والقرص والشبكة من libvirt. وأكد مستخدمون من المجتمع أن هذه القياسات عملت على آلات افتراضية تجريبية. في الإصدار v0.6.3، أبلغ أحد المستخدمين عن ظهور الذاكرة بنسبة 100% في كل آلة افتراضية؛ فتتبع المؤلف مشكلة الحساب وأصلحها في الإصدار v0.7.0، الذي أضاف أيضًا مخططات شرائطية قصيرة للسجل الزمني.

التبديل بين بطاقات الشبكة محدود عمدًا بالشبكات الموجودة

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

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

يمكن أن تصطدم الاتصالات بين الآلة الافتراضية والمضيف بحدود macvtap

تمكن أحد المستخدمين من المجتمع من الوصول إلى آلة Home Assistant الافتراضية من الشبكة المحلية، لكنه لم يتمكن من الوصول إليها من حاوية وكيل عكسي على مضيف ZimaOS عندما استخدم كلاهما بطاقة الشبكة الفعلية نفسها. اشتبه مؤلف المصدر في سلوك عزل المضيف الكلاسيكي الخاص بـ macvtap، واقترح فحص XML الخاص بالضيف.

أوضح أن هذا التفسير مجرد فرضية لأنه لم يتمكن من إعادة إنتاج الإعداد نفسه. لا تحوّله إلى سبب مؤكد من ZimaOS الجذري من دون فحص نوع الواجهة الفعلي.

أضاف المشروع مجموعة اختبارات فعلية، لكن لا تغطي كل مسارات الأجهزة

بالنسبة إلى الإصدار v0.4.0، أبلغ المؤلف عن اجتياز 63 حالة اختبار، بما في ذلك التحليل الساكن، واختبار حالات التنافس، وعناصر التحكم في CSRF/المصدر، ووسائل الحماية من حقن الوسائط والمسارات، واللقطات، وتصدير النسخ الاحتياطية، وتغييرات بطاقات الشبكة، والمقاييس. وكانت حالات إيقاف التشغيل الكامل وإعادة تشغيله وإرفاق PCIe أثناء التشغيل متعمدةً خارج نطاق الاختبارات الآلية.

ثبّت مستخدم مجتمعي ثانٍ الإصدار v0.4.0 بشكل مستقل، وأكد تحميل sysext، واكتشاف آلة افتراضية تعمل بنظام Debian، وعرض المقاييس، وإنشاء لقطة لآلة افتراضية متوقفة بنجاح.

أشادت IceWhale بالمشروع، لكنه لا يزال برنامجًا مجتمعيًا

ردّ Zima-Jerry لاحقًا بأن المشروع يبدو أنه يعالج أوجه القصور الحالية في ZVM. وهذا تأييد رسمي إيجابي، وليس إعلانًا بأن ZVM Extras أصبح جزءًا من ZimaOS أو أنه مدعوم مثل وحدة مدمجة.

قبل التثبيت، راجع مستودع ZVM Extras الحالي وحالة الإصدار. يحدد المستودع حاليًا الإصدار v0.7.0 على أنه تم التحقق منه على ZimaOS 1.7.0-beta1.

انسخ بيانات الآلة الافتراضية احتياطيًا قبل اختبار امتدادات المحاكاة الافتراضية المجتمعية

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

الأسئلة الشائعة حول ZVM Extras

هل يستبدل ZVM Extras تطبيق ZVM الرسمي؟

لا. صُمم كامتداد مرافق ويستخدم الواجهة الخلفية نفسها لـ libvirt.

هل يمكنه تمرير أجهزة USB وPCIe من خلال الواجهة الرسومية؟

نعم. يُعد تمرير USB وتمرير PCIe المستند إلى VFIO من الميزات الأساسية للمشروع.

هل يمكنه نسخ آلة افتراضية احتياطيًا إلى جهاز NAS آخر؟

يمكنه تركيب مساحة تخزين NFS أو SMB واستخدام مسارات بعيدة للقطات أو عمليات تصدير النسخ الاحتياطية.

هل يحظى ZVM Extras بدعم رسمي من IceWhale؟

لا. أشاد موظفو IceWhale به، لكن المصدر والمستودع الحالي يصفانه بأنه إضافة مجتمعية.