ملاحظات الإصدار لـ Vapor
يتتبع هذا السجل التحديثات والميزات الجديدة وإصلاح الأخطاء الخاصة بـ وكيل مضيف Vapor.
الإصدار 3.1.0 (أغسطس 2026)
صار بإمكان مضيفات Vapor تسليم الأجهزة الافتراضية فيما بينها. يمكن نقل جهاز متوقف إلى مضيف آخر من داخل Awanio، وإلغاء النقل أثناء تنفيذه، ويُتحقق من إمكانية الوصول إلى الوجهة ومن توفر المساحة فيها قبل نسخ أي شيء. كما يمكن تخصيص مسار شبكي مستقل لحركة النسخ المتماثل والترحيل.
الميزات الجديدة:
- نقل جهاز افتراضي إلى مضيف آخر: ترحيل بارد لجهاز متوقف. يتأكد Vapor من أن الوجهة قابلة للوصول وتتسع للبيانات قبل النسخ، ويترك الأقراص الموجودة أصلًا على تخزين مشترك في مكانها، وينظّف ما خلّفه إذا فشل النسخ.
- إلغاء ترحيل جارٍ: يمكن إيقاف الترحيل أثناء تنفيذه، ويُبلَّغ عنه بوصفه ملغيًا لا فاشلًا.
- إعادة تسمية جهاز افتراضي: تسري إعادة التسمية على كل ما كان يشير إلى الاسم القديم — مسارات الأقراص في تعريف الجهاز، ومجلد النسخ الاحتياطي وأسماء ملفاته، والسجلات التي تشير إليها. ويجب أن يكون الجهاز متوقفًا حتى تُعاد تسميته.
- نقاط خدمة المضيف: خصّص لحركة النسخ المتماثل والترحيل واجهة شبكية خاصة على المضيف، منفصلة عن واجهة الإدارة، ويجري تعيينها من شاشة الواجهات.
- تجاوز الفشل غير المتزامن: يعود تجاوز الفشل بالرد فورًا ويبلّغ عن تقدمه، بدلًا من إبقاء الاتصال مفتوحًا طوال العملية.
- ملف hosts الخاص بالنظام: اعرض ملف
/etc/hostsالخاص بالمضيف وحرّره من تبويبات النظام.
التحسينات:
- شبكة افتراضية أسرع: تستخدم واجهات virtio الآن vhost وقوائم انتظار متعددة ومخازن حلقية أكبر.
- القوالب: يجري إنشاء قالب من جهاز افتراضي في الخلفية، ويمكن إلغاؤه أثناء تنفيذه.
- تعرض تفاصيل الجهاز الافتراضي تسميات الأمان التي يعمل بها، وتصرّح بوضوح حين يعجز المضيف عن الإبلاغ عنها.
- يذكر Vapor أثناء تشغيله أي إصدار بناء هو بالضبط، في
--versionوفي نقطة نهاية الحالة الصحية معًا. - تُرفض أسماء الأجهزة الافتراضية التي تحتوي مسافات أو رموزًا خاصة منذ البداية، بدلًا من قبولها ثم تعذّر التعامل معها لاحقًا.
إصلاح الأخطاء:
- كان اختبار التعافي من الكوارث يبني جهاز الاستعادة من تعريف الجهاز المصدر العامل بدلًا من نسخته المتماثلة، فينقل معه أقراص CD-ROM والأقراص المرنة الخاصة بالمصدر.
- كانت إعادة الحماية بعد العودة قد تشتق اسمًا خاطئًا، ولم يكن الجهاز المستعاد يحتفظ بمعرّفه الأصلي، فتفقد الدورة الثانية أثر الجهاز الأصلي.
- كانت النسخة الاحتياطية التزايدية التي نسخت القرص بالكامل فعليًا تُسجَّل رغم ذلك كنسخة تزايدية.
- لم تكن نتيجة تجاوز الفشل تُسجَّل إذا توقف الطرف الطالب عن الانتظار.
- كان استنساخ جهاز افتراضي متصل به ISO أو CD-ROM يفشل دون بيان السبب.
- لم تكن العُقد المضافة إلى عنقود o2cb تُسجَّل، ولم تكن إعادة محاولة تنزيل الصورة تذكر سبب فشل المحاولة السابقة.
الإصدار 3.0.2 (أغسطس 2026)
أصبح بإمكان Vapor العمل كموقع للتعافي من الكوارث. يتم نسخ الجهاز الافتراضي المحمي إلى موقع ثانٍ وفق جدول زمني، ويمكن تشغيله هناك عند الحاجة، ثم تتم حمايته مجددًا في الاتجاه المعاكس.
الميزات الجديدة:
- النسخ المتماثل بين المواقع: احمِ جهازًا افتراضيًا بنسخه إلى موقع ثانٍ وفق جدول تحدده أنت، مع الاحتفاظ بنقاط الاستعادة يوميًا أو أسبوعيًا أو شهريًا.
- تجاوز الفشل (Failover): شغّل الجهاز الافتراضي المحمي في موقع الاستعادة — إما تجاوزًا مخططًا مع مزامنة أخيرة وإيقاف سليم للجهاز الأصلي، أو تجاوزًا غير مخطط عندما يتعذر الوصول إلى الموقع المصدر. تُعاد مطابقة الواجهات مع شبكات موقع الاستعادة، وتحط الأقراص في المجمع الذي اخترته، ويمكن للنظام الضيف أخذ عنوان جديد عند التشغيل.
- اختبار تجاوز الفشل: شغّل النسخة المتماثلة على شبكة معزولة للتأكد من إقلاعها، بينما يستمر الجهاز الأصلي في الخدمة.
- إعادة الحماية (Reprotect): بعد تجاوز الفشل، يصبح الجهاز المستعاد مصدرًا محميًا بذاته، ويستأنف النسخ المتماثل في الاتجاه المعاكس.
- النسخ الاحتياطي للكتل المتغيرة: ينسخ النسخ الاحتياطي التزايدي الكتل التي تغيرت منذ النسخة السابقة فقط.
التحسينات:
- يتم التحقق من كل نسخة متماثلة مقابل مصدرها قبل اعتمادها كنقطة استعادة.
- يستأنف النقل المتوقف من حيث توقف بدلًا من البدء من جديد.
- يتوقف النسخ الاحتياطي مبكرًا برسالة واضحة عند نقص مساحة العمل المؤقتة، ويعرض تقدمه أثناء التشغيل.
- اختر الأقراص التي يتم نسخها، واطلب نسخة ساكنة (quiesced)، وأوقف الحماية مؤقتًا أو استأنفها في أي وقت.
- إخراج قرص CD-ROM، وتغيير حجم وحدة تخزين أثناء تشغيل الجهاز الافتراضي، وحفظ أقراص كل جهاز في مجلد خاص به.
الأمان:
- تمت إزالة نقطة النهاية التي كانت تكتب بيانات خام في قرص الجهاز الافتراضي، وأصبح مسار القراءة المتبقي يحدد القرص بعنوانه الخاص لا بمسار ملف يُرسل في الطلب. الإصداران 3.0.0 و 3.0.1 متأثران؛ يُرجى الترقية إلى 3.0.2.
- يرفض Vapor صور الأقراص التي تعيد توجيه القراءة إلى ملفات أخرى على المضيف.
إصلاح الأخطاء:
- التحديث الفاشل يتراجع عن نفسه الآن. يتأكد Vapor من أن الإصدار الجديد يعمل فعلًا ويحتفظ بالإصدار السابق قبل التبديل. وإذا تعذر تشغيل الإصدار الجديد، يُستعاد السابق وتعود الخدمة تلقائيًا — فلم يعد المضيف يبقى بحاجة إلى استعادة يدوية.
- كان اختبار تجاوز الفشل على جهاز متعدد الأقراص يوجّه قرصًا واحدًا فقط إلى النسخة المتماثلة.
- لم تكن سياسة الاحتفاظ قادرة على استرجاع المساحة من سلسلة طويلة من نقاط الاستعادة التزايدية.
- كانت المزامنة تُسجَّل كناجحة قبل وصول نقطة الاستعادة فعليًا إلى موقع الاستعادة.
- كان حذف نسخة احتياطية يترك نقطة تفتيش تتبع التغييرات الخاصة بها، فلا تُسترجع المساحة.
- كانت قراءات الذاكرة والمعالج لجهاز افتراضي قيد التشغيل تتجاوز قيمها الحقيقية أحيانًا.
الإصدار 3.0.1 (يوليو 2026)
يضيف دعم الترحيل الدافئ (warm migration) — إذ يمكن لمضيف Vapor الآن أن يكون وجهة لترحيل حي بأقل توقف ممكن لجهاز افتراضي قيد التشغيل — إلى جانب إدارة حزم نظام التشغيل من الواجهة وتحسينات عامة في الموثوقية.
الميزات الجديدة:
- وجهة الترحيل الدافئ: يستطيع مضيف Vapor الآن استقبال ترحيل حي لجهاز افتراضي قيد التشغيل. يظل النظام الضيف في الخدمة أثناء النقل ولا يتوقف إلا لبرهة قصيرة عند التبديل. يعمل مع Condensa و Cockpit لجلب أجهزة Proxmox العاملة إلى Awanio.
- إدارة مكتبات وحزم نظام التشغيل: تصفح مكتبات نظام التشغيل والحزم على المضيف وأدرها من تبويبات النظام.
التحسينات:
- أداة التحديث: تخبرك الآن عند توفر إصدار رئيسي جديد، بدلًا من الإبلاغ بأن النظام محدّث.
إصلاح الأخطاء:
- يعيد تسجيل الدخول الفاشل الآن رسالة خطأ واضحة بدلًا من خطأ في الخادم.
- تعزيز الأمان والموثوقية عبر وكيل المضيف بالكامل.
الإصدار 3.0.0 (يوليو 2026)
إصدار رئيسي يضيف دعم NVIDIA vGPU، ومستوى بيانات الترحيل المستند إلى VDDK لاستيراد الأجهزة الافتراضية من المنصات الأخرى، ونسخ احتياطي تزايدي أكثر مرونة، وإدارة التخزين المجمع (OCFS2/O2CB)، وموقف أمني مُحكَم ومغلق عند الفشل (fail-closed).
تغيير جذري — إجراء مطلوب
يعمل وكيل Vapor الآن بأسلوب المغلق عند الفشل (fail-closed): لن يتم التوثيق بدون سر توقيع مكوّن، وتُشتق الأذونات من الهوية الموثقة. قم بتهيئة سر JWT على كل مضيف قبل الترقية.
الميزات الجديدة:
- NVIDIA vGPU (الأجهزة الوسيطة): دعم كامل لتقسيم وحدة GPU الفيزيائية إلى وحدات GPU افتراضية — التنسيق من جانب المضيف ونقاط نهاية API، ومثبت NVIDIA vGPU Manager الموجه مع فحوصات ما قبل التشغيل، وعرض إدارة الأجهزة على مستوى المضيف، ومعرفة عدد المثيلات المتاحة لكل ملف تعريف.
- مستوى بيانات الترحيل الدافئ/البارد (VDDK): محرك استيراد أقراص لجلب VM من VMware، بما في ذلك التحويلات التزايدية (كتلة متغيرة/CBT)، وبناء ملحق nbdkit + VDDK حديث، والكشف التلقائي عن الملحقات، وإدارة إصدارات VDDK المثبتة. يتم تتبع تقدم الاستيراد مباشرة.
- إدارة مكتبات الطرف الثالث: تثبيت وإدارة مكونات VDDK و NVIDIA vGPU من تبويبات النظام، مع دعم التحميل القابل للاستئناف (TUS) للملفات الكبيرة.
- واجهة برمجة تطبيقات وكيل الضيف (Guest Agent API): واجهة عامة لوكيل ضيف QEMU (الأمر الخام والـ exec)، بالإضافة إلى نقاط نهاية لضمان قناة الوكيل وإزالة ملفات بذور cloud-init.
- إدارة عنقود O2CB / OCFS2: وضع الصيانة مع تكوين التمهيد الدائم، وواجهة API لإدارة مهلة دقات القلب/الشبكة، والتحديد الصريح للعنقود عند إنشاء مجمعات OCFS2، والتمهيد الأولي للعنقود — كل ذلك مع فحوصات السلامة التي تراعي مساحة أسماء المضيف.
التحسينات:
- ترحيل أكثر أمانًا: تتطلب واجهة المستخدم للترحيل الآن تأكيد الإجراءات المدمرة، ويتم تقليم متجر الترحيل تلقائيًا مع الإبلاغ دائمًا عن أحدث حالة.
- استعادة أفضل: اختر مجمع تخزين مستهدف، واسترد إلى نسخة قرص مستقلة، وقم بإرفاق الأقراص الحالية مع تحذيرات تبعية واضحة للسلاسل التزايدية/التفاضلية.
- متصفح التخزين: إعادة تسمية الملفات ونقلها وتتبع المرفقات بالآلات الافتراضية في المتصفح.
- تعديل الآلات الافتراضية: التحقق من صحة وضع CPU المخصص، والحفاظ على إعدادات البرامج الثابتة/الجهاز للآلات الافتراضية الشغالة حتى لا يتم رفض التعديلات.
- العمليات: يستهدف بناء
deploy-peersتوزيع الملف التنفيذي على المضيفين الأقران وإعادة تشغيل الخدمة.
الأمان:
- توثيق مغلق عند الفشل مع تثبيت خوارزمية التوقيع واشتقاق الأذونات من الهوية الموثقة.
- تحديد المعدل (Rate-limiting) على نقاط نهاية تسجيل الدخول، ومعالجة ترويسات الوكيل الموثوقة، وحماية SSRF على العمليات المدفوعة بـ Ansible.
- متابعة إعادة تدقيق تغطية التفويض عبر المعالجات.
إصلاح الأخطاء:
- النسخ الاحتياطي التزايدي: الحذف والاحتفاظ لم يعد يدمر السلاسل التزايدية؛ وتم اكتشاف الفشل الصامت في إعادة تأسيس الفروق (rebase-delta)؛ ولم يعد
qemu-imgينشئ الصورة الوجهة؛ والمهام المقاطعة لم تعد تفسد الأهداف التزايدية. - أداء واستقرار Libvirt: تحسين سرد المجمعات، وإعادة تدوير الاتصالات دوريًا، ومهل الطلبات، وتهيئة حلقة الأحداث، وإصلاحات تسرب الموارد التي حلت التأخير السابق؛ وتم كبح عمليات مسح المقاييس عبر الطيران الفردي والتربيد (caching).
- إصلاح تسرب goroutine لمضخة مقاييس WebSocket عند إلغاء الاشتراك/إعادة الاشتراك.
- إصلاح فشل العمود المكرر (الترحيل 21) على قواعد البيانات التي لم تشغل الترحيل 20 مطلقًا.
- تصحيح تنسيق البيانات الوصفية للآلة الافتراضية بعد تحديثات البيانات الوصفية، وإضافة جهاز رسومات VNC افتراضي حتى تتم التمهيدات المستردة بشكل نظيف.
- يتسامح التحقق من صحة الترخيص مع عقد نبضات القلب المنتهي لمستوى التحكم خلال نافذة التحديث.
- الجلسات لم تعد تنتهي مهلتها أثناء المهام الخلفية الكبيرة وعمليات التحميل الطويلة.
- إصلاح ترحيل Windows BIOS وتحديث أدوات v2v.