مجازی سازی
مجازی سازی، تکنولوژی است که بوسیله آن میتوان به طور همزمان دو یا چند سیستم عامل را روی یک سرور راهاندازی کرد یا بطور ساده تر با نصب مجازی ساز بر روی یک سرور فیزیکی می توان دو یا چند سرور مجازی ایجاد کرد. در واقع استفاده از مجازی ساز، روش منطقی برای تقسیم منابع سیستم شامل (رم، سی پی یو و هارد و همچنین پهنای باند) توسط رایانههای بزرگ می باشد.
بطور کلی دلایل بسیار زیادی وجود دارد که کاربران از مجازی ساز ها استفاده کنند و این به هیچ عنوان مختص به سازمان های بزرگ نمی باشد. چند مزیت استفاده از مجازی سازها به شرح زیر است:
- صرفه جویی در زمان: مدیریت سرورهای مجازی در یک سرور فیزیکی ، به صورت متمرکز از هدر رفتن زمان جلوگیری می کند.
- صرفه جویی در هزینه: از آن جهت که امکان مدیریت چندین سیستم عامل و سرور مجازی بر روی سرور وجود دارد، از لحاظ اقتصادی هزینه ها به صرفه تر خواهد بود.
- تسهیل مدیریت: با توجه به وجود سرورهای مجازی در یک سرور فیزیکی ، امکان مدیریت متمرکز بر روی سرورها وجود خواهد داشت.
- سهولت در پشتیبان گیری از اطلاعات
- مدیریت امنیت اطلاعات
- افزایش سرعت و کیفیت سرویس های نرم افزاری
اصولاً نرمفزارها مجازی هستند چون ماهیت آنها فیزیکی نیست. بنابراین میتوان در نظر داشت که مجازیسازی در واقع شکل نرمافزاری دارد که بر روی یک سختافزار خاص اجرا می شود. طراحی و شبیهسازی انواع سوییچها، روترها، سرورها و ... از این دستهاند.
لازم به ذکر است که شرکتهای مختلفی در این حوزه فعالیت دارند و با ارائه راهکارهای مجازی سازی، انواع نرمافزارهای کاربردی و… بازار رقابتی این حوزه را رهبری میکنند که در زیر به تعدادی از سرشناسترین آنها اشاره شده است:
تصویر(2)
Xen یک بستر مجازی سازی منبع باز می باشد که در ابتدا به عنوان یک پروژه تحقیقاتی در دانشگاه کمبریج آغاز شد و در حال حاضر ، بنیاد لینوکس به توسعه پروژه کمک می کند. این hypervisor بدون نیاز به سیستم عامل میزبان، بطور مستقیم می تواند بر روی سخت افزار رایانه نصب شود.
موردی که برای مدیران سرور حائز اهمیت است و باید بدانند ، این است که در این نوع تکنولوژی Overselling وجود ندارد، یعنی تمام منابع آن می بایست اختصاص داده شود و امکان ارائه افراطی منابع سرور وجود ندارد. همچنین دارای ویژگی (live migration) همانند همتای خود vmware می باشد. live migration بدین معنی است که بدون هیچ قطعی و از دست دادن اطلاعات، می توانید یک vm را از یک سرور به سرور دیگر انتقال دهید. همچنین این hypervisor دارای کرنل اختصاصی می باشد، این مورد سبب میشود که سیستم عامل به صورت کاملاً اختصاصی بالا بیاید.
یک مزیت xen، پشتیبانی از سیستم عامل های ویندوز و لینوکس می باشد اما باید بدانید که نسبت به kvm کندتر عمل می کند.
و اما برای تسهیل فعالیت های Xen مانند مانیتورینگ vm ها و روشن،خاموش کردن vm ها و … از ابزار مدیریتی استفاده می کنند که مهمترین و مشهورترین آن ، پنل hypervm می باشد.
تصویر(3)
امروزه vmware متداول ترین و همچنین گران ترین محصول مجازی سازی موجود در بازار به حساب می آید. این نوع مجازی ساز بیشترین امکانات را به کاربران می دهد و با توجه به ماهیت اختصاصی آن معمولاً بر روی کسب و کارهای تجاری بزرگ دیده می شود. اما مورد حائز اهمیت برای مدیران سرور که ممکن است صرفه اقتصادی برایشان نداشته باشد، این است که در این مجازی ساز هم overselling وجود ندارد و منابع بطور کامل به VM ها تخصیص داده می شود و امکان ارائه افراطی منابع سرور همانند XEN وجود ندارد.
محصول VMware vSphere یک نرم افزار مجازی سازی شرکت vmware میباشد. هسته اصلی این محصول vmware esxi میباشد که روی سرورهای فیزیکی موجود در دیتاسنتر نصب می شود و ماشین های مجازی روی این hypervisor نصب شده و بالا می آیند. حال بر اساس نسخه ESXI نصب شده بر روی سرور، می توان از طریق vmware vsphere client و یا مرورگر به پنل مدیریت سرور متصل شد.
تصویر(4)
ویژگی های VMware:
-
vCenter Server : یک ابزار مدیریتی متمرکز است که امکان مدیریت سرورهای esxi و دسترسی به کنسول های سرور را به شما می دهد که بتوانید تمامی اطلاعات و لاگ ها را بررسی نمایید.
-
vSphere Client : نرم افزاری می باشد که مدیر سرور از طریق آن به سرور vCenter متصل شده و سپس به مدیریت ماشین های مجازی می پردازد.
-
vSphere SDKs : شامل مجموعه ای از بسته های نرم افزاری SDK می باشد. (vSphere Web Services SDK, vSphere Storage Management SDK, vSphere ESX Agent Manager SDK, SSO Client SDK and vSphere Storage Policy SDK)
-
VM File System : کامپوننت vmfs یکی از ویژگی های مهم سیستم ذخیره سازی در VMware vSphere میباشد .فایلهای vmdk ماشین های مجازی و snapshot ها بر روی فایل سیستم vmfs ذخیره می گردد.
-
Virtual SMP : این ابزار به vm اجازه می دهد که بطور همزمان بتواند از دو یا بیشتر از دو عدد cpu استفاده کند.
-
vMotion : یک از بهترین ویژگی های vmware، ابزار live migration است که بدون هیچ قطعی و از دست دادن اطلاعات، می توانید یک vm را از یک سرور esxi به یک سرور esxi دیگر منتقل کنید.
-
Storage vMotion : یک ابزار جذاب دیگر که امکان جابجایی یک vm را از یک استوریج به یک استوریج دیگر، بدون خاموش شدن سرور و بدون ایجاد کوچکترین اختلالی انتقال می دهد.
-
High Availability : اگر یك سرور به دلیل بار زیاد دچار مشکل شد، VM را توسط قابلیت vmotion به سرور دیگری منتقل کند تا نیاز آن تامین شود.
-
(Distributed Resource Scheduler (DRS : وظیفه یکسان سازی لود روی همه سرورهای فیزیکی را بصورت اتوماتیک دارا می باشد.
-
(Distributed Switch (VDS : در مدیریت مرکزی کل شبکه سرورهای ESXi از این قابلیت استفاده می شود که منجر به کاهش قابل توجه فعالیت های شبکه و افزایش ظرفیت شبکه می شود.
مزایا :
-
استفاده مقرون به صرفه از سخت افزار
-
پشتیبانی گسترده از انواع سیستم عامل ها (ویندوز ، لینوکس و ...)
-
پشتیبانی قدرتمند vmware
-
امنیت بالا
و ...
معایب :
-
VMware گران قیمت است.
-
به دلیل ویژگی های زیادی که دارد، یادگیری و کارکردن با آن سخت می باشد.
تصویر(5)
مجازی سازی OpenVz یک پلتفرم مجازی سازی مبتنی بر لینوکس است که در واقع مبتنی بر هسته و سیستم عامل لینوکس می باشد که تنها می تواند سیستم عامل های مبتنی بر لینوکس مانند Centos ،Fedora ،Debian و غیره را اجرا کند. یکی از معایب مجازی سازی OpenVZ این است که کاربران قادر به انجام هیچ گونه تغییر در هسته نیستند و همه سرورهای مجازی باید با نسخه هسته ای که هاست روی آن اجرا می شود همراه شوند. مشکل دیگر مجازی ساز این است که تمامی VPS هایی که بر روی OpenVZ نصب می شوند از کرنل اصلی لینوکس یا کرنل مشترک لینوکس استفاده می کنند، حال در صورتیکه برای کرنل اصلی مشکلی بوجود بیاید، تمامی vps ها به مشکل خواهند خورد.
مزایا :
-
Overselling : شایع ترین نوع مجازی ساز بر بازار vps است. چرا که فروش افراطی منابع سرور برای مدیران سرور بسیار اقتصادی است و سوددهی قابل توجهی دارد.
-
کمی عملکرد آن نسبت به KVM بهتر است زیرا هیچ لایه مجازی سازی اضافی بین میزبان و VPS شما وجود ندارد، این بدان معنی است که اساساً هیچگونه سربار روی منابع CPU، حافظه و دیسک اختصاص داده نشده است.
-
مصرف رم سرور را کاهش می دهد زیرا هسته سیستم عامل و vps ها مشترک می باشد. این باعث می شود OpenVZ برای VPS ها با مقدار کم حافظه گزینه ای عالی باشد.
-
OpenVZ معمولاً برای هر کسی که شرایط خاصی نداشته باشد و یا سربار کمتری داشته باشد، انتخاب خوبی است.
معایب :
-
هیچ گزینه ای برای نصب دستی سیستم عامل وجود ندارد.
-
مجازی سازی کامل نیست (کرنل اختصاصی ندارد).
-
همه ماژول های هسته در دسترس نیست.
-
CPU و پورت شبکه بین تمام vps ها مشترک است.
تصویر(6)
Kernel-Based Virtual Machine یا به اختصار KVM، یک نرمافزار Open Source با هسته لینوکسی است و هسته را به یک hypervisor تبدیل می کند. KVM hypervisor یک راه حل کامل مجازی سازی لینوکس بر روی سختافزارها x86 میباشد.
تصویر(7)
در اینجا بخشی از ویژگی های KVM آورده شده است:
-
مقیاس پذیری
-
پشتیبانی از استفاده از منابع پردازشی سیستم بصورت Overcommitting
-
قابلیت افزایش آنی منابع سرور (ram,cpu,hard)
-
پشتیبانی از live migration یا انتقال ماشین مجازی از یک هاست به یک هاست دیگر
-
Disk I/O throttling که قابلیت ست کردن محدودیت هایی برای درخواست هایی IO ی دیسک ارسال شده از ماشین های مجازی به هاست را فراهم می کند.
مزایا :
-
امنیت عالی : از آنجا که پایه KVM از لینوکس تشکیل شده است، از سیستم امنیتی پیشرفته SELinux استفاده می کند.
-
پشتیبانی از سیستم عامل ویندوز و لینوکس
-
اکثر نرم افزارهای اتوماسیون منبع باز از KVM استفاده می کنند.
-
دارای کرنل اختصاصی
-
بدون overseeing
معایب :
-
پیچیدگی فرآیند تنظیمات به نسبت سایر سیستم های مجازی ساز
-
تخصیص منابع باعث محدودیت تعداد ماشین مجازی با توجه به سخت افزار مورد استفاده خواهد بود.
برای جزئیات بیشتر می توانید به آدرس زیر مراجعه نمایید:
www.redhat.com/cms/managed-files/vi-rhv4-feature-guide-inc0421083-201607nb-en.pdf
نتیجه گیری:
در نهایت در جدول زیر، مقایسه ای کلی در مورد مجازی سازی VMware ،XEN ،KVM ،Openvz را می توانید مشاهده نمایید.
تصویر(8)
در بالا به تفاوت و مزایا و معایب هر یک از چهار مجازی ساز معتبر صحبت شده است، اما کدامیک از آنها مناسب کار شما می باشند ؟
به نظر می آید در ایران اکثر کاربرانی که قصد سوددهی دارند از OpenVZ استفاده می کنند زیرا می توانند به صورت افراطی منابع سرور را به فروش برسانند.
و چنانچه از کاربران معمولی هستید و آشنایی زیادی با عملکرد مجازی ساز ندارید، پیشنهاد می شود از VMware Esxi استفاده نمایید، هرچند که نیاز است با تنظیمات این نوع مجازی ساز مانند نحوه به اشتراک گذاری منابع و کنترل استفاده از پهنای باند آشنا باشید.
در صورتی که نیاز دارید بر روی سرور اصلی بصورت اتوماتیک سرور مجازی ویندوزی و لینوکسی و .. را ایجاد کنید، قاعدتاً KVM بهترین گزینه می باشد و VMware پاسخگوی نیاز شما نخواهد بود. مجازی ساز Xen هم نزدیک به مجازی ساز KVM می باشد اما با توجه به benchmark هایی که وجود دارد پیشنهاد می شود، KVM را مورد تحقیق خود قرار دهید.