مجازی سازی سرور از دیروز تا امروز
مجازی سازی سرور (Virtualization) بر خلاف تصور افرادی که مجازی سازی سرور را یک فناوری نوین به حساب می آورند، مربوط به دهه 70 میلادی یعنی نزدیک به 40 سال پیش است. زمانی که شرکت آی بی ام (IBM) یکه تاز عرصه محاسبات دیجیتالی و رایانه ها بود. در واقع سیستم عاملهای موجود دهه 60 و 70 میلادی اساساٌ بر پایه اشتراک منابع سخت افزاری یا همان مجازی سازی کار می کردند و اصولاً بدلیل گرانی منابعی نظیر حافظه، دیسک، پردازنده مرکزی و سایر ملحقات آن امکان بهره برداری غیر اشتراکی بسیار پر هزینه بود. بعد از ظهور نسل جدید رایانه ها و سرویس دهنده های غیر Mainframe كه دارای توان کارکرد بالا و قیمت پایین بودند، رویكرد قبلی سیستم عامل ها در استفاده اشتراکی منابع به تدریج كمرنگ شد و استفاده از سرویس دهنده های کوچک و متوسط بدون دغدغه از صرف هزینه های گزاف سخت افزاری فراگیر شد.
همچنین با رشد سرویس های نرم افزاری جدید در شبكهها، و بر آورده شدن نیاز هركدام از این سرویس ها با استفاده از سختافزار و منابع سیستمعامل اختصاصی، راهبرد جدیدی به شکل “یك سرویس دهنده برای هر سرویس شبکه” به وجود آمد که این رویكرد کماکان در بسیاری از شبکه ها مورد استفاده قرار دارد اما این راهبرد جدید یک اشکال دارد و آن هم این است که بر طبق آمار در تعداد كثیری از سرویس دهنده ها، میزان استفاده از منابع به كمتر از 20% محدود است. این رویه باعث بالا رفتن هزینه و مصرف انرژی و در عین حال كاهش بهرهوری سخت افزار می گردد.
در نتیجه دوباره مسئله صرفه جویی و مدیریت منابع در راهبرد جدید مورد توجه قرار گرفت. منتهی این بار تنها IBM جلودار نبود و شرکت ها و موسسات تحقیقاتی بسیاری وارد میدان شده بودند.
*كاهش هزینه ها، *بالابردن بهرهوری سخت افزار و *مدیریت آسانتر و كارآمدتر سرویس دهنده ها، اهدافی هستند که مدیران و متخصصان شبكه را به سمت قرار دادن سرویس های مختلف بر روی یك سختافزار قدرتمند سوق داد. در راهبرد جدید، هدف، قراردادن سرویسهای متنوع بر روی یك سخت افزار به صورت متمركز و با هزینه كمتر بود تا از این طریق مدیریتی آسانتر، كم هزینهتر ، فرایندهای نگهداری و پشتیبانگیری راحتتر، دسترسی و قابلیت اعتماد بالاتر فراهم گردد.
مجازی سازی سرور چیست؟
تعریف ما از کاربرد مجازیسازی سرور در حیطه سیستم عامل عبارت است از راهکاری که اجازه می دهد چندین سیستم عامل میهمان بطور همزمان بر روی یک میزبان سخت افزاری به اجرا در آیند.
ماشین مجازی یا( VM(Virtual Machine به سیستمی اطلاق می گردد که اجرای سیستم مجازی سازی را بر عهده گرفته است.
هر ماشین مجازی می تواند شامل سیستم عامل، سخت افزار و نرم افزار اختصاصی خود باشد. ماشین مجازی، مستقل از سکوی سخت افزاری یا سیستم عامل اولیه به فعالیت خود ادامه می دهند. زیرا در اغلب سیستم های مجازی سازی سرور، یک لایه جدا کننده به نام فوق ناظر Hypervisor میان سیستم عامل میهمان (مجازی) و سخت افزار یا منابع فیزیکی موجود حائل می گردد. کار Hypervisor ایجاد یک دید مستقل مجازی از سخت افزار یا منابع است. Hypervisor باعث می¬شود ماشین های مجازی از دید یکدیگر پنهان بمانند و هر ماشین مجازی تصور کند تمام سخت افزار یا منابع لازم را در اختیار گرفته است.
دو گونه اصلی از Hypervisor وجود دارد :
- تمام- سخت افزاری (Bare-Metal)
- میزبانی شده Hosted
در اغلب موارد، کار مجازی سازی را نرم افزار انجام می دهد. این نرم افزار لایه Hypervisor را به وجود آورده و ارتباط میان سخت افزار یا سیستم عامل را با این لایه و هر یک از ماشین های مجازی را طوری فراهم می نماید که راه اندازی سیستم عامل مجازی و اجرای برنامه های کاربردی بر روی سخت افزارهای متفاوتی که وجود فیزیکی ندارند را امکان پذیر می نماید.
نمونه هایی از سیستم های نرم افزاری فوق ناظر (Hypervisor) بر پایه سخت افزار از دو شرکت معتبر عبارتند از :
نمونه هایی از سیستم های نرم افزاری میزبانی شده (Hosted) بر پایه سیستم عامل به شرح زیرند :
- VMware Server
- Virtual Server
- VMware Workstation
- Virtual PC
انواع روش های مجازی سازی سرور
حداقل 6 روش مجازی سازی وجود دارد:
1- مجازی سازی سرور: تجمیع تعداد زیادی سرور مجازی در تعداد محدودی سرور فیزیکی. نرم افزار مجازی سازی سرور مابین سرور فیزیکی و سیستم عامل قرار می گیرد و اجازه می دهد چندین ماشین مجازی را بر روی سرور فیزیکی مشابه اجرا کنیم.
2- مجازی سازی دسکتاپ: جهت انتقال دسکتاپ کاربران نهایی از کامپیوتر شخصی به “فضای ابری” استفاده می شود. به کلامی دیگر، دسکتاپ کاربران نهایی، مجازی می شوند و آنها می توانند بوسیله مثلا تین کلاینت ها به دسکتاپشان دسترسی پیدا کنند. در این حالت سیستم عامل مورد استفاده از سخت افزار مستقل می شود. و از این پس شما می توانید بر روی سیستمی که تا به حال قادر به نصب windows7 نبودید این سیستم عامل را نصب نمایید.
3- مجازی سازی نرم افزار: این روش جهت بسته بندی نرم افزار به کار می رود. به واسطه این روش می توانید نرم افزار مورد نظر را در هر جایی که می خواهید استفاده کنید. نکته ی کلیدی در این روش تجمع کلیه ی فایلهای نرم افزار در یک فایل اجرایی می باشد. در این روش فایل مورد نظر از سخت افزار مستقل می شود.
4- مجازی سازی storage: این روش جهت مجازی¬سازی SAN storage به کار می رود.
5- مجازی سازی I/O: این روش جهت کاهش تعداد کابل¬های I/O مورد استفاده قرار می گیرد.
6- مجازی سازی شبکه: جهت ایجاد شبکه های مجازی داخل سرور به کار می رود تا موجب پیوستن ماشین های مجازی به هم و شکل گیری Virtual Security Zone شوند.
وقتی اکثر افراد (بخصوص کسانی که تازه به دنیای مجازی سازی پیوسته اند) به مجازی سازی فکر می کنند، اکثرا به مجازی سازی سرورها می اندیشند.
این نقطه بهترین محل برای پیوستن به دنیای مجازی است و خواهد بود.
در واقع “مجازی سازی سرور” مابین سرور و سیستم عامل قرار می گیرد. نرم افزار های مجازی سازی سرور سیستم عامل مهمان را فریب می دهند. این سیستم عامل ها بر روی ماشین های مجازی اجرا می شوند، اما بواسطه نرم افزار مجازی ساز گمان می کند که به طور مستقیم با سرور فیزیکی در ارتباط است. از همین رو چندین ماشین سیستم عامل مهمان مجازی می توانند فقط از طریق یک سرور فیزیکی مورد استفاده قرار بگیرند و به این ترتیب سود زیادی را عاید سازمان کنند.
آنچه در فناوری مجازی سازی مورد انتظار است عبارتند از :
- کاهش هزینه های خرید سخت افزار
- افزایش بهره وری با تخصیص منابع اشتراکی
- افزایش بازدهی وبهینه سازی مصرف انرژی
- صرفه جویی در فضای استقرار سرویس دهنده ها
- بهینه سازی مدیریت شبکه و افزایش انعطاف پذیری
- افزایش توان عملیاتی، ظرفیت شبکه و حفظ تداوم کار
- سرعت در ترمیم و بازنشانی سیستم ها به هنگام بروز خرابی
- افزایش اطمینان و امنیت سیستم ها و کاهش پیچیدگی های عملیاتی
مزایای دیگری نیز برای مجازی سازی قابل شمارش هستند ولیکن موارد بالا عمومیت بیشتری دارند.
این اشتراک میتواند در رابطه با موارد زیر باشد :
1- سکوی سیستم عامل: راه اندازی سیستم عامل های مختف و مجزا بر روی یک سیستم عامل پایه
2- رایانه های رومیزی: شبیه سازی رایانه های رومیزی به همراه سیستم عامل و نرم افزارها كاربردی و منابع مورد نیاز آن نظیر حافظه، دیسک و سایر ملزومات آن.
3- برنامه های كاربردی: اجرای برنامه های کاربردی به صورت مستقل از سیستم عامل
4- منابع: شبیه سازی شبكه، دستگاه¬های ورودی و خروجی،حافظه و منابع ذخیرهسازی مجازی
چند نمونه از مجازی سازی سرور
استفاده از چندین سیستم عامل مختلف بر روی یک سیستم سخت افزاری با کمک سیستم مجازی سازی، راهکاری است که ما برای ایجاد شبکه های مختلف بکار می گیریم. فرض کنید یک شبکه در حال کار، نیازمند استقرار یک سرویس دهنده جدید می شود.
اگر بخواهیم به صورت معمول این سرویس دهنده را راه اندازی کنید، باید آماده پرداخت هزینه خرید سرویس دهنده، هزینه نصب و جابجائی اطلاعات و هزینه بررسی سازگاری سیستم و کلی هزینه های دیگر باشید که بطور حتم صرفه اقتصادی و زمانی در پی نخواهد داشت. در این موقعیت بهترین راه حل استفاده از فنآوری مجازی سازی است که اجازه میدهد تا به کمک سیستم مجازی سازی، یک سرویس دهنده جدید را بر روی همان شبکه موجود به صورت مجازی ایجاد و بدون اختلال در شبکه، آن را مورد بهره برداری قرار دهیم.
کاربرد دیگر مجازی سازی افزایش سرعت پردازش و تبادل اطلاعات در شبکه ها است. به فرض اگر به طور همزمان صدها ایستگاه کاری در یک شبکه به یک سرور متصل شده و تبادل اطلاعات کنند، ترافیک روی این سرور به شدت افزایش یافته و سرعت شبکه به شدت کاهش می یابد و احتمال بروز مشکل بالا می رود.
راهکار این قضیه از طریق مجازی سازی آن است که چندین سرور مجازی در شبکه راه اندازی شود تا بار ترافیک این رایانه ها میان سرویس دهنده های مجازی تقسیم گردد. این بدین معنی است که حتی اگر منابع سخت افزاری شما محدود باشد آن را به صورت برنامه ریزی شده و تفکیک پذیر مدیریت می نمائید تا برای واحدهای مختلف به شیوه های گوناگون مورد بهره برداری قرار گیرند.