Kernel-based Virtual Machine یا (KVM) یک فناوری مجازی سازی منبع باز یا اوپن سورس است که در Linux ساخته شده است. به طور خاص ، KVM به شما امکان می دهد تا لینوکس را به یک hypervisor تبدیل کنید که به یک host machine امکان می دهد چندین محیط مجازی جدا شده و مجزا به نام guest یا virtual machines را اجرا کند.
KVM بخشی از لینوکس است. اگر لینوکس ۲٫۶٫۲۰ یا جدیدتر دارید ، KVM را بطور خودکار دارید. KVM اولین بار در سال ۲۰۰۶ اعلام شد و یک سال بعد در نسخه اصلی هسته لینوکس ادغام شد. از آنجا که KVM بخشی از کدهای موجود در لینوکس است ، بلافاصله از هر ویژگی جدید لینوکس ، رفع و پیشرفت بدون مهندسی اضافی سود می برد.
KVM لینوکس را به یک hypervisor نوع ۱ (bare-metal) تبدیل می کند. کلیه نمایندگان Hypervisors برای اجرای VM ها به بعضی از مؤلفه های سطح سیستم عامل نیاز دارند ، مانند مدیر حافظه ، برنامه ریز پردازش ، پشته ورودی / خروجی (I / O) ، درایور دستگاه ، مدیر امنیت ، پشته شبکه و موارد دیگر. KVM دارای تمام این مؤلفه ها است زیرا بخشی از هسته لینوکس است. هر VM به عنوان یک فرآیند معمولی لینوکس ، برنامه ریزی شده توسط برنامه ریز استاندارد لینوکس ، با سخت افزار مجازی اختصاصی مانند کارت شبکه ، آداپتور گرافیکی ، CPU (ها) ، حافظه و دیسک ها اجرا می شود.
شما باید نسخه ای از لینوکس را اجرا کنید که پس از ۲۰۰۷ منتشر شد و باید روی سخت افزار X86 نصب شود که از قابلیت های مجازی سازی پشتیبانی می کند. اگر هر دو مورد بالا بررسی شده باشد ، تنها کاری که باید انجام دهید بارگذاری ۲ ماژول موجود (ماژول هسته میزبان و ماژول مخصوص پردازنده) ، یک شبیه ساز و هر درایوری است که به شما در اجرای سیستم های اضافی کمک می کند.
اما اجرای KVM در توزیع لینوکس پشتیبانی شده – مانند Red Hat Enterprise Linux – قابلیت های KVM را گسترش می دهد ، به شما امکان می دهد منابع را در بین میهمانان یا guest ها را تعویض کنید ، کتابخانه های مشترک را به اشتراک بگذارید ، عملکرد سیستم را بهینه کنید و موارد دیگر.
KVM بخشی از لینوکس است. لینوکس بخشی از KVM است. KVM ، لینوکس نیز دارد. اما ویژگی های خاصی وجود دارد که KVM را به hypervisor تبدیل است.
KVM از ترکیبی از لینوکس پیشرفته امنیتی (SELinux) و مجازی سازی امن (sVirt) برای امنیت و انزوا پیشرفته VM استفاده می کند. SELinux مرزهای امنیتی را در اطراف VMs ایجاد می کند. sVirt قابلیت های SELinux را گسترش می دهد ، اجازه می دهد تا امنیت کنترل اجباری (MAC) برای VMS مهمان یا guest اعمال شود و از خطاهای برچسب زدن دستی جلوگیری کند.
KVM قادر است از هرگونه حافظه پشتیبانی شده توسط لینوکس ، از جمله برخی از دیسک های لوکال و ذخیره سازی متصل به شبکه (NAS) استفاده کند. Multipath I / O ممکن است برای بهبود ذخیره سازی و فراهم کردن افزونگی استفاده شود. KVM همچنین از سیستم فایل های مشترک پشتیبانی می کند تا تصاویر VM توسط میزبان های مختلف به اشتراک گذاشته شود.
KVM می تواند از طیف گسترده ای از سیستم عامل های سخت افزاری معتبر پشتیبانی شده از لینوکس استفاده کند. از آنجا که فروشندگان سخت افزار به طور مرتب در توسعه هسته مشارکت می کنند ، آخرین ویژگی های سخت افزاری اغلب به سرعت در هسته لینوکس اتخاذ می شوند.
KVM از ویژگی های مدیریت حافظه لینوکس ، از جمله دسترسی به حافظه یکنواخت و ادغام هسته همان صفحه ، به ارث می برد. حافظه یک VM می تواند برای عملکرد بهتر ، پشتیبان حجم های زیادی شود و توسط یک فایل دیسک به اشتراک گذاشته یا پشتیبانی شود.
KVM از مهاجرت یا انتقال زنده پشتیبانی می کند ، که این امکان را برای جابجایی یک VM در حال اجرا بین میزبان فیزیکی و بدون وقفه در سرویس دارد. VM همچنان روشن است ، اتصالات شبکه همچنان فعال هستند و با جابجایی VM ، برنامه ها همچنان ادامه دارند. KVM همچنین وضعیت فعلی VM را ذخیره می کند تا بعداً ذخیره و از سر گرفته شود.
KVM عملکرد لینوکس را به ارث می برد و در صورت افزایش تعداد guest machines و درخواست ها ، میزان تقاضا را هماهنگ می کند. KVM اجازه می دهد تا بارزترین بار برنامه های کاربردی مجازی سازی شود و اساس بسیاری از مجموعه های مجازی سازی سازمانی ، مانند دیتاسنتر ها و کلود های خصوصی باشد.
در مدل KVM ، یک VM یک فرآیند لینوکس است که توسط هسته برنامه ریزی و مدیریت می شود. برنامه ریز لینوکس امکان کنترل دقیق منابع تخصیص یافته به یک فرآیند لینوکس را فراهم می کند و کیفیت خدمات را برای یک فرآیند خاص تضمین می کند. در KVM ، این شامل یک برنامه ریز کاملاً عادلانه ، گروه های کنترل ، فضاهای نام شبکه و برنامه های افزودنی در زمان واقعی است.
هسته لینوکس دارای پسوندهای زمان واقعی است که به برنامه های مبتنی بر VM اجازه می دهد تا با اولویت بندی بهتر (در مقایسه با bare metal) با تأخیر کمتر عمل کنند. هسته همچنین فرایندهایی را که نیاز به زمان محاسبه طولانی دارند را به اجزای کوچکتر تقسیم می کند ، که به ترتیب برنامه ریزی و پردازش می شوند.
بدون دستیابی به ابزار مدیریت ، می توانید به طور دستی تعداد انگشت شماری از VM را که در یک ایستگاه کاری واحد وجود دارند ، مدیریت کنید. شرکت های بزرگ از نرم افزارهای مدیریت مجازی سازی استفاده می کنند که با محیط های مجازی و سخت افزار فیزیکی اساسی برای تسهیل مدیریت منابع ، واسطه سازی داده ها و عملکردهای ساده ارتباط برقرار می کنند.
امیدواریم از این مقاله بهره لازم را برده و برای شما مفید بوده باشد. نظرات خود را با ما به اشتراک بگذارید.
ما را در شتابان هاست دنبال کنید.