OffshoreVps
راهنماها2 اکتبر 20266 دقیقه مطالعهنوشته‌ی تیم OffshoreVps

KVM در برابر OpenVZ: کدام مجازی‌سازی VPS بهتر است؟

مجازی‌سازی کامل در برابر کانتینرها: ایزولاسیون، دسترسی به هسته، پشتیبانی از Docker، تضمین RAM و نحوه‌ی بررسی اینکه VPS شما واقعاً روی چه چیزی اجرا می‌شود.

همهٔ VPSها یکسان ساخته نمی‌شوند. فناوری مجازی‌سازی زیرین تعیین می‌کند سرور شما چقدر ایزوله است، چه نرم‌افزاری می‌توانید اجرا کنید و چگونه عمل می‌کند. دو نامی که بیشتر می‌بینید KVM و OpenVZ هستند، در کنار LXC.

کارت‌های مقایسه‌ی کنار هم برای KVM و OpenVZ، هرکدام با یک نشانگر ایزولاسیون
مقایسه‌ی تصویری سریع KVM و OpenVZ.

دو روش ساخت سرور مجازی

مجازی‌سازی کامل (KVM) به هر مشتری یک ماشین مجازی کامل با هستهٔ (kernel) خودش می‌دهد. هایپروایزر سخت‌افزار را تقسیم می‌کند و سرور شما مثل یک رایانهٔ واقعی رفتار می‌کند.

مجازی‌سازی کانتینری (OpenVZ، LXC) هستهٔ میزبان را بین همهٔ مشتریان به اشتراک می‌گذارد. هر کانتینر فایل‌ها و پردازش‌های خودش را می‌بیند اما روی همان هستهٔ همسایگانش اجرا می‌شود.

مقایسهٔ کنار هم

KVMOpenVZ / LXC
هستهمخصوص خودتانمشترک با میزبان
ایزولاسیونقویضعیف‌تر
اجرای Docker، WireGuard، ماژول‌های هستهٔ سفارشیبلهاغلب محدود یا غیرممکن
اجرای Windowsبلهخیر
تضمین رمثابت و رزروشدهمی‌تواند بیش‌فروش شود («burstable»)
سربارکمکمترین
گام‌های این راهنما به ترتیب: ۱. دو روش ساخت سرور مجازی؛ ۲. مقایسه‌ی کنار هم؛ ۳. چرا KVM انتخاب مطمئن‌تری است؛ ۴. چه زمانی کانتینرها همچنان منطقی‌اند؛ ۵. چگونه بررسی کنیم چه چیزی دارید
گام‌های این راهنما به ترتیب.

چرا KVM انتخاب امن‌تری است

  • نرم‌افزار را شما انتخاب می‌کنید. Docker، VPN، فایروال‌هایی مانند nftables و ابزارهایی که ماژول هسته بارگذاری می‌کنند بدون کسب اجازه کار می‌کنند.
  • حافظهٔ واقعی. رمی که می‌خرید به ماشین شما اختصاص می‌یابد. میزبان‌های کانتینری گاهی بیشتر از حافظهٔ موجود می‌فروشند و امیدوارند مشتریان همه را مصرف نکنند.
  • ایزولاسیون بهتر. خطا یا حمله در ماشین مجازی همسایه بسیار کمتر به ماشین شما می‌رسد.
  • هر سیستم‌عاملی. توزیع‌های لینوکس، BSD و Windows همه بدون تغییر اجرا می‌شوند.

چه زمانی کانتینرها هنوز منطقی‌اند

کانتینرها سریع شروع می‌شوند و کم هدر می‌دهند، به همین دلیل میزبان‌ها برای پلن‌های بسیار ارزان از آن‌ها استفاده می‌کنند و شما از طریق Docker داخل VPS خودتان. برای بارهای ساده که چیز خاصی از هسته نمی‌خواهند مناسب‌اند.

چگونه بفهمیم چه داریم

systemd-detect-virt
lscpu | grep -i hypervisor
cat /proc/user_beancounters   # exists only on OpenVZ

kvm در دستور اول یعنی مجازی‌سازی کامل. اگر فایل آخر وجود داشته باشد، روی OpenVZ هستید.

پرسش‌های متداول

آیا KVM بهتر از OpenVZ است؟

برای بیشتر کاربردها بله. KVM به هر VPS هسته‌ی خودش و ایزولاسیون قوی‌تری می‌دهد، پس می‌توانید هر سیستم‌عاملی و Docker را اجرا کنید. OpenVZ هسته‌ی میزبان را به اشتراک می‌گذارد و محدودتر است.

آیا می‌توانم Docker را روی OpenVZ اجرا کنم؟

اغلب نه، یا فقط با محدودیت‌هایی، چون کانتینرها هسته‌ی میزبان را به اشتراک می‌گذارند. KVM انتخاب مطمئن‌تری برای Docker است.

آیا KVM گران‌تر است؟

کمی، چون منابع سخت‌گیرانه‌تر اختصاص می‌یابند، اما ایزولاسیون و سازگاری معمولاً می‌ارزد.