با مجازی سازی قادر به کاهش هزینه ها و افزایش سرعت در هنگام انجام کارها خواهید بود . در این مقاله ابتدا به بیان چیستی مجازی ساز یا هایپر وایزر می پردازیم و سپس تفاوت مجازی ساز ها را شرح می دهیم.
1.مجازی ساز یا هایپر وایزر چیست ؟
یک مجازی ساز ترکیبی از نرم افزار ، سخت افزار و سیستم عامل است .
مجازی ساز ها وظیفه ی ایجاد ، اجرا و مدیریت ماشین های مجازی (VMها) را برعهده دارند .
رایانه ای که یک مجازی ساز بر روی آن اجرا می شود ، به عنوان یک میزبان شناخته می شود و هر VM بر روی میزبان به عنوان یک مهمان شناخته می شود.
یک مجازی ساز برای مهمانان خود یک پلت فرم عملیاتی مجازی فراهم می کند. کاربران با استفاده از این پلتفرم قادر به مدیریت سیستم عامل های خود هستند .
یک مجازی ساز ، به کاربران اجازه ی استفاده از سیستم عامل های چندگانه برای به اشتراک گذاری منابع در همان میزبان را می دهد .
مجازی ساز ها یک محیط محاسباتی را مجازی می کنند . به هر مهمان منابعی اختصاص داده می شود و آنها توانایی اجرای سیستم عامل خود را دارند.
مجازی ساز ها باید بتوانند هر مهمان را بطور موثری از دیگر مهمان ها جدا کنند به گونه ای که عملیات آنها بر هم تاثیری نداشته باشد.
توانایی به اشتراک گذاری منابع یکی از دلایل اصلی استفاده از هایپر وایزر ها است .
با این حال ، انواع هایپر وایزر ها یا مجازی ساز های موجود در بازار می توانند فرایند تصمیم گیری کسب و کار ها برای انتخاب یک مجازی ساز را به چالش بکشند .
2.اکثرا کدام مجازی ساز ها انتخاب می شوند ؟
اکثرا انتخاب بین دو مجازی ساز KVM (مجازی ساز مبتنی بر هسته) و VMware است .
VMware نام شرکتی است که طیف وسیعی از مجازی ساز ها را شامل می شود، از جمله ESXi.
KVM زیرساختی برای هسته لینوکس است که قابلیت های یک مجازی ساز را فراهم می کند.
3.تفاوت کارایی بین KVM و WMware چیست ؟
در واقع دو نوع مجازی ساز وجود دارد که این طبقه بندی می تواند بر کارایی آن هم تاثیر بگذارد .
نوع 1 یا مجازی ساز فلز خالص یا “bare metal” ؛
این مجازی ساز ها مستقیما بر روی سخت افزار فیزیکی اجرا می شود و سیستم عامل هر مهمان بر روی مجازی ساز نصب می شود . در این مدل مجازی ساز خود یک سیستم عامل است . این مجازی ساز به برخی از مهمانان نیز اجازه ی کنترل مجازی ساز را می دهند . اکثر کسب و کار ها از این مجازی ساز استفاده می کنند .
نوع 2 مجازی ساز ها ؛
مجازی سازی است که داخل سیستم عاملی که روی سخت افزار نصب شده ، قرار می گیرند . سیستم عامل مهمانان نیز بر روی مجازی ساز قرار می گیرد .
مجازی ساز های دسکتاپ معمولا از نوع 2 هستند .
Xen احتمالا بهترین مجازی ساز نوع 1 است . با این حال ESXi نیز یک مجازی ساز نوع 1 است ، زیرا این مجازی ساز بر روی سیستم عامل نصب نشده است ، بلکه ESXi شامل هسته و دیگر اجزای سیستم عامل است.
طبقه بندی KVM چالش برانگیز است، زیرا ویژگی های هر دو نوع مجازی ساز را داراست .
KVM به عنوان یک جزء لینوکس توزیع شده است، به این معنی که یک کاربر لینوکس می تواند KVM را در یک خط فرمان یا رابط کاربری گرافیکی (GUI) شروع کند.
با این روش شروع KVM، به نظر میرسد که مجازی ساز در سیستم میزبان اجرا می شود، حتی اگر KVM در واقع بر روی bare metal عمل کند.
سیستم میزبان ، KVM را با یک مکانیزم راه اندازی فراهم می کند و به KVM اجازه می دهد تا کنترل سخت افزار های فیزیکی را با هسته ی لینوکس به اشتراک بگذارد .
KVM از دستورالعمل های مجازی سازی پردازنده استفاده می کند ؛ زمانی که KVM بر روی سخت افزار x86 اجرا می شود، اجازه می دهد که مجازی ساز و تمام مهمانان آن به طور مستقیم بر روی bare metal اجرا شوند.
سخت افزار فیزیکی اغلب ترجمه منابع را انجام می دهد، بنابراین KVM با معیارهای سنتی به عنوان یک مجازی ساز نوع 1 مطابقت دارد.
مجازی ساز نوع 1 باید مجازی ساز نوع 2 را بهتر کند ، در حالی که همه ی فاکتور های دیگر برابرند.
زمانی که درخواست دسترسی به منابع فیزیکی از سمت سیستم عامل میزبان داده شد ، مجازی ساز نوع 1 باید از سرباری که در مجازی ساز نوع 2 رخ می دهد اجتناب کند .
با این حال فاکتور های دیگر نیز نقش مهمی را در عملکرد مجازی ساز ها بازی می کنند .
به عنوان مثال، ESXi نسبت به KVM به طور کلی نیاز به زمان بیشتری برای ایجاد و شروع یک سرور دارد .
ESXi همچنین دارای عملکرد کندتر هنگام اجرای سرورها است، اگر چه این تفاوت ممکن است برای بارهای معمول بی اهمیت باشد.
4.یکپارچگی در مجازی ساز های KVM و VMware به چه صورت است ؟
مجازی ساز ها از روش های مختلفی برای ایجاد ارتباط با سخت افزار فیزیکی میزبان استفاده می کنند . KVM از عامل نصب شده بر روی میزبان برای برقراری ارتباط با سخت افزار استفاده می کند ، در حالیکه ESXi از VMware’s management plane برای ارتباط با سخت افزار استفاده می کند.
این فرآیند مزیتی را برای ESXi برای دسترسی به سایر محصولات VMware که از این سیستم مدیریت استفاده می کنند، فراهم می کند. با این حال، ESXi نیز نیاز به استفاده از پشته کنترل VMware دارد که می تواند نیازهای سخت افزاری را افزایش دهد.
یکپارچگی نزدیک با سیستم میزبان دلیل اصلی توسعه دهندگان لینوکس برای ارجح تر دانستن KVM است .
توسعه دهندگان لینوکس بیشتر از KVM استفاده می کنند، زیرا Red Hat و سایر توزیع کنندگان لینوکس KVM را نسبت به دیگر مجازی ساز ها ترجیح داده اند .
Illumos یک سیستم عامل متن باز مبتنی بر OpenSolaris است که هنگامی که پشتیبانی از مجازی سازی سخت افزاری را اضافه می کند ، KVM را در مقایسه با دیگر مجازی ساز ها انتخاب می کند.
5.آیا VMware و KVM از لحاظ هزینه متفاوت اند ؟
هزینه یکی از مهم ترین معیار های انتخاب است .
بی شک KVM نسبت به VMware از لحاظ هزینه برنده است . KVM متن باز است و در منیجه هیچ هزینه ی اضافه ای به کاربر تحمیل نمی کند .
VMware یک هزینه مجوز برای استفاده از محصولات خود از جمله ESXi دریافت می کند .
آنها می توانند این کار را انجام دهند، زیرا VMware اولین شرکتی بود که نرم افزار مجازی سازی کلاس تجاری را منتشر کرد و هنوز هم رهبر بازار در این بخش است.
بنابراين برند آن هنوز به كاربران نهايي كسب و كار مرتبط است، صرف نظر از آنچه توسعه دهندگان ممكن است در مورد آن فکر كنند.
یک کاربر ESXi همچنین باید یک مجوز برای استفاده از vSphere( مجموعه ابزار VMware برای رایانش ابری که از ESXi استفاده می کند) خریداری کند.
مجوز های نرم افزاری اضافی ممکن است مورد نیاز باشد، که هزینه اجرای ESXi را بیشتر افزایش می دهد.
آی بی ام برخی محاسبات مربوط به کل هزینه مالکیت (TCO) برای KVM و VMware را در سال 2012 انجام داد. این محاسبات نشان داد که TCO KVM به طور معمول 39 درصد کمتر از VMware است، اگرچه TCO واقعی به عوامل خاص سایت مانند تنظیمات عملیاتی و حجم کار وابسته است .
این تفاوت در TCO نشان می دهد که ارائه دهندگان خدمات cloud، احتمالا می خواهند KVM را بر روی حداقل یک خوشه نصب کنند، صرف نظر از سایر عواملی که باید در نظر گرفت.
6.تفاوت KVM و VMware از لحاظ پیچیدگی در چیست ؟
این دو مجازی ساز از لحاظ اندازه ی پایگاه داده تفاوت های قابل توجهی دارند که این تفاوت ها بر هزینه ی نگهداری مجازی ساز تاثیر می گذارد .
KVM در ابتدا برای استفاده از افزونه های پردازنده منتشر شد که به آنها امکان مجازی کردن مهمان ها را بدون ترجمه کد باینری داد .
این به این معنی است که اولین نسخه پایدار KVM اساسا مجری مجازی سازی سبک وزن بود که کمی بیش از 10،000 خط کد (LOC) داشت.
گفته شده VMware دارای بیش از 6 میلیون LOC است، اگرچه نمیتوان با قطعیت در این مورد سخن گفت، زیرا کد منبع آن به طور عمومی در دسترس نیست.
البته این موارد به طور مستقیم بر عملکرد تاثیری نمی گذارد ، زیرا VMware از فرمت های سخت افزاری برای مجازی سازی استفاده می کند .
با این وجود، کد اصلی آن هرگز به طور کامل بازنویسی نشده است، و به همین دلیل پایه کد پیچیده تر از KVM است.
7.KVM و VMware در چه حد به تکامل رسیده اند ؟
KVM و ESXi هم بسیار بالغ و هم پایدار هستند.
KVM بیش از یک دهه بخشی از هسته لینوکس بوده است . از سال 2006 از ESXi به طور عمومی استفاده شده است.
با این وجود، KVM بیشتر از این متن باز است و در بسیاری از بسته های مانند Redhat Enterprise Virtualization)RHEV) گنجانده شده است.
KVM همچنین نسبت به دیگر مجازی ساز ها ویژگی های بسیار بیشتری تری دارد.
8.مقیاس پذیری KVM و VMware به چه شکل است ؟
KVM به طور کلی مقیاس پذیر تر از VMware است.
علت مقیاس پذیری بیشتر KVM این است که vSphere دارای محدودیت هایی در سرورهایی است که می تواند مدیریت کند.
علاوه بر این، VMware تعداد زیادی از شبکه های ذخیره سازی (SANs) را برای پشتیبانی از فروشندگان مختلف اضافه کرده است.
این ویژگی به این معنی است که VMware دارای گزینه های ذخیره سازی بیشتری نسبت به KVM است، اما در هنگام افزایش آن، ذخیره سازی VMware را نیز سخت می کند.
9.نحوه ی پشتیبانی از عملکرد در KVM و VMware چگونه است ؟
مجازی ساز ها تا حد زیادی در حمایت و پشتیبانی از قابلیت هایشان متفاوند .
به ویژه پشتیبانی شبکه و ذخیره سازی مهم است و احتمالا مهمتر از هر عامل دیگری در یکپارچگی سیستم عامل هستند .
نباید جای تعجب باشد که بگوییم حمایت ESXi از دیگر محصولات VMware توسط هر مجازی ساز دیگر هماهنگ نیست.
از سوی دیگر، KVM گزینه های بیشتری برای پشتیبانی شبکه نسبت به VMware ارائه می دهد.
10.در نهایت کدام ؟
KVM معمولا محبوب ترین انتخاب برای کاربرانی است که نگران هزینه های عملیاتی هر ماشین مجازی هستند و کمتر علاقه مند به ویژگی های سطح سازمانی هستند.
این مورد عمدتا شامل ارائه دهندگان خدمات cloud و میزبان می شود ، آنها به شدت به هزینه و تراکم سرورهای خود حساس هستند.
این کاربران به احتمال زیاد از بین مجازی ساز های متن باز KVM را انتخاب خواهند کرد .
یکپارچه سازی دقیق با سیستم عامل میزبان یکی از رایج ترین دلایل برای توسعه دهندگان KVM است، به ویژه کسانی که از لینوکس استفاده می کنند.
علاوه بر این گنجاندن KVM در بسیاری از توزیع های لینوکس نیز آن را انتخاب مناسبی برای توسعه دهندگان می کند.