نکات کلیدی
- ساخت ماشین مجازی روی سرور اختصاصی با KVM مجاز است یا محدودیتی دارد؟
- برای تشخیص، به واژه های کنار آن نگاه کنید؛ کنسول و BIOS نشانهٔ سخت افزار است و ماشین مجازی و VPS نشانهٔ مجازی سازی.
- اگر روی سرور، مجازی سازی راه می اندازید، KVM هایپروایزری است که داخل هستهٔ لینوکس می نشیند و با QEMU و libvirt به یک پلتفرم کامل تبدیل می شود.
واژهٔ KVM را در دو موقعیت کاملاً متفاوت میشنوید؛ یکبار روی پنل سرور، جایی که دنبال دیدن تصویر دستگاه هستید و یکبار در مشخصات یک سرور مجازی، جایی که صحبت از فناوری مجازیسازی است. این راهنما همان ابهام را برمیدارد: نخست روشن میکنیم هر بار کدام مفهوم مراد است، سپس کنسول و سوئیچ و هایپروایزر را کنار هم میگذاریم و در پایان چکلیست انتخاب سرور و امنکردن این دسترسی را مرور میکنیم.
در یک نگاه
- ◆ در سختافزار، KVM یعنی کیبورد، تصویر و ماوس؛ ابزاری برای دیدن و کنترل سرور.
- ◆ در نرمافزار، KVM یعنی هایپروایزری که داخل هستهٔ لینوکس مینشیند.
- ◆ کنسول مستقل از سیستمعامل کار میکند؛ پس برای نصب، بوت و بازیابی سرور حیاتی است.
- ◆ هایپروایزر KVM با QEMU و libvirt به یک پلتفرم مجازیسازی کامل تبدیل میشود.
دو مفهوم متفاوت که یک نام دارند
KVM یک سرنام است، اما دو سرنام مستقل. در دنیای سختافزار از Keyboard, Video, Mouse ساخته شده و به ابزارهایی اشاره دارد که تصویر و ورودی یک سرور را به دست شما میرسانند. در دنیای نرمافزار مخفف Kernel-based Virtual Machine است؛ ماژولی در هستهٔ لینوکس که همان سرور را به میزبان چند سیستمعامل تبدیل میکند. تنها نقطهٔ اشتراک این دو، همان سه حرف است.
▍ یک: KVM در نقش کنسول، ورودی و تصویر سرور
در اتاق سرور، برای هر دستگاه یک مانیتور و کیبورد جداگانه نمیگذارند؛ یک کنسول مشترک میان دهها سرور تقسیم میشود و مدیر با یک کلید میان آنها جابهجا میشود. نکتهٔ مهم این مسیر آن است که تصویر را مستقیم از سختافزار میگیرد، پس به سیستمعامل، درایور یا سرویس در حال اجرا وابسته نیست و از نخستین لحظهٔ روشن شدن دستگاه کار میکند.
▍ دو: KVM در نقش هایپروایزر، میزبانی چند سیستمعامل
در این معنا، KVM راهکار مجازیسازی پردازندههای x86 است؛ از سالها پیش در بدنهٔ هستهٔ لینوکس قرار گرفته و روی افزونههای سختافزاری Intel VT و AMD-V سوار میشود. هر ماشین مجازی اینجا یک پردازهٔ لینوکسی معمولی است که سختافزار مجازی، حافظه و دیسک مستقل خودش را دارد.

سه مسیر برای رسیدن به صفحهٔ سرور
برای سروری که در دسترس فیزیکی شما نیست، سه راه وجود دارد و انتخاب درست به نوع سرور و محل نگهداری آن بستگی دارد. این جدول تفاوتها را روشن میکند:
| ویژگی | سوئیچ KVM | KVM over IP | کنسول مجازیساز |
|---|---|---|---|
| محل اجرا | تجهیز سختافزاری داخل رک | کنترلر مدیریتی روی مادربرد یا دستگاه مجزا | نرمافزار خود هایپروایزر |
| نیاز به شبکه | ندارد | دارد؛ شبکه یا VPN | دارد |
| دسترسی به BIOS و POST | دارد | دارد | ندارد؛ فقط BIOS مجازی هر ماشین |
| مناسب برای | مدیر حاضر در دیتاسنتر | سرور اختصاصی و اجارهای | سرور مجازی و ابری |
| نمونههای شناختهشده | کنسول کشویی رک | iLO، iDRAC، IPMI | کنسول وب هایپروایزر |
▍ سوئیچ KVM؛ کارآمد تنها در حضور فیزیکی
سوئیچ KVM چند دستگاه را به یک کنسول وصل میکند و بیشتر در رکهای داخل دیتاسنتر به کار میآید. تأخیر نزدیک به صفر و جابهجایی سریع میان سرورها مزیت آن است، اما شرط استفاده این است که کنار رک حاضر باشید؛ یعنی برای یک تغییر کوچک هم باید به محل نگهداری سرور بروید.
▍ KVM over IP؛ همین کنسول، این بار در مرورگر
اینجا سیگنال تصویر دیجیتال میشود و در یک مرورگر بالا میآید. از همان لحظهٔ روشن شدن سرور، پیامهای POST و منوی BIOS را میبینید و کلیدهای کیبورد و حرکت ماوس شما مستقیم به دستگاه میرسد. اگر Virtual Media هم در دسترس باشد، فایل ISO را از راه دور وصل میکنید و نصب سیستمعامل را هم از همانجا تمام میکنید. روی سرورهای سازمانی این کار به دستگاه اضافه نیاز ندارد؛ کنترلر مدیریتی روی مادربرد آن را انجام میدهد: در سرورهای HPE با نام iLO، در محصولات Dell با iDRAC و در بسیاری از سرورهای دیگر بر پایهٔ استاندارد IPMI.
▍ کنسول مجازیساز؛ ابزار روزمرهٔ سرورهای ابری
در سرور مجازی خبری از کنترلر مدیریتی نیست؛ خود هایپروایزر یک کنسول وب در اختیار شما میگذارد که معمولاً از داخل پنل کاربری باز میشود. این کنسول برای عیبیابی داخل ماشین مجازی مناسب است، اما به BIOS سرور فیزیکی دسترسی نمیدهد.

شش لحظهای که کنسول نجاتدهنده است
کار روزمره با SSH و ریموت دسکتاپ سریعتر و راحتتر است؛ کنسول ابزار اضطراری و نصب به شمار میآید. این شش موقعیت را جدی بگیرید:
۱
سیستمعامل پس از یک بهروزرسانی هسته بالا نمیآید و صفحه، خطای kernel panic را نشان میدهد.
۲
یک قانون فایروال، دسترسی SSH یا ریموت دسکتاپ را قطع میکند و سرور از بیرون بیپاسخ میشود.
۳
آدرس شبکه یا تنظیمات کارت شبکه اشتباه ثبت شده و مسیر ورود به سیستمعامل بسته است.
۴
ترتیب بوت، آرایهٔ RAID یا ساختار پارتیشنها باید در مرحلهٔ POST اصلاح شود.
۵
نصب مجدد یا ارتقای سیستمعامل از راه دور لازم است و باید فایل ISO را از همانجا وصل کنید.
۶
خطای سختافزاری فقط در پیامهای اولیهٔ بوت دیده میشود و در گزارشهای سیستم ثبت نمیشود.
مجازیسازی KVM در عمل
هایپروایزر KVM بهتنهایی فقط شتابدهندهٔ سختافزاری است و برای ساختن یک پلتفرم کامل، چند قطعه در کنار هم مینشینند. به همین دلیل، هر ماشین مجازی روی KVM مانند یک پردازهٔ معمولی لینوکس توسط زمانبند استاندارد هسته مدیریت میشود و از بهبودهای هسته در مدیریت حافظه بهره میبرد.
▍ سه قطعهٔ اصلی: QEMU، libvirt و VirtIO
سختافزار مجازی مثل دیسک، کارت شبکه و کارت گرافیک را شبیهسازی میکند و هنگام اجرا، ماژول KVM را برای شتابدهی بارگذاری میکند.
یک لایهٔ مدیریتی و رابط برنامهنویسی یکسان که ابزارهایی مثل virsh و virt-manager روی آن ساخته شدهاند و مدیریت چند ماشین را ساده میکند.
درایورهای پاراویرچوال برای کارایی بیشتر؛ سیستمعامل مهمان میداند که روی هایپروایزر اجرا میشود. برای دیسک، کنترلر VirtIO توان نوشتن ترتیبی را نسبت به کنترلر IDE شبیهسازیشده تا حدود دو برابر بالا میبرد.
▍ پیشنیاز سختافزاری و راه بررسی آن
پردازنده باید از فناوری مجازیسازی پشتیبانی کند و این گزینه در BIOS فعال باشد. برای نمونه، پردازندهٔ Xeon E5-2680 v4 طبق مستندات سازنده از VT-x، VT-d و EPT پشتیبانی میکند. روی اوبونتو، وضعیت سرور را با چند فرمان ساده بررسی کنید:
اگر خروجی فرمان نخست صفر باشد، یا پردازنده از مجازیسازی پشتیبانی نمیکند یا این قابلیت در BIOS خاموش است؛ همینجا کنسول KVM به کمک میآید و وارد تنظیمات BIOS میشوید. دو معنای KVM در همین نقطه به هم میرسند.

KVM، کانتینر یا هایپروایزر نوع یک؟
هر ماشین مجازی هستهٔ مستقل خودش را دارد، پس لینوکس و ویندوز کنار هم اجرا میشوند و جداسازی قویتری به دست میآید؛ در عوض سربار منابع کمی بیشتر است.
همهٔ سرویسها هستهٔ میزبان را به اشتراک میگذارند؛ سبکتر و سریعتر بالا میآیند، اما عملاً به یک خانوادهٔ سیستمعامل محدود میمانند و تغییر هسته در آنها معنا ندارد.
راهکارهایی مثل ESXi و Hyper-V هم کارایی نزدیکی دارند، اما هزینهٔ لایسنس و زنجیرهٔ ابزار اختصاصی را باید در نظر گرفت؛ KVM متنباز است و هزینهٔ لایسنس هایپروایزر ندارد.
مزیتها و هزینههای انتخاب KVM
- بدون هزینهٔ لایسنس، چون بخشی از هستهٔ لینوکس است.
- جداسازی کامل میان ماشینهای مجازی و امنیت مبتنی بر SELinux و sVirt.
- مهاجرت زندهٔ ماشینها و پشتیبانی از پلتفرمهای مدیریتی بزرگ.
- اکوسیستمی گسترده از ابزار متنباز و مستندات عمومی.
- رابط گرافیکی بومی ندارد و به یک لایهٔ مدیریتی نیاز دارد.
- بدون پشتیبانی پردازنده از VT یا AMD-V روی آن حساب نکنید.
- برای کارایی بهتر در مهمان ویندوزی، درایورهای VirtIO را جداگانه نصب کنید.
- مدیریت بکاپ و اسنپشات ماشینها به عهدهٔ خود شماست.
پیش از سفارش سرور، این هفت پرسش را بپرسید
اگر قصد اجارهٔ سرور اختصاصی یا مجازی دارید، پاسخ این هفت پرسش تفاوت یک انتخاب آسوده با چند روز سردرگمی است:
۱
برای دسترسی اضطراری، کنسول KVM یا IPMI در پنل مدیریت وجود دارد؟
۲
کنترلر مدیریتی چه سطحی از دسترسی را میدهد و امکان اتصال ISO از راه دور دارد؟
۳
پردازنده از VT-x یا AMD-V پشتیبانی میکند و در BIOS فعال است؟
۴
ساخت ماشین مجازی روی سرور اختصاصی با KVM مجاز است یا محدودیتی دارد؟
۵
نوع و ظرفیت دیسک، پهنای باند و توان مقابله با حملهٔ DDoS چگونه است؟
۶
تحویل و نصب سیستمعامل چه مدت طول میکشد و به ساعات کاری محدود است؟
۷
بکاپ و اسنپشات در اختیار شماست یا سرویسدهنده آن را مدیریت میکند؟
چکلیست امنیت دسترسی مدیریتی
- رابط مدیریتی را روی شبکهٔ جداگانه یا پشت VPN نگه دارید، نه روی اینترنت باز.
- رمز پیشفرض را همان روز نخست عوض کنید و ورود دو مرحلهای را فعال بگذارید.
- فریمور کنترلر مدیریتی را بهروز نگه دارید؛ این بخش هم هدف حملات است.
- برای هر شخص حساب جداگانه بسازید و دسترسی را پس از پایان کار بردارید.
- ورودهای کنسول را ثبت و دورهای بازبینی کنید تا دسترسی غیرمنتظره را زود ببینید.
- در سرورهای اجارهای، امنیت حساب کاربری پنل، خط اول دفاع شماست.
پنج اشتباه رایج در کار با KVM
✕
باز گذاشتن کنسول مدیریتی روی اینترنت، بدون VPN و بدون محدودسازی آدرسها.
✕
فعال کردن فایروال پیش از باز کردن پورت مدیریت، بدون داشتن راه ورود اضطراری.
✕
راهاندازی مجازیسازی روی سروری که پشتیبانی پردازنده در BIOS آن فعال نشده است.
✕
استفاده از کنترلر IDE شبیهسازیشده برای دیسک مهمان، بهجای VirtIO.
✕
سپردن بکاپ ماشینهای مجازی به اسنپشات درون خودشان، بدون نسخهٔ پشتیبان جداگانه.
پرسشهای پرتکرار درباره KVM
KVM دقیقاً مخفف چیست؟
دو سرنام دارد: در سختافزار Keyboard, Video, Mouse و در نرمافزار Kernel-based Virtual Machine. برای تشخیص، به واژههای کنار آن نگاه کنید؛ کنسول و BIOS نشانهٔ سختافزار است و ماشین مجازی و VPS نشانهٔ مجازیسازی.
آیا کنسول KVM جای SSH و ریموت دسکتاپ را میگیرد؟
خیر؛ مکمل آنهاست. SSH و ریموت دسکتاپ سرویسهایی داخل سیستمعاملاند و برای کار روزمره سریعترند، اما اگر سیستمعامل بالا نیاید یا شبکه قطع شود، کنسول تنها راه باقیمانده است.
آیا KVM روی هر پردازندهای اجرا میشود؟
نه. پردازنده باید از Intel VT یا AMD-V پشتیبانی کند و این گزینه در BIOS فعال باشد. ابزار kvm-ok در اوبونتو وضعیت را گزارش میدهد و اگر خروجی منفی بود، باید از کنسول وارد BIOS شوید.
اجرای ویندوز روی KVM چه الزامی دارد؟
ویندوز بدون تغییر روی KVM اجرا میشود، اما برای کارایی بهتر دیسک و شبکه باید درایورهای VirtIO را داخل مهمان نصب کنید. لایسنس ویندوز هم جداگانه لازم است و هایپروایزر آن را تأمین نمیکند.
با کنسول میتوان سیستمعامل را از راه دور نصب کرد؟
بله، به شرط وجود امکان اتصال ISO از راه دور. در سرورهای HPE این قابلیت به کلید iLO Advanced وابسته است و در سرویسهای اجارهای معمولاً از پنل کاربری و با درخواست نصب مجدد انجام میشود.
چه پلتفرمهایی روی KVM ساخته شدهاند؟
KVM پایهٔ بسیاری از پلتفرمهای شناختهشده است: Proxmox VE، oVirt، OpenStack و شماری از پنلهای فروش سرور مجازی. این پلتفرمها همان قابلیتهای هسته را با رابط وب و ابزار مدیریتی در اختیار شما میگذارند.
KVM برای فروش سرور مجازی مناسب است؟
بله و همین امروز هم پرکاربردترین گزینه است. چون هر VPS هستهٔ مستقل خودش را دارد، میتوانید لینوکس و ویندوز را در یک مجموعه بفروشید؛ برای خودکارسازی فروش هم پنلهایی مثل Virtualizor روی KVM کار میکنند.
جمعبندی
KVM با یک معنا وارد بحث شما نمیشود. اگر سرور فیزیکی دارید، این واژه به کنسولی اشاره دارد که تصویر و ورودی دستگاه را از راه دور به دستتان میرساند و در روزهای بحرانی راه نجات است. اگر روی سرور، مجازیسازی راه میاندازید، KVM هایپروایزری است که داخل هستهٔ لینوکس مینشیند و با QEMU و libvirt به یک پلتفرم کامل تبدیل میشود. بهترین کار، داشتن هر دو است: کنسول اضطراری برای نصب و عیبیابی و هایپروایزر برای تقسیم منابع میان چند ماشین.
یک توصیهٔ عملی: پیش از تصمیمگیری، دو معیار را بررسی کنید؛ وجود کنسول اضطراری در پنل مدیریت سرور و پشتیبانی پردازنده از مجازیسازی. با این دو معیار، هر انتخابی که بکنید راه بازگشت دارید و لازم نیست برای یک تغییر کوچک به دیتاسنتر سفر کنید.
اگر در این مسیر به پرسشی رسیدید که پاسخش را پیدا نکردید، در بخش نظرات بنویسید تا بررسی کنیم.
منابع: مستندات رسمی پروژهٔ KVM، مستندات Red Hat دربارهٔ KVM، راهنمای ماشینهای مجازی QEMU/KVM در Proxmox VE، مستندات libvirt در سرور اوبونتو، صفحهٔ فنی پردازنده در Intel ARK و برگهٔ اطلاعات iLO در سایت HPE.

کمپین ابتکار نو
کمپین ایده های نو
کمپین آینده روشن
کمپین طراحی مدرن