مجازی ساز KVM یک ماژول مجازی سازی در هسته لینوکس است که اجازه میدهد از کرنل لینوکس بهعنوان Hypervisor استفاده کنید. KVM این امکان را میدهد که یک سرور فیزیکی را به چند سرور مجازی و ماشین مجازی تقسیم کنید.
مجازی سازی از تکنولوژیهای بزرگی است که سبب شکلگیری تغییرات مهمی در دنیای فناوری و تکنولوژی شده است، بهصورتی که اجازه میدهد خیلی مفیدتر از منابع و فضای ابر استفاده کنیم. این فناوری با ارائه کردن راهحلهایی خودکار و یکشکل و هماهنگ که مؤلفهها به بهترین حالت باهم تعامل دارند، این امکان را در اختیار سرپرستان شبکه قرار میدهد تا ماشینهای مجازی ایجاد کنند که عملکردی شبیه به ماشینهای واقعی (کامپیوترهای واقعی) دارند، با این تفاوت که هر زمان کاربران در محل کار حضور دارند ماشین مجازی را فعال نموده و از آن استفاده کنند.
مجازی سازی با تقسیم منابع فیزیکی به نمونههای مجازی، این امکان را فراهم کرده تا منابع را بهصورت دقیقی مدیریت و از آنها استفاده کند. درواقع مجازی سازی یک تکنولوژی نرمافزار محور است، ولی نیاز به سختافزار نیز دارد. پس اگر یک سرور فیزیکی با ۱۶ هسته پردازشی دارید که یک hypervisor روی آن در حال اجرا است، میتوان خیلی ساده یک یا چند ماشین مجازی که هر یک دو هسته پردازشی دارند ایجاد کرده و کار را شروع کنید. محدودیت دربارهی شیوه ساخت و استفاده از ماشینهای مجازی به راهحلهای نرمافزاری بستگی دارد که از آن استفاده میکنید.
دلایل استفاده از فناوریهای مجازی ساز لینوکس محور
در حال حاضر انتخابهای زیادی برای مجازی سازی در سیستمعامل لینوکس وجود دارد که امکان ساخت ماشینهای مجازی قدرتمند را فراهم میآورد. راهحلهای مناسب در این زمینه باید KVM و Xen و QEMU و… است.
از اصلیترین عواملی که سبب شده کاربران به سراغ مجازی سازی لینوکس محور با kvm بروند، متنباز و منعطف بودن این فناوری است. شبیه به هر نرمافزار متنباز دیگری راهکارهای مجازی سازی نیز در طول زمان تکامل یافتند بهگونهای که امروزه دسترسی به امکانات گستردهای فراهمشده است.
ویژگیهای مهم مجازی ساز KVM
KVM قسمتی از لینوکس است. لینوکس بخشی از KVM است. ویژگیهای خاصی وجود دارد که KVM را به hypervisor تبدیل کرده است.
-
امنیت
kvm از ترکیب selinux و مجازی سازی امن (svirt) جهت بهبود امنیت ماشینهای مجازی استفاده میکند. SELinux مرزهای امنیتی را در اطراف VMs ایجاد میکند. sVirt قابلیتهای SELinux را گسترش میدهد و اجازه میدهد تا امنیت کنترل اجباری (MAC) برای VMS مهمان یا guest اعمال گردد.
-
ذخیرهسازی
kvm میتواند به پشتیبانی از حافظههای رایجی که توسط توزیعهای مختلف لینوکسی پشتیبانی میشود، بپردازد، به همین دلیل مشکل خاصی در استفاده از دیسکهای محلی و ذخیرهسازهای متصل به شبکه nas ندارید.
-
پشتیبانی سختافزار
KVM میتواند از سطح گستردهای از سیستمعاملهای سختافزاری معتبر پشتیبانی شده از لینوکس استفاده کند. به همین دلیل امکان بهکارگیری سختافزار شرکتهای گوناگون نیز وجود دارد و چون فروشندگان زیادی سختافزار جهان در روند توسعه هسته همکاری میکنند، بهروزترین ویژگیهای سختافزاری در زمان کوتاهی به هسته لینوکس اضافه میگردد.
مسیرهای چند فازی ورودی و خروجی (Multipath I/O)
kvm به شرکتها اجازه میدهد برای بهبود سازوکار ذخیرهسازی و دستیابی بهتر از مسیرهای چند فازی ورودی و خروجی استفاده کنند. اضافه بر این از سیستم فایلی مشترک پشتیبانی میکند تا ایمیج های ماشین مجازی توسط میزبانهای مختلف قابلاستفاده شوند.
-
زمان کمتر و اولویتبندی
هسته لینوکس دارای پسوندهای زمان واقعی است که به برنامههای مبتنی بر VM اجازه میدهد تا با اولویتبندی بهتر (در مقایسه با bare metal) داشته باشند با زمان کمتری عمل کنند. هسته ساز و کارهایی را که نیاز به زمان محاسبه طولانی دارند را به اجزای کوچکتر تقسیم کرده که به ترتیب برنامهریزی و پردازش میگردند.
-
مدیریت KVM
بدون نیاز به دستیابی به ابزار مدیریت، میتوان به شکل دستی تعداد کمی از VM را که در یک ایستگاه مجزا قرار دارند، مدیریت کنید. شرکتهای بزرگ از نرمافزارهای مدیریت مجازی سازی استفاده میکنند که با محیطهای مجازی و سختافزار فیزیکی اساسی برای ساده شدن مدیریت منابع، واسطه سازی دادهها و عملکردهای ساده ارتباط برقرار کنند.
معایب مجازی ساز KVM
- فرایند پیکربندی پیچیدهتری نسب به سایر سیستمهای مجازی ساز دارد.
- تخصیص منابع باعث محدودیت تعداد VM ها با توجه به سختافزار مورداستفاده خواهد بود.
نصب و راهاندازی مجازی ساز KVM به چه صورت است
متنباز بودن انعطافپذیر بودن و قابلیت نصب kvm روی توزیعهای لینوکسی است که شرکتهای مختلفی به دنبال نصب و راهاندازی kvm با هدف کاهش هزینهها هستند. kvm یکی از روشهای مجازی سازی کامل برای توزیعهای مختلف لینوکس است که روی سختافزارهای x86 قابلاجراست و دسترسی به سطح گستردهای از ویژگیها را فراهم میکند.
مجازی ساز kvm دارای ماژول هسته قابل بارگذاری kvm.ko است که میتواند زیرساخت مجازی سازی اصلی را فراهم کند. یکی از ویژگیهای خوب این فناوری، قابلیت ساختن ماشینهای مجازی متفاوت است. بهصورتی که هر ماشین مجازی به سختافزار مجازی خاص خود دسترسی خواهد داشت و شما میتوانید که بر فرایند تخصیص منابع نظارت کنید.
به این نکته مورد kvm دقت کنید که برای استفاده از آن در لینوکس نیاز به نرمافزارهای جانبی دیگر ندارید و اگر خرید لایسنس های مربوط به VMware برای شما مشکل است این هاپیروایزر کار شما را راحت کرده است. میتوانید از kvm برای اجرای ویندوز و لینوکس در ماشینهای مجازی استفاده کنید.
سرپرستان شبکه kvm را میتوانند بهطور مستقیم با استفاده از دستور و ابزارهای خط فرمان، بهکارگیرند. نکته دیگر این است که نسخه گرافیکی مدیریت ماشین مجازی قابلیتهای بهتری بهخصوص در ارتباط با ساخت ماشینهای مجازی ارائه میدهد. پس توصیه ما این است که از رابط گرافیکی آن استفاده کنید.