العربية

ما هي المحاكاة الافتراضية KVM على VPS لينكس

2 min
استضافة VPS/VDS

تقنية KVM (Kernel-based Virtual Machine) هي تقنية المحاكاة الافتراضية المدمجة في نواة لينكس. على VPS Linux Infrawire يعني ذلك أن خادمك يتصرف كجهاز حقيقي له نواته الخاصة، لا كمجلد بسيط معزول داخل نظام شخص آخر. يشرح هذا الدليل الفرق بينها وبين تقنيات الحاويات، ويوضح كيف تتحقق من ذلك بنفسك.

📋 المتطلبات المسبقة

  • خادم VPS لينكس (Ubuntu 24.04 أو Debian 12 أو AlmaLinux 9 أو Rocky Linux 9)
  • وصول SSH بصلاحية root أو بمستخدم يملك sudo
  • معرفة أساسية بسطر الأوامر

1. كيف تعمل KVM

تحوّل KVM نواة لينكس في الخادم الفعلي إلى مراقب افتراضي (hypervisor). كل آلة افتراضية هي عملية عادية يديرها QEMU، لكنها ترى عتاداً مُحاكى: معالجاً وذاكرة وقرصاً وبطاقة شبكة. وبفضل امتدادات المحاكاة الافتراضية في المعالج (Intel VT-x وAMD-V) يعمل كود الضيف بسرعة تقارب السرعة الأصلية.

داخل الآلة الافتراضية تثبّت نظام تشغيل كاملاً بنواته ونظام الإقلاع (init) وعملياته الخاصة. من وجهة نظرك هو خادم مخصص.

2. KVM مقابل OpenVZ وLXC

تعمل تقنيات الحاويات بشكل مختلف:

  • OpenVZ وLXC: تتشارك كل الحاويات نواة المضيف. تحصل فقط على مساحة مستخدم معزولة. لا يمكنك تغيير النواة أو تحميل الوحدات أو اختيار إصدار النواة.
  • KVM: محاكاة افتراضية كاملة. يقلع كل VPS نواته الخاصة ويملك حصته الخاصة من الذاكرة والقرص.

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

3. لماذا هذا مهم على VPS

مع نواتك الخاصة يمكنك:

  • تحميل وحدات النواة مثل WireGuard وbr_netfilter أو nf_conntrack
  • تشغيل Docker ومحركات الحاويات الأخرى دون قيود (cgroups ونظام ملفات overlay وiptables)
  • ضبط النظام عبر sysctl (مخازن الشبكة المؤقتة وتمرير IP والتحكم في الازدحام BBR)
  • استخدام جدار الحماية الخاص بك وملف التبديل وأي نظام ملفات تريده
  • تثبيت إصدار آخر من النواة من توزيعتك
Bash
# عرض النواة قيد التشغيل uname -r # عرض معاملات النواة التي يمكنك تغييرها sudo sysctl net.ipv4.ip_forward net.ipv4.tcp_congestion_control

4. تحقق من أنك على KVM

أبسط طريقة هي systemd-detect-virt:

Bash
systemd-detect-virt # الناتج المتوقع: kvm

إذا أظهر الأمر openvz أو lxc أو docker فأنت داخل حاوية. أما none فتعني جهازاً فعلياً.

يمكنك التأكيد باستخدام lscpu:

Bash
lscpu | grep -iE 'hypervisor|virtualization type' # Hypervisor vendor: KVM # Virtualization type: full

وعبر رسائل إقلاع النواة:

Bash
sudo dmesg | grep -i -E 'kvm|hypervisor' # Hypervisor detected: KVM

وأخيراً يعرض hostnamectl سطر Virtualization: kvm.

5. اختبر ما تمنحه KVM

تحقق من قدرتك على تحميل وحدة وتشغيل الحاويات:

Bash
# Ubuntu 24.04 / Debian 12: وحدة WireGuard sudo modprobe wireguard lsmod | grep wireguard # ثبّت Docker من مستودع التوزيعة وشغّل حاوية اختبار sudo apt update && sudo apt install -y docker.io sudo docker run --rm hello-world

على AlmaLinux 9 أو Rocky 9 استخدم sudo dnf install -y wireguard-tools للأدوات، واتبع وثائق Docker الرسمية (docs.docker.com) لتثبيت المحرك.

🔧 استكشاف الأخطاء

dmesg: read kernel buffer failed: Operation not permitted
تقصر النواة استخدام dmesg على root. شغّله بـ sudo أو استخدم sudo journalctl -k.

modprobe: FATAL: Module wireguard not found
تفتقر بعض الصور المصغّرة إلى الوحدات الإضافية. على Ubuntu ثبّت linux-modules-extra-$(uname -r). إذا حدّثت النواة للتو فأعد التشغيل أولاً ليتطابق uname -r مع الوحدات المثبتة.

systemd-detect-virt: command not found
الصورة لا تحوي systemd أو أنها مصغّرة جداً. استخدم lscpu أو dmesg بدلاً منه، أو ثبّت حزمة systemd.

يشتكي Docker من cgroups أو iptables
تحقق من أن الخدمة تعمل عبر systemctl status docker، ومن أنك لم تعطّل nf_tables أو iptables في إعداد جدار حماية مخصص.


🚀 أصبحت تعرف ما تضيفه KVM إلى خادمك: نواة حقيقية وتحكم كامل ولا حدود خفية من المضيف.

ابقَ على اطلاع بأحدث العروض والخصومات والعروض الترويجية الخاصة.

عرض العروض الترويجية

نستخدم ملفات تعريف الارتباط

نستخدم كوكيز تحليلية لتحسين تجربتك. لا نبيع البيانات لأطراف ثالثة. المزيد في سياسة الخصوصية.