مجازی سازی سرور از دیروز تا امروز

مجازی سازی سرور (Virtualization) بر خلاف تصور افرادی که مجازی سازی سرور را یک فناوری نوین به حساب می آورند، مربوط به دهه 70 میلادی یعنی نزدیک به 40 سال پیش است. زمانی که شرکت آی بی ام (IBM) یکه تاز عرصه محاسبات دیجیتالی و رایانه ها بود. در واقع سیستم عاملهای موجود دهه 60 و 70 میلادی اساساٌ بر پایه اشتراک منابع سخت افزاری یا همان مجازی سازی کار می کردند و اصولاً بدلیل گرانی منابعی نظیر حافظه، دیسک، پردازنده مرکزی و سایر ملحقات آن امکان بهره برداری غیر اشتراکی بسیار پر هزینه بود. بعد از ظهور نسل جديد رایانه ها و سرویس دهنده های غیر Mainframe كه داراي توان کارکرد بالا و قيمت پايين بودند، رويكرد قبلي سیستم عاملها در استفاده اشتراکی منابع به تدريج كمرنگ شد و استفاده از سرویس دهنده های کوچک و متوسط بدون دغدغه از صرف هزینه های گزاف سخت افزاری فراگیر شد. همچنین با رشد سرويسهاي نرم افزاری جديد در شبكه‌ها، و بر آورده شدن نياز هركدام از اين سرويسها با استفاده از سخت‌افزار و منابع سيستم‌عامل اختصاصي، راهبرد جديدی به شکل “يك سرویس دهنده برای هر سرويس شبکه” به وجود آمد که اين رويكرد کماکان در بسیاری از شبکه ها مورد استفاده قرار دارد اما این راهبرد جدید یک اشکال دارد و آن هم این است که بر طبق آمار در تعداد كثيري از سرویس دهنده ها، ميزان استفاده از منابع به كمتر از 20% محدود است. اين رويه باعث بالا رفتن هزينه و مصرف انرژي و در عين حال كاهش بهره‌وري سخت افزار مي‌گردد.
در نتیجه دوباره مسئله صرفه جویی و مدیریت منابع در راهبرد جديد مورد توجه قرار گرفت. منتهی این بار تنها IBM جلودار نبود و شرکتها و موسسات تحقیقاتی بسیاری وارد میدان شده بودند.
كاهش هزينه ها، بالابردن بهره‌وري سخت افزار و مديريت آسانتر و كارآمدتر سرویس دهنده ها اهدافی هستند که مديران و متخصصان شبكه را به سمت قرار دادن سرویسهای مختلف بر روي يك سخت‌افزار قدرتمند سوق داد. در راهبرد جديد، هدف، قراردادن سرويس‌هاي متنوع بر روي يك سخت افزار به صورت متمركز و با هزينه كمتر بود تا از اين طريق مديريتی آسانتر، كم هزينه‌تر ، فرايندهاي نگهداري و پشتيبان‌گيري راحتتر، دسترسی و قابليت اعتماد بالاتر فراهم گردد.

مجازی سازی سرور

مجازی سازی سرور چیست؟

تعریف ما از کاربرد مجازي‌سازي سرور در حیطه سیستم عامل عبارت است از راهکاری که اجازه میدهد چندین سیستم عامل میهمان بطور همزمان بر روی یک میزبان سخت افزاری به اجرا در آیند. اشتراک منابع سخت افزاری موجود بر روی یک رایانه بین خادمان نرم افزاری یکی از، فناوریهای مورد توجه کارشناسان مجازی سازی سرور در چند سال اخیر بوده و سرمایه گذاری های اقتصادی و تحقیقاتی زیادی از سوی شرکت های بزرگ روی آن صورت گرفته است.
ماشین مجازی یا VM(Virtual Machine به سیستمی اطلاق می گردد که اجرای سیستم مجازی سازی را بر عهده گرفته است. هر ماشین مجازی می تواند شامل سیستم عامل، سخت افزار و نرم افزار اختصاصی خود باشد. ماشین مجازی، مستقل از سکوی سخت افزاری یا سیستم عامل اولیه به فعالیت خود ادامه می دهند. زیرا دراغلب سیستم های مجازی سازی سرور، یک لایه جدا کننده به نام فوق ناظر Hypervisor میان سیستم عامل میهمان (مجازی) و سخت افزار یا منابع فیزیکی موجود حائل می گردد. کار Hypervisor ایجاد یک دید مستقل مجازی از سخت افزار یا منابع است. Hypervisor باعث می شود ماشین مجازی از دید یکدیگر پنهان بمانند و هر ماشین مجازی تصور کتد تمام سخت افزار یا منابع لازم را در اختیار گرفته است. دو گونه اصلی از Hypervisor وجود دارد :

تمام- سخت افزاری (Bare-Metal)
میزبانی شده Hosted

در اغلب موارد، کار مجازی سازی را نرم افزار انجام می دهد. این نرم افزار لایه Hypervisor را به وجود آورده و ارتباط میان سخت افزار یا سیستم عامل را با این لایه وهر یک از ماشین های مجازی را طوری فراهم می نماید که راه اندازی سیستم عامل مجازی و اجرای برنامه های کاربردی بر روی سخت افزارهای متفاوتی که وجود فیزیکی ندارند را امکان پذیر می نماید.
نمونه هایی از سیستم های نرم افزاری فوق ناظر (Hypervisor) بر پایه سخت افزار از دو شرکت معتبر عبارتند از :

VMware ESX and ESXi
Microsoft Hyper-Vi
نمونه هایی از سیستم های نرم افزاری میزبانی شده (Hosted) بر پایه سیستم عامل به شرح زیرند :

VMware Server
Virtual Server 2005 R2
VMware Workstation
Virtual PC 2007

انواع روش های مجازی سازی سرور

حداقل 6 روش مجازی سازی سرور وجود دارد:
1-      مجازی سازی سرور: تجمیع تعداد زیادی سرور فیزیکی در تعداد محدودی سرور فیزیکی(یا فیزیکی در مجازی) نرم افزار مجازی سازی سرور مابین سرور فیزیکی و سیستم عامل قرار می گیرد و اجازه می دهد چندین ماشین مجازی را بر روی سرور فیزیکی مشابه اجرا کنیم.
2-      مجازی سازی دسکتاپ: جهت انتقال دسکتاپ کاربران نهایی از کامپیوتر شخصی به “فضای ابری” استفاده می شود. به کلامی دیگر، دسکتاپ کاربران نهایی، مجازی می شوند و آنها می توانند بوسیله مثلا تین کلانیت ها به دستکتاپشان دسترسی پیدا کنند. در این حالت سیستم عامل مورد استفاده از سخت افزار مستقل می شود. و ازاین پس شما می توانید بر روی سیستمی که تا به حال قادر به نصب windows7 نبودید این سیستم عامل را نصب نمایید.
3-      مجازی سازی نرم افزار: این روش جهت بسته بندی نرم افزار به کار می رود. به واسطه این روش می توانید نرم افزار مورد نظر را در هر جایی که می خواهید استفاده کنید. نکته ی کلیدی در این روش تجمع کلیه ی فایلهای نرم افزار در یک فایل اجرایی می باشد. در این روش فایل مورد نظر از سخت افزار مستقل می شود.
4-      مجازی سازی storage : این روش جهت مجازی سازی SAN storage به کار می رود.
5-      مجازی سازی I/O: این روش جهت کاهش تعداد کابلهای I/O مورد استفاده قرار می گیرد.
6-      مجازی سازی شبکه: جهت ایجاد شبکه های مجازی داخل سرور به کار می رود تا موجب به پیوستن ماشین های مجازی به هم و شکل گیری Virtual Security Zone شوند.
وقتی اکثر افراد (بخصوص کسانی که تازه به دنیای مجازی سازی پیوسته اند) به مجازی سازی فکر می کنند، اکثرا به مجازی سازی سرورها می اندیشند.
برای اکثر افراد بخصوص آنهایی که تازه با این مفهوم آشنا شده اند مجازی سازی مفهومی جز مجازی سازی سرورها ندارد. این نقطه بهترین محل برای پیوستن به دنیای مجازی است و خواهد بود. به همین دلیل در ادامه این نوشتار بیشتر به این مقوله یعنی “مجازی سازی سرورها” خواهد پرداخت.
در واقع “مجازی سازی سرور” مابین سرور و سیستم عامل قرار می گیرد. نرم افزار های مجازی سازی سرور سیستم عامل مهمان را فریب می دهند. این سیستم عامل ها بر روی ماشین های مجازی اجرا می شوند، اما بواسطه نرم افزار مجازی ساز گمان می کند که به طور مستقیم با سرور فیزیکی در ارتباط است. از همین رو چندین ماشین سیستم عامل مهمان مجازی می توانند فقط از طریق یک سرور فیزیکی مورد استفاده قرار بگیرند و به این ترتیب سود زیادی را عاید سازمان کنند.

آنچه در فنآوری مجازی سازی مورد انتظار است عبارتند از :
کاهش هزینه های خرید سخت افزار
افزایش بهره وری با تخصیص منابع اشتراکی
افزایش بازدهی وبهینه سازی مصرف انرژی
صرفه جویی در فضای استقرار سرویس دهنده ها
بهینه سازی مدیریت شبکه و افزایش انعطاف پذیری
افزایش توان عملیاتی، ظرفیت شبکه و حفظ تداوم کار
سرعت در ترمیم و بازنشانی سیستم ها به هنگام بروز خرابی
افزایش اطمینان و امنیت سیستم ها و کاهش پیچیدگیهای عملیاتی

مزایای دیگری نیز برای مجازی سازی قابل شمارش هستند ولیکن موارد بالا عمومیت بیشتری دارند.
اين اشتراک مي‌‌تواند در رابطه با موارد زير باشد :
1. سکوی سیستم عامل : راه اندازی سيستم عاملهای مختف و مجزا بر روی یک سیستم عامل پایه
2. رایانه های رومیزی : شبیه سازی رایانه های رومیزی به همراه سیستم عامل و نرم افزارها كاربردی و منابع مورد نیاز آن نظیر حافظه، دیسک و سایر ملزومات آن.
3. برنامه های كاربردی: اجرای برنامه های کاربردی به صورت مستقل از سيستم عامل
4. منابع : شبیه سازی شبكه، دستگاههای ورودی و خروجی،حافظه و منابع ذخيره‌سازي مجازی

چند نمونه از مجازی سازی سرور

استفاده از چندین سیستم عامل مختلف بر روی یک سیستم سخت افزاری با کمک سیستم مجازی سازی راه کاری است که ما برای ایجاد شبکه های مختلف بکار می گیریم. فرض کنید یک شبکه در حال کار، نیازمند استقرار یک سرویس دهنده جدید می شود. اگر بخواهیم به صورت معمول این سرویس دهنده را راه اندازی کنید، باید آماده پرداخت هزینه خرید سرویس دهنده، هزینه نصب و جابجائی اطلاعات و هزینه بررسی سازگاری سیستم و کلی هزینه های دیگر باشید که بطور حتم صرفه اقتصادی و زمانی در پی نخواهد داشت. در این موقعیت بهترین راه حل استفاده از فنآوری مجازی سازی است که اجازه میدهد تا به کمک سیستم مجازی سازی، یک سرویس دهنده جدید را بر روی همان شبکه موجود به صورت مجازی ایجاد و بدون اختلال در شبکه ، آن را مورد بهره برداری قرار دهیم.
کاربرد دیگر مجازی سازی افزایش سرعت پردازش و تبادل اطلاعات در شبکه ها است. به فرض اگر به طور همزمان صدها ایستگاه کاری در یک شبکه به یک سرور متصل شده و تبادل اطلاعات کنند، ترافیک روی این سرور به شدت افزایش یافته و سرعت شبکه به شدت کاهش می یابد و احتمال بروز مشکل بالا می رود. راه کار این قضیه از طریق مجازی سازی آن است که چندین سرور مجازی در شبکه راه اندازی شود تا بار ترافیک این رایانه ها میان سرویس دهنده های مجازی تقسیم گردد. این بدین معنی است که حتی اگر منابع سخت افزاری شما محدود باشد آن را به صورت برنامه ریزی شده و تفکیک پذیر مدیریت می نمائید تا برای واحدهای مختلف به صور گوناگون مورد بهره برداری قرار گیرند.