العودة إلى المقالات

WireGuard على KVM أم LXC؟ اختر الخدمة حسب الحمل

WireGuard على KVM أم LXC؟ مقارنة الأداء واختيار الخدمة | مرام هوست - WireGuard على KVM أم LXC؟ اختر الخدمة حسب الحمل

تبدو خطوة بسيطة: تنشئ ضيفاً على Proxmox وتثبّت فيه WireGuard. لكن نوع هذا الضيف يغيّر كلفة النفق على المعالج، وطريقة صيانته، وما يحدث عند نقله إلى عقدة أخرى. فلا يوجد خيار أفضل دائماً؛ يوجد خيار مناسب لحملك.

نقارن هنا بين جهاز KVM وحاوية LXC من زاوية VPN تحديداً، ثم نحوّل المقارنة إلى قرار عملي بشأن الخدمة التي تختارها. وللمقارنة العامة بين النوعين خارج سياق VPN، راجع مقال KVM أم LXC في Proxmox.

الفرق في مسار الحزمة

في جهاز KVM، للضيف نواة نظام خاصة به. تصل الحزمة إلى المضيف، ثم تعبر الكرت الافتراضي إلى نواة الضيف، وهناك يعمل WireGuard. وفي حاوية LXC لا توجد نواة ثانية: تشترك الحاوية مع المضيف في نواته، فيقع العمل كله هناك مع خطوات أقل.

مقارنة مسار الحزمة في KVM عبر الكرت الافتراضي ونواة الضيف مقابل المسار الأقصر في LXC
عدد المحطات هو الفكرة: كل عبور إضافي بين المضيف والضيف كلفة تتكرر مع كل دفعة حزم

لهذا يظهر الفرق حين ترتفع الحركة، ولا تكاد تلاحظه في نفق إدارة صغير.

كم يكلف ذلك؟

في قياس داخلي تقريبي، كلّف WireGuard داخل جهاز KVM في بيئة متداخلة نحو 1.2 نواة لكل 100 Mbps، مقابل نحو 0.3 نواة في حاوية LXC. هذا الرقم تقديري ويختلف حسب البيئة، وكلمة «متداخلة» مهمة هنا: فهو جهاز افتراضي داخل طبقة افتراضية أخرى، وهي حالة ثقيلة. فلا تعمّم الرقم على كل جهاز KVM، بل استعمله لفهم الاتجاه ثم قِس بيئتك.

أعمدة تقارن كلفة WireGuard لكل 100 ميغابت بين KVM متداخل وحاوية LXC
قياس داخلي تقريبي: لاحظ الفرق في عدد الأنوية لكل 100 Mbps، واعتبره اتجاهاً عاماً لا وعداً بنتيجة ثابتة

مثال افتراضي: لنفترض نفقاً تبلغ ذروته 500 Mbps. بالحساب الخطي على الرقمين السابقين، قد تحتاج نحو 1.5 نواة في الحاوية، ونحو 6 أنوية في جهاز KVM متداخل. أما عند 20 Mbps فالفرق جزء صغير من نواة واحدة، ولن يغيّر قرارك. لهذا لا معنى للمفاضلة بالأداء قبل أن تعرف حجم حركتك.

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

ولأن المعالج هو المورد الحاسم، تذكّر القاعدة نفسها عند أي اختيار: المسافة تكلّف عشرات الملّي ثانية والعتاد الضعيف يكلّف آلافاً. فزمن الشبكة في العراق 70–150ms، بينما يتراوح توليد الصفحة بين 150ms وأكثر من ثانيتين حسب العتاد. اسأل عن المعالج والتخزين لا عن المدينة وحدها.

ما الذي تعطيك إياه كل تقنية؟

المعيارKVMLXC
كلفة المعالج مع الحركة العاليةأعلىأقل
نواة النظامنواة مستقلة للضيفنواة المضيف
أنظمة أخرى (ويندوز، RouterOS CHR)ممكنةغير ممكنة
العزل عن المضيفأقوىأضعف نسبياً
النقل بين العقدترحيل حي؛ قرص 1GiB انقطع 423msتوقف طوال مدة النسخ
متطلبات WireGuardداخل الضيف نفسهالوحدة يجب أن تتوفر في نواة المضيف
تبويب Hardware لجهاز افتراضي في Proxmox يعرض الذاكرة والمعالج والبيوس والقرص وكرت virtio
جهاز KVM له عتاد افتراضي كامل: معالجات، وBIOS، ومتحكم أقراص، وكرت virtio. وهذا مصدر مرونته وكلفته
تبويب Resources لحاوية في Proxmox يعرض الذاكرة والسواب والأنوية والقرص الجذري فقط
الحاوية لا تعرض سوى أربعة موارد: الذاكرة، والسواب، والأنوية، والقرص الجذري. لا عتاد افتراضي ولا نواة خاصة

اختر حسب الحمل

  • نفق إدارة أو عدد قليل من الأجهزة: الفرق في المعالج لن يهمك. اختر الأبسط إدارة، وتكفي غالباً خدمة VPS بعنوان ثابت.
  • تحتاج RouterOS CHR أو ويندوز أو نواة مخصّصة: KVM هو الخيار، بصرف النظر عن فرق الأداء.
  • حركة عالية مستمرة: تصبح كفاءة المعالج هي الأساس. والحاوية على سيرفر تديره بنفسك خيار قوي، وهنا تناسبك سيرفرات Proxmox لأنك تختار نوع الضيف بيدك.
  • لا تحتمل انقطاعاً أثناء الصيانة: إن كان لديك عدة عقد، فالترحيل الحي في KVM ميزة حقيقية، بينما نقل حاوية يعني توقفاً طوال النسخ.

ويمكنك أيضاً الجمع بينهما على سيرفر واحد: حاوية لنفق الحركة العالية، وجهاز KVM للراوتر الافتراضي أو الخدمات التي تحتاج نواة مستقلة. فالمسألة ليست اختياراً واحداً للسيرفر كله، بل اختيار مناسب لكل وظيفة عليه.

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

تشغيل WireGuard في حاوية

الوحدة تكون في نواة المضيف، فتأكد منها هناك قبل إعداد الحاوية:

# على المضيف
modprobe wireguard
lsmod | grep wireguard

# داخل الحاوية vpn-01 بعد الإعداد
wg show

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

لمن تناسب هذه الخدمة؟

  • من يخطط لتمرير حركة عالية ويريد أقل كلفة ممكنة على المعالج.
  • من يحتاج نظاماً خاصاً مثل RouterOS CHR ويقبل كلفة أعلى مقابل ذلك.
  • من يريد سيرفراً واحداً يجمع حاويات وأجهزة افتراضية، كلٌّ بحسب وظيفته.

أخطاء شائعة

  • تعميم رقم من بيئة أخرى: ما قيس في بيئة متداخلة لا ينطبق حرفياً على بيئتك.
  • اختيار LXC لسرعتها ثم الحاجة إلى نواة خاصة: حدّد متطلبات النظام قبل بناء الخدمة.
  • نسيان أن الحاوية تتوقف عند النقل: لا تخطط لنقلها في وقت الذروة.
  • إعطاء نفق حركته عالية نواة واحدة: هكذا يختنق ضيف سليم الإعداد بسبب حصته فقط.
  • تعديل إعدادات الشبكة دون دليل: لا ترفع rmem أو backlog بلا عدّاد خطأ مثل UdpRcvbufErrors.

أسئلة شائعة

هل LXC أقل أماناً من KVM لنفق VPN؟

العزل في KVM أقوى لأن الضيف لا يشارك المضيف نواته. استعمل حاوية غير ممتازة الصلاحيات (unprivileged)، ولا تضع على المضيف نفسه حاويات لا تثق بما يعمل فيها.

هل أستطيع البدء بنوع ثم التغيير لاحقاً؟

نعم، لكنه ليس تحويلاً مباشراً. أنشئ الضيف الجديد وانقل إعدادات النفق إليه. احتفظ بالإعدادات والمفاتيح موثقة لتسهيل ذلك.

أيهما أفضل لنفق إدارة صغير؟

كلاهما يكفي. اختر ما تعرف إدارته أو ما تتيحه خدمتك، فالفرق لا يظهر عملياً عند الحركة القليلة.

القرار النهائي

ابدأ من الحمل لا من التقنية: كم حركة ستمرّ، وأي نظام تحتاج، وهل تحتمل التوقف عند الصيانة. إن كانت حاجتك نفقاً صغيراً، فراجع خدمة VPS. وإن كانت حركتك عالية أو تريد التحكم بنوع الضيف، فراجع سيرفرات Proxmox أو تواصل مع فريق المبيعات.

Powered by WHMCompleteSolution