KVM چیست؟
KVM (Kernel-based Virtual Machine) مجازیسازی کامل تعبیهشده در هسته Linux است: هر VPS یک کامپیوتر مجازی واقعی با هسته خود است، نه یک container که هسته میزبان را مشترک میکند.
بهروزرسانی: 2026-06-12

وقتی یک آگهی VPS میگوید KVM، در حال اطلاعرسانی از اینکه کدام فناوری ایزولهسازی میان workload شما و همه دیگران قرار دارد است. KVM — Kernel-based Virtual Machine، که در ۲۰۰۷ در Linux اصلی ادغام شد — خود هسته را به یک hypervisor نوع-۱ تبدیل میکند. هر مهمان vCPUهایی دریافت میکند که توسط پسوندهای مجازیسازی سختافزاری (Intel VT-x / AMD-V) زمانبندی میشوند، دستگاههای block خودش، رابطهای شبکه خودش، و مهمتر از همه هسته خودش. سنت جایگزین — OpenVZ، Virtuozzo، LXC — containerسازی است: بسیاری از مستأجران یک هسته میزبان را مشترک میکنند که با namespaceها از هم تفکیک شدهاند. این تفاوت همه چیز را از آنچه میتوانید اجرا کنید تا اینکه چقدر از یک همسایه خصمانه ایزوله هستید شکل میدهد، به همین دلیل است که یک توضیح ساده را میطلبد.
نحوه کار KVM، به اختصار
KVM پسوندهای مجازیسازی CPU را از طریق یک ماژول هسته در معرض قرار میدهد؛ یک مدل دستگاه userspace (QEMU، معمولاً همراه با درایورهای paravirtual virtio برای سرعت دیسک و شبکه) بقیه ماشین مجازی را مونتاژ میکند. مهمان bootloader و هسته خودش را دقیقاً مثل سختافزار فیزیکی بوت میکند. وظیفه میزبان به زمانبندی vCPUها و میانجیگری I/O کاهش مییابد — syscallهای مهمان را تفسیر نمیکند، چون مهمان هسته خودش را برای آن دارد. ویژگیهای سختافزاری نیز مفید pass-through میشوند: یک مهمان KVM میتواند iptables/nftables خود را استفاده کند، ماژولهای هسته بارگذاری کند، filesystemها mount کند و هر چیزی که سختافزار مجازی پشتیبانی میکند اجرا کند.
KVM در مقابل containerها (OpenVZ / LXC)
Containerها هسته میزبان را مشترک میکنند. این آنها را سبک میکند — overhead تقریباً صفر، شروع سریع، بستهبندی فشرده — و این دقیقاً مشکل در یک محیط چند-مستأجری است:
- ایزولهسازی. یک container escape یک باگ هسته فاصله دارد، و هر مستأجر آن سطح حمله یک هسته را مشترک میکند. یک KVM escape باید از مرز VM اجرایی سختافزاری عبور کند — یک کلاس آسیبپذیری بسیار نادرتر.
- آزادی. Containerها فقط آنچه هسته میزبان اجازه میدهد اجرا میکنند: بدون هستههای سفارشی، بدون ماژول WireGuard که میزبان بارگذاری نکرده، بدون FreeBSD، بدون Windows، اغلب بدون Docker-in-container. یک مهمان KVM WireGuard، Docker تودرتو، sysctls سفارشی و هر سیستمعاملی از ده template ما را اجرا میکند.
- منابع صادقانه. تاریخ OpenVZ پر از «burst RAM» oversold و ترفندهای حسابداری هسته مشترک است. حافظه و vCPUهای KVM به VM اختصاص داده میشوند؛ oversubscription در سطح میزبان همچنان ممکن است، اما قرارداد per-guest بسیار سختتر دستکاری میشود.
Containerها فناوری عالی هستند وقتی شما میزبان را کنترل میکنید (Docker برای همین است، روی VM خودتان). به عنوان محصولی که به غریبهها فروخته میشود، هسته مشترک یک مصالحهای است که کاربران privacy-minded باید از آن صرفنظر کنند.
چرا workloadهای حریم خصوصی بر KVM اصرار دارند
سه دلیل KVM را پیشفرض برای میزبانی حریم خصوصی نگه میدارد. ویژگیهای سطح هسته: VPNها (WireGuard/OpenVPN)، Tor با sysctls سختشده، فایروالهای سفارشی و رمزنگاری دیسک همه کنترل هستهای میخواهند که یک container نمیتواند ارائه دهد. ایزولهسازی مستأجر قویتر: حافظه و فرآیندهای شما پشت یک مرز سختافزاری هستند، نه یک namespace، که وقتی نمیتوانید همسایگان خود را بررسی کنید اهمیت دارد. انتخاب سیستمعامل: مجازیسازی کامل Debian، Alpine، FreeBSD یا هر چیز دیگری را اجرا میکند — مفید وقتی مدل تهدید شما stack را دیکته میکند. رمزنگاری کامل دیسک داخل مهمان اضافه کنید و دید اپراتور میزبان به ciphertext و الگوهای ترافیک کاهش مییابد.
چه چیزی در یک آگهی «KVM VPS» بررسی کنید
KVM نام hypervisor را مشخص میکند، نه کیفیت deployment را. هنوز ارزش تأیید دارد: نوع فضای ذخیرهسازی (KVM روی spinning disk هنوز کند است — NVMe در مقابل SSD را ببینید)؛ درایورهای virtio (استاندارد de-facto؛ غیاب آنها یک stack قدیمی را نشان میدهد)؛ سیاست vCPU اختصاصی در مقابل مشترک؛ و اینکه آیا IP اختصاصی و تمیز است. هر پلن اینجا KVM روی NVMe RAID10 با virtio، root کامل و IPv4 تمیز اختصاصی است — برگه واقعیتها آن را به صورت قابل تأیید بیان میکند.
پرسشهای متداول
آیا KVM یک hypervisor نوع-۱ است یا نوع-۲؟
به طور مؤثر نوع-۱: hypervisor همان هسته Linux است که روی سختافزار bare metal اجرا میشود، با QEMU به عنوان مدل دستگاه userspace. تمایز آکادمیک از تمایز عملی کمتر اهمیت دارد — مهمانها ایزولهسازی اجرایی سختافزاری و هستههای خودشان را دریافت میکنند.
آیا میتوانم Docker را داخل یک KVM VPS اجرا کنم؟
بله، به طور بومی — هسته مهمان شما مثل هر سرور Linux از namespaceها و cgroupها پشتیبانی میکند. این الگوی استاندارد است: KVM برای ایزولهسازی مستأجر، containerهای خودتان برای بستهبندی اپلیکیشن. روی میزبانهای OpenVZ-style اغلب Docker شکسته یا ممنوع است.
آیا KVM در مقایسه با containerها هزینه عملکرد دارد؟
کمی: I/O مجازیسازیشده و زمانبندی با درایورهای virtio overhead تکرقمی-درصدی اضافه میکنند. روی فضای ذخیرهسازی NVMe این تفاوت برای workloadهای واقعی بیاهمیت است — و ایزولهسازی که با آن میخرید کل نکته اجاره از غریبههاست.
آیا میزبان میتواند حافظه یا دیسک KVM VPS من را بخواند؟
از نظر فنی اپراتور hypervisor میتواند حافظه مهمان و دیسک رمزنشده را در هر VPS تجاری بررسی کند — KVM، container یا غیر آن. KVM سطح سهل را محدود میکند، و رمزنگاری کامل دیسک داخل مهمان دید at-rest را به ciphertext کاهش میدهد. برای مدل تهدید رسمی، هر ماشین اجارهای را مطابق همین فرض در نظر بگیرید.
کدام سیستمعاملها را میتوانم نصب کنم؟
Debian 12/13، Ubuntu 22.04/24.04 LTS، AlmaLinux 9، Rocky 9، Fedora، Alpine، Arch و FreeBSD 14 از templateهای ما — این گستردگی خود یک خاصیت KVM است؛ پلتفرمهای container فقط میتوانستند نسخههای Linux از هسته میزبان را ارائه دهند.
کاوش بیشتر.
در حدود یک دقیقه یک VPS آفشور راهاندازی کنید
بدون KYC، پرداخت کریپتو، تماماً NVMe. یک پلن انتخاب کنید، با مونرو یا هر کوین اصلی پرداخت کنید و در حدود ۶۰ ثانیه دسترسی root بگیرید.
