مجازی سازی چیست؟
مفهوم مجازی سازی در علوم رایانه به صورت زیر تعریف می شود:منابع سیستم را به صورت اختصاصی و تفکیک شده در آورد به طوری که بتوان به صورت واحد، آنها را دید و استفاده کرد.
مجازی سازی به طور گسترده ای در دنیای رایانه کاربرد دارد. مجازی سازی امکان راه اندازی چندین سیستم مجازی بر روی یک سیستم فیزیکی را دارد. برای تفهیم بهتر به عنوان یک مثال ساده و یکی از کارهایی که می توان از قدرت مجازی سازی بهره برد، فرض کنید اگر هم اکنون از رایانه استفاده می کنید و این صفحه را بر روی سیستم عامل خود مشاهده می نمایید، با مجازی سازی می توانید هم اکنون بدون خارج شدن از سیستم خود، سیستم عامل های دیگر را راه بیندازید. برای نمونه یک سیستم عامل لینوکس بر روی همین سیستم عامل خود راه اندازی کنید و در آن واحد بتوانید به هر دو دسترسی داشته باشید. حتی می توانید چند سیستم عامل دیگر را نیز به همین گونه راه اندازی نمایید و به همه در یک لحظه دسترسی داشته باشید. تک تک این سیستم ها می توانند ایفای نقش کنند، می توانند برنامه ای را به طور مجزا راه اندازی نمایند، به شبکه متصل شوند، از ابزار های مخصوص به سیستم عامل خود استفاده نمایند و خلاصه می توان گفت به نظر می رسد چند رایانه مجزا دریک رایانه قرار گرفته باشند. با این تفاوت که همگی این سیستم ها از یک منبع تغذیه می کنند (همان رایانه اصلی که در بالا ذکر شد) که می توانند همزمان و در محیطی مجزا و ایزوله شده از هم اجرا شوند و نیز همگی این سیستم عامل های مهمان توسط سیستم عامل میزبان کنترل می شوند. بیشتر سیستم های مجازی سازی از یک لایه ی نرم افزاری به نام Hypervisor استفاده می نمایند. این Hypervisor بین ماشین های مجازی و سخت افزار قرار دارد و وظیفه ی کنترل سخت افزار را به عهده داشته و به سیستم عامل های مهمان ( همان سیستم عامل های درست شده روی سیستم عامل اصلی) اجازه ی اجرا شدن بر روی سیستم فیزیکی مشترک را داده و به آن ها سخت افزار های مجازی اطلاق می دهد.
تاریخچه
ماشین مجازی سازی، ابتدا از طریق سیستم عامل VM در سال ۱۹۷۲ در کامپیوترهای بزرگ IBM مطرح شدند. VM تکامل یافت و هنوز وجود دارد و بسیاری از مفاهیم اصلی آن در سیستمهای عامل دیگر وجود دارد، که به شرح زیر است :
IBM VM370 ، کامپیوتر بزرگ را به چند ماشین مجازی تقسیم کرد، که هر کدام ، سیستم عامل خاص خودش را اجرا می نماید. مشکل عمده ی روش ماشین مجازی VM، به سیستمهای دیسک مربوط می شود. فرض کنید ماشین مجازی ۳ گرداننده دیسک داشت ولی میخواست هفت ماشین مجازی را اداره کند. روشن است که نمیتواند برای هر ماشین مجازی یک گرداننده ی دیسک را تخصیص دهد، زیرا خود نرمافزار ماشین مجازی به فضای دیسک زیادی نیاز دارد تا حافظه ی مجازی و spooling را فراهم سازد. راه حل فراهم کردن دیسک مجازی بود در سیستم عامل IBM VM به نام مینی دیسک خوانده میشوند که از هر نظر، به جز اندازه، یکسان بودند.سیستم هر مینی دیسک را با تخصیص تراک هایی کافی از دیسک های فیزیکی ، پیادهسازی می کند.
وقتی این ماشینهای مجازی ایجاد شدند، کاربران می توانستند هر یک از سیستمهای عامل یا پکیج های نرمافزاری موجود در آن ماشین مجازی را اجرا نمایند. برای سیستم IBM VM ، کاربر معمولاً cms را اجرا میکرد که یک سیستم عامل محاوره ای تک کاربره بود.
سیستم عامل میزبان (host)
سیستم عامل میزبان (host)، سیستم عاملی است که مستقیما روی سختافزار فیزیكی نصب میشود.
سیسستمعاملهای میهمان (guest)
سیسستمعاملهای میهمان (guest)،سیستم عاملی است که بروی یک ماشین مجازی نصب می شود و مستقیما با سخت افزار ارتباط ندارد.
Hypervisor
Hypervisor و یا Virtual Machine Manager) VMM یا Virtual Machine Monitor) یک لایه ی نرم افزاری است (و در بعضی مواقع میان افزار و یا سخت افزاری است) که اجازه ی اجرای چندین سیستم عامل را بر روی سخت افزار داده و ساخت، اجرا و کنترل ماشین های مجازی بر روی سخت افزار را دارد و برای معماری های پردازنده ی بخصوصی طراحی شده اند. Hypervisor پردازنده، حافظه و دیگر منابع را مدیریت می نماید و آنها را به سیستم عامل ها تخصیص می دهد و در عین حال این سیستم عامل های تولید شده یا مهمان را (ماشین مجازی نیز گفته می شوند) از یکدیگر مجزا کرده و اجازه ی دخالت در امور دیگری را نمی دهد و آن ها را از یکدیگر ایزوله می نماید. Hypervisor به ۲ دسته زیر تقسیم می شود:
Hypervisor تمام- سخت افزاری (Bare-Metal)
Hypervisorنوع اول یا تمام- سخت افزاری (Bare-Metal) به طور مستقیم بر روی سخت افزار اجرا می شود. که در این حالت ، اول hypervisor به طور مستقیم بروی سخت افزار نصب می شود و بعد سیستم عامل نصب می شود و منابع از طریق hypervisor اختصاص داده می شود.
معمولا از Hypervisor تمام- سخت افزاری به منظور بهره برداری بیشتر از امکانات و قابلیت های ناظر استفاده می شود.
Hypervisor میزبانی شده (Hosted)
Hypervisorنوع دوم یا میزبانی شده (Hosted) در این نوع از Hypervisor ابتدا یک سیستم عامل بروی سخت افزار نصب می گردد و بعد از آن یک hypervisor بروی سیستم عامل نصب می گردد و hypervisor با منابع سیستم عامل درگیر می شود و برای ساخت ماشین مجازی از منابع در اختیار سیستم عامل بهره می گیرد.
انواع سطوح مجازی سازی
مجازی سازی سطوح مختلفی دارد که بنا به احتیاج از هر کدام استفاده می شود
مجازی سازی کامل
در این سطح از مجازی سازی تقریبا سخت افزار به طور کامل شبیه سازی می شود و هایپروایزور یک ماشین مجازی را تولید می نماید که به لحاظ عمکلرد تفاوت چندانی با ماشین حقیقی ندارد. این ماشین موارد زیر را شامل می شود:
- دیسک و دستگاه های شبکه
- زمانسنج و وقفه ها ( Timer and Interrupts )
- پلتفرم شبیه سازی شده: مادربرد، گذرگاه دستگاه و BIOS
- بوت Legacy: مثلاً با 16 بیت شروع شود و با مد 64 بیت راه اندازی شود
- دسترسی حافظه
- دستورالعمل های خاص
با شبیه سازی این ماشین های مجازی سیستم عامل های مهمان بدون نیاز به اصلاح شدن قابل اجرا هستند. سیستم عامل مهمان و هر برنامه کاربردی بر روی ماشین مجازی از محیط مجازی خود بی اطلاع بوده و کاملا عادی اجرا می شوند. از نمونه های آن (KVM (Kernel-based virtual machine که یک ابزار مجازی سازی است می توان نام برد.
مجازی سازی ناقص (Paravirtualization)
در این سطح از مجازی سازی محیط سخت افزار شبیه سازی نمی شود و یک مجموعه نرم افزار و ساختمان داده را به کار می گیرد و به مهمان مجازی سازی شده ارائه می شود. در این روش مجموعه اصلاحات نرم افزاری بر روی مهمان ایفا می شود تا بتواند از محیط Paravirtualized استفاده نماید. Paravitualization می تواند تمام کرنل را در بر گیرد تا بتواند I/O را مجازی سازی کند. یکی از نمونه های پیاده سازی روش Paravirtualize برای Xen می باشد (Xen) از ابزار مجازی سازی است که از این تکنیک پشتیبانی می نماید. این تکنیک ابتدا توسط Xen معرفی شد و سپس دیگر ابزارها نیز از آن پشتیبانی کردند. Paravirtualization نیازی به Extension های مجازی سازی پردازنده ی میزبان ندارد و همین طور مجازی سازی را بر روی معماری سخت افزار هایی می توانند اجرا کنند که از مجازی سازی سخت افزار کمکی (Virtualization Hardware-assisted) نیز پشتیبانی نمی کنند.
تمامی سخت افزار ها برای ماشینFully Virtual شبیه سازی شده اند و به نظر می رسد که سخت افزارهای واقعی هستند ولی برای ماشین Paravirtual توسط Xen ارتباط برقرار می نماید.
مجازی سازی بخشی یا قسمی (Partialvirtualization)
همان طور که از اسم آن پیداست بخشی یا قسمی از سخت افزار شبیه سازی مجازی می شود که بتواند مانند یک سخت افزار حقیقی استفاده شود. بر خلاف مجازی سازی کامل که سخت افزار به حد نیاز شبیه سازی می شد، در مجازی سازی بخشی و قسمتی، سخت افزار زیر ساختی و فضا های آدرس شبیه سازی می شوند و این بدین معناست که کل سیستم عامل در ماشین مجازی راه نمی افتد بلکه تعداد زیادی نرم افزار کاربردی می توانند در آن راه اندازی شوند. در این محیط اشتراک گذاری منابع و ایزوله سازی پردازش انجام می شود اما اجازه نمی دهد تا سیستم عامل های مجازی مهمان برپا شوند. مجازی سازی قسمی یکی از مراحلی بود که باید برای رسیدن به مجازی سازی کامل پشت سر گذاشته می شد. این تکنیک راحت تر از تکنیک مجازی سازی کامل پیاده سازی می شود ولی نسبت به آن نقطه ضعف هایی در زمینه های سازگاری و قابلیت حمل، دارد. تخمین زدن اینکه دقیقا کدام ویژگی توسط کدام نرم افزار کاربردی استفاده می شود نیز از دیگر مسائل آن است. اگر یک تعداد ویژگی سخت افزاری خاصی شبیه سازی نشود، در صورتی که نرم افزاری به آنها نیاز داشته باشد با شکست مواجه می شود.
انواع مجازی سازی
مجازی سازی میزکار (Desktop Virtualization یا Client Virtualization)
مجازی سازی میزکار یکی از متد های مجازی سازی است که می توان بر روی یک ماشین فیزیکی مشترک، میز کارهای مجازی برای کاربران ساخت و هر کدام به طور منحصر به فرد به میزکار خود دسترسی دارند. این ماشین مشترک می تواند یک سرور مرکزی باشد. کاربران می توانند از طریق شبکه به این سرور متصل باشند. از مزایای مجازی سازی میزکار می توان به موارد زیر اشاره کرد:
- صرفه جویی در هزینه کل
- امنیت بالا
- کاهش مصرف انرژی
- کاهش زمان ازکار افتادگی و یا Down Time
- مدیریت متمرکز و یکپارچه
از محدودیت های این نوع مجازی سازی موارد زیر را می توان ذکر کرد
- مشکل در نگهداری و راه اندازی driver های چاپگر
- از کار افتادگی شدید در زمانی که شبکه قطع شود
- پیچیدگی و هزینه در استقرار زیرساخت میز کار مجازی
- ریسک امنیتی در خصوص پیاده سازی مدیریت شبکه ی نامناسب
زیرساخت میزکار مجازی یا (Virtual Desktop Infrastructure – VDI) یکی از رایج ترین متد های مجازی سازی میزکار است که از مدل های محاسباتی سرور استفاده می کند. VDI میزبانی مجازی سازی میزکار را در یک ماشین مجازی که بر روی یک سرور ریموت یا مرکزی سوار است را برعهده دارد.
مجازی سازی Presentation
مجازی سازی ارائه یا Presentation محصولی از شرکت مایکروسافت است که یک متد انتقال نرم افزار کاربردی است که میزکار و نرم افزار های کاربردی کاربران را از یک سرور مشترک به آنان منتقل می نماید. این نوع از مجازی سازی اجازه ی نصب یک نرم افزار کاربردی را بر روی سرور می دهد. کاربران با session های منحصر به فرد و مجزای خود به سرور یا یک رایانه ی Remote شده توسط شبکه، متصل می شوند و از این نرم افزار ها استفاده می نمایند. کمی شباهت به مجازی سازی میز کار دارد ولی یکی از تفاوت های آن با مجازی سازی میزکار در نحوه ی ارتباط کاربران است. در Presentation چند کاربر می توانند به یک سرور متصل شده و امور خود را سپری کنند (یک به چند) ولی در میز کار یک کاربر به یک OS متصل به آن، مرتبط است(یک به یک).
مجازی سازی نرم افزار کاربردی
مجازی سازی برنامه کاربردی به این معناست که وقتی 2 برنامه روی یک سیستم عامل قرار دارد و از منابع یکسان بهره مند هستند وقتی همزمان در خواست می دهند باعث توقف 2 برنامه یا قفل شدن سیستم می شود ولی با مجازی سازی به هر برنامه یک سیستم عامل اختصاص می دهیم(از دید برنامه کاربردی) ولی در اصل کپی از منابع اصلی که برنامه کاربردی از ان استفاده می کند در اختیارش قرار می دهیم . کاربرد ان در سیستم عامل هست.
در این شکل ما یک نرم افزار کاربردی را مشاهده می کنیم که از سیستم عامل و ابزار های مختص آن استفاده می نماید و مشکلی نیز مشاهده نمی شود. ولی در صورت مغایرت این سیستم عامل و نرم افزار می توانیم از مجازی سازی استفاده نماییم.
با توجه به شکل بالا می توان گفت که نرم افزار مجازی سازی شده و پارامترهای ناسازگار با سیستم عامل به حالت سازگار در آمده و سیستم عامل با آن مانند یک نرم افزار درون خود و محلی رفتار می نماید (Native). در واقع محیط نرم افزار یک محیط کپسوله شده (Encapsulated Enviroment) است و می تواند در ماشینی در محلی دیگر (برای مثال در سروری در یک نقطه ی دیگر) راه بیفتد و سیستم عامل فریب خورده و تصور بر خودی بودن و محلی بودن (Local) نرم افزار دارد. از مزایای نرم افزار کاربردی موارد زیر را می توان نام برد:
- به منابع کمتری در مقایسه با استفاده از ماشین های مجازی مجزا نیاز است
- قابلیت اجرای برنامه های کاربردی ناسازگار بر روی یک ماشین محلی به طور همزمان
- تنظیم مناسب، مقرون به صرفه و استاندارد سیستم عامل بر روی چندین ماشین
- تسهیل بیشتر گسترش نرم افزار های کاربردی
- امنیت بیشتر بدلیل ایزوله و کپسوله ساختن محیط از سیستم عامل محلی
- حمل پذیری ساده تر نرم افرارها از رایانه های Client به یکدیگر بدلیل فقدان نصب تک تک آنان بر سیستم عامل محلی
و مزایای بیشتر
مجازی سازی حافظه
می دانیم که حافظه برای همه ی ماشین های دیجیتالی کاربرد دارد: مانند سویچها، مسیر یاب ها، Appliance ها و سرور ها. ولی بالاخره روزی فرا می رسد که حافظه ظرفیتش تکمیل شده و باید حافظه جدید تر یا بیشتری تهیه شود. ممکن است این روال به قدری ادامه پیدا کند تا به لحاظ هزینه برداری چالش انگیز شود. مجازی سازی بدین منظور راهی را می گشاید، حافظه را از پردازنده و سرور جدا نموده تا یک عملکرد مشترک، توزیع شده و یا متصل به هم را مهیا سازد که این حافظه مجازی بین ماشین ها به اشتراک گذاشته می شوند. مجازی سازی حافظه بیشتر بر عملکرد نرم افزار های کاربردی متمرکز شده است و دسترسی مستقیم به کاربر نهایی دارد. پردازنده نیز فعال و مستقیماً به داده های حافظه دسترسی دارد.
مجازی سازی Storage
مجازی سازی انباره یا مخزن، پروسه ای است که شامل گروه بندی دستگاه های مخزن (Storage Devices) شبکه می باشد و طوری به نظر می رسد که گویی یک مخزن مشترک در میان است. برای توضیخ بیشتر فرض کنید انباره ای داریم که از داده های دستگاه های مخزن متعددی پر می شود که این دستگاه ها در شبکه پخش است. حتی ممکن است این دستگاه های مخزن از نوع های متفاوت باشند. حال این مخزن قابل اشتراک گذاری برای همه می باشد و به نظر می رسد که یک دستگاه مخزن بسیار بزرگ در میان است که می تواند از یک واحد مرکزی مدیریت شود. این داده ها مکانی نا محسوس داشته و سرور ها از جای این داده ها بی اطلاع هستند. در کل مدیریت مخازن و داده ها سخت و زمان بر است. ولی با مجازی سازی مخزن می توان به این مشکل رسیدگی کرد و با تسهیل کردن نسخه پشتیبان گیری، آرچیو سازی و بازیابی در زمان صرفه جویی نمود. این متد می تواند از برنامه های کاربردی نرم افزار و یا Appliance ها استفاده کرده و اجرا شود. دلایل مهم برای راه اندازی مجازی سازی مخزن از جمله موارد زیر است:
- بهبود مدیریت مخزن در یک محیط IT ناهمگن
- دسترسی بهتر و تخمین مناسب تر زمان خرابی با مدیریت خودکار
- استفاده از مخزن بهتر
مجازی سازی داده
در این نوع مجازی سازی، داده ها از همه نقاط جمع آوری شده و به صورت یک مرجع داده ای مجازی در اختیار ابزارهایی (Front-End Solutions) قرار می گیرند که نیاز به کل داده داشته ولی نیاز به محل قرار گیری و محل مخزن این داده ها ندارند. مانند نرم افزار های کاربردی، درگاه ها یا Portal ها و Dashboard. برای پی بردن به اهمیت این نوع از مجازی سازی به عنوان یک نمونه می توان سازمان هایی را مثال زد که از سیستم مدیریت پایگاه داده های متعددی استفاده می کنند. برای مثال برخی از Oracle و برخی از SQL Server. حال این دو با یکدیگر ممکن است بدلیل ساختار سیستمی ناسازگاری های ارتباطی داشته باشند و بدلیل رقابتی که با یکدیگر دارند داده های زیادی تولید و یکپارچه سازی و ذخیره می شود. با مجازی سازی داده ها کاربران می توانند داده های حقیقی و مورد اطمینان را سریعاً دریافت نمایند، که بر تصمیماتشان بسیار تاثیر گذار است. یکی از نمونه های آن Red Hat® JBoss® Data Virtualization است. از مجازی سازی داده ها بیشتر در زمینه های زیر استفاده می شود:
- یکپارچه سازی داده ها
- یکپارچه سازی کسب و کار
- سرویس های داده ی معماری سرویس- گرا (Service-oriented architecture data services)
- جست و جوی شرکتی
قابلیت هایی نیز دارا می باشد از جمله
- انتزاع تکنیکی داده های ذخیره شده
- اتصال به منابع داده ای با انواع مختلف (نا متناجس) و در دسترس بود داده ها از یک نقطه
- تبدیل داده ها
- قابلیت ترکیب مجموعه نتایج داده ها از منابع متعدد
- قابلیت انتقال داده های درخواستی
مجازی سازی شبکه
مجازی سازی شبکه به متراکم ساختن چند شبکه فیزیکی به یک شبکه مجازی اشاره دارد. حتی می تواند به طور منطقی یک شبکه فیزیکی را به چند شبکه منطقی قطعه بندی نماید. این نوع از مجازی سازی ویژگی های زیر را در بر دارد :
- بهبود سرعت شرکت ها و سازمان ها
- بهبود کارکرد شبکه
- کاهش سرمایه ها و هزینه های عملیاتی
- ابقای استاندارد های امنیتی قوی، مقیاس پذیری، مدیریت و دسترسی بهتر
هدف اصلی کاهش هزینه های کلی با اشتراک گذاری منابع شبکه ای و در عین حال تفکیک مطمئن امنی بین سازمان ها، گروه ها و افراد است
مجازی سازی سرور
مجازی سازی سرور به این گونه است که یک سرور حقیقی و فیزیکی به چندین سرور مجازی، مجازی سازی می شود. هر کدام از آن ها مانند یک سرور فیزیکی عمل کرده، برنامه های کاربردی، سیستم عامل و ابزار های مختص خود را دارند. با این روش می توان در هزینه و مصرف انرژی و قطعات بسیار صرفه جویی نمود زیرا که برای مثال در سازمانی که ده ها تا صد ها سرور دارد، همیشه همه ی آن ها مورد استفاده قرار نمی گیرند و عملا در وضعیت بیکاری می مانند و این عمل باعث اتلافات بسیاری مشود. کلید راه حل این مسئله همین مجازی سازی سرور است که می توان تعیین کرد چند سرور موجود باشد و چه کارهایی انجام دهد و وظایف آن چیست. یکی از نکات مثبت مجازی سازی سرور نامحسوس بودن منابع سرور اصلی است و از کاربران و نرم افزار ها مخفی است و از دیگر مزایا نصب سیستم عامل های مجزا بر روی هر کدام و یا حتی reboot نمودن هرکدام به تنهایی است. از نمونه های آن XenServer را می توان نام برد
مجازی سازی I/O
در این متد مجازی سازی هدف تفکیک کردن منابع I/O و به اشتراک گذاشتن آنان بین سرور ها و مخازن(Storages) است. از آنجایی که مجازی سازی توسعه بسیاری یافته است، اشتراک گذاری منابع I/O، جوابگوی نیاز های آن نمی باشد. لذا IOV یا مجازی سازی I/O به کار می آید. می توان بر روی کارت رابط شبکه یا NIC آن را اعمال نمود و NIC را به چند کارت شبکه مجازی تقسیم نمود تا به ماشین های مجازی سرویس دهند و نیاز های آنان و ضمانت کارایی درخواستی آنان را فراهم آورند. یا برای مثال دیگر IOV برای سوییچ های مجازی است (سوییچ مجازی نرم افزاری است که اجازه می دهد یک ماشین مجازی با دیگر ماشین مجازی ارتباط برقرار نماید) که عملکرد ویژه ای را برای مدیریت ماشین های مجازی تعریف می نماید. از نمونه های آن Virtio می باشد.
مجازی سازی فایل
در مجازی سازی فایل یک لایه ی انتزاعی بین سرور فایل و Client هایی که به این سرور های فایل دسترسی دارند قرار داده می شود. این لایه ی مجازی، فایل ها و فایل سیستم را در سرور ها مدیریت می نماید و به ادمین ها اجازه می دهد تا از درون فایل های سرور به Client ها فایل ها را ارائه دهند. شاید بنظر برسد که کاری سربار است ولی از مزایای آن فضای نام جهانی است (Global Namespace) تا بر روی فایل های سرورهای فایل شبکه اعمال شوند. از دیگر مزایا اشتراک گذاری ظرفیت بیش از حد مخزن (storage) بین فایل سرور ها است. داده ها می توانند سالم و واضح بین سرور ها انتقال یابند و بدست کاربران نهایی و نرم افزار های کاربردی برسند. به طور خلاصه می توان گفت مجازی سازی فایل به سازمان ها اجازه ی دسترسی ایزوله شده ای را می دهد تا بتوانند از ظرفیت مخزن بر روی سرور فایل شبکه استفاده کنند و فایل ها را بدون مشکل انتقال یابند. مجازی سازی فایل می تواند در قالب یک Appliance استفاده شود.
مزایای مجازی سازی
مجازی سازی مزایای بسیاری دارد و همین طور تصورات غلطی در خصوص آن وجود دارد. این بخش به بررسی این موارد می پردازد.
کاهش هزینه ها
یکی از تصورات رایج غلط در خصوص مجازی سازی، هزینه برداری آن است. ممکن است در ابتدا مجازی سازی گران تمام شود ولی نقش اصلی خود را در دراز مدت ایفا نموده و این تصور برکنار می رود. از مواردی که حتما باید رعایت نمود تا سرمایه ی هزینه شده برگردد، انتخاب درست در روش مجازی سازی است. موارد زیر را در نظر بگیرید:
- صرفه جویی در مصرف انرژی
با استفاده از مجازی سازی می توان به تعداد دستگاه های کمتری در زیر ساخت پروژه نیاز داست که از نتایج این امر صرفه جویی در مصرف انرژی است زیرا که یک دستگاه فیزیکی نیاز به استفاده از منابع انرژی و نیاز به خنک شدن دارد.که این امر باعث کاهش در مصرف انرژی می شود.
- نگهداری کمتر
با برنامه ریزی های کافی و دقیق قبل از انتقال سیستم های فیزیکی به مجازی زمان کمتری در خصوص نگهداری آن صرف می شود و همین طور هزینه موارد مربوطه نیز کاهش می یابد.
- افزایش بقای نرم افزار های نصب شده
ممکن است نرم افزاری بسیار قدیمی داشته باشیم و حتما نیاز داریم آن را اجرا نماییم. یا باید برای خرید یک سیستم بسیار قدیمی با قطعات همساز آن هزینه نماییم و یا براحتی در زمان بسیار کم و با هزینه ناچیز از مجازی سازی برای این نرم افزار استفاده نماییم. بدین صورت دیگر نگران ارتقای سریع سخت افزار و منسوخ شدن نرم افزارها نخواهیم بود.
- قابلیت تخمین زدن هزینه
اکثر شرکت های پشتیبان برای مجازی سازی مثل Red Hat Enterprise Linux نرخ هزینه های موارد مربوط به مجازی سازی را تعیین نموده اند و می توان تخمینی قبل از تهییه ی آن داشت.
- فضای کمتر
با راه اندازی و متراکم سازی سرور ها بر روی ماشین های کمتر با قدرت مجازی سازی می توان در مصرف فضای فیزیکی صرفه جویی نمود و برای استفاده های دیگر در نظر داشت
بهبود عملکرد
با توجه به اینکه در نسخه های قدیمی تر مجازی سازی که از یک پردازنده استفاده می کردند، ماشین های مجازی با محدودیت هایی روبرو می شدند و این تصور بوجود آمد که مجازی سازی یعنی کندی و سرعت پایین. با توجه به پیشرفت فناوری دیگر این تصور ریشه کن شده و ماشین های مجازی با سرعت های بسیار بالا تری نسبت به قبل براه می افتند.می توان خصوصیات این عملکرد ها را در سایت های رسمی مربوطه مشاهده نمود
بهبود مواجهه با شرایط بحرانی
در بعضی مواقع مشکلات بسیار جدی و بحرانی بوجود می آید. در یک سیستم فیزیکی معمولا نیاز است که سیستم عامل در زمان بروز بحران های جدی، دوباره نصب شود که منجر به ساعت ها گرفتن نسخه پشتیبان از داده ها ضروری است. اما اگر سیستم مجازی سازی باشد، یکی از قدرت های آن مهاجرت مجازی سازی است. اگر زمینه مهاجرت یا انتقال فراهم باشد ماشین های مجازی می توانند بر روی یک میزبان سالم راه بیفتند و شاید طولانی ترین عمل در آن بازیابی داده های مهمان است. همین طور چون هر کدام از سیستم های مجازی به طور کامل از یکدیگر مجزا هستند، از کار افتادن یکی بر دیگری بی تاثیر است.
بهبود امنیت
مجازی سازی از ابزار هایی برای امنیت استفاده می نماید. برای مثال SELinux و sVirt برای شرکتRed Hat Enterprise Linux 6 که به هر دوی آن می پردازیم:
- SELinux
توسط US National Security Agency و دیگران تولید شد تا کنترل دسترسی الزامی یا (MAC (Mandatory Access Control را برای لینوکس ایفا نماید. توسط SELinux همه ی پردازش ها و فایل ها، نوعی برایشان تعریف می شود و دسترسی ها به همه ی موارد تحت کنترل است. SELinux محدودیت هایی را برای حمله کنندگان و کار ها ایفا می نماید تا از اقدام بسیاری از کار های ضد امنیتی جلوگیری نماید از جمله حمله سرریز بافر و ترفیع امتیازی ( Privilege Escalation : دسترسی غیر مجازی کاربری به اطلاعات خاص). SELinux به بهبود مدل های امنیتی میزبان های Red Hat Enterprise Linux و مهمان های مجازی شده ی آن پرداخته و تنظیم و تست شده است.
- sVirt
Red Hat Enterprise Linux 6 از یک فناوری بنام sVirt استفاده نموده که با مجازی سازی و SELinux ادغام شده است. این فناوری کنترل دسترسی الزامی یا MAC را در زمان استفاده از ماشین مجازی برای امنیت بیشتر ایفا نموده که از مداخله ی Bug های درون Hypervisor در سیستم جلوگیری می نماید تا به میزبان یا یک ماشین مجازی لطمه زنند. برای اطلاعات بیشتر در رابطه با امنیت می توان به Red Hat Enterprise Linux 6 Virtualization Security Guide مراجعه نمایید. برای توضیحات بیشتر به صفحه ابزار مجازی سازی قسمت KVM مراجعه فرمایید.
بالا بردن Uptime
زیرساخت های مجازی امروزه قابلیت ها و مزایای ویژه ای را ارائه می دهند که در ساختارهای سخت افزاری وجود ندارند که با بالا بردن Uptime کمک شایانی می کند. ممکن است برند یا نام های متفاوتی داشته باشند اما تقریبا تمامی آن ها این ویژگی ها را دارند . Live Migration (مهاجرت زنده) Storage Live Migration (مهاجرت زنده فضای ذخیره ساز) Fault Tolerant (تحمل خطا) High Availability DRS (تخصیص پویا و پراکنده منابع با قابلیت زمان بندی)
افزایش چرخه عمر نرم افزار ها (Life Cycle)
با مجازی سازی می توانید به راحتی عمر استفاده از نرم افزار را بالا ببرید، زیرا محیط ایزوله ای برای نرم افزار ایجاد شده و تغییرات بروی نرم افزار های دیگر، بروی این نرم افزار مشکلی ایجاد نمی کند.
مهاجرت (Migration)
مهاجرت در مجازی سازی به معنی انتقال یک ماشین به میزبان دیگر است .
مهاجرت دو نوع دارد، Live و Offline.
انواع مهاجرت
- مهاجرت Live
مهاجرت Live مهاجرتی است که قادر می سازد انتقال یک ماشین مجازی در حال اجرا را، بین میزبانان فیزیکی و بدون هیچ وقفه در خدمات، فراهم می سازد.
- مهاجرت Offline
در این نوع ابتدا فعالیت ماشین مجازی متوقف شده و سپس یک Image از حافظه ی ماشین مجازی به میزبان مورد نظر منتقل می شود سپس ماشین مجازی در میزبان جدید به فعالیت خود ادامه می دهد و فضای حافظه ی میزبان اولیه که ماشین مجازی به خود اختصاص داده بود آزاد می شود.
مزایای مهاجرت
- تعادل بارگذاری
در زمانی که یک ماشین میزبان سربار زیاد و اضافه بار دارد و می تواند یک ماشین مجازی مهمان بر روی آن را مهاجرت داد تا از بار اضافی آن کم شود و با این کار تعادل را می توان برقرار نمود.
- تغییر دادن یا به روز نمودن میزبان
ممکن است ماشین میزبان نیاز به ارتقاهای سخت افزاری و یا تعویض قطعات داشته باشد. در این صورت با مهاجرت دادن ماشین های مجازی سوار بر آن می توان مطمئن شد که ماشین ها از کار نیفتاده اند و مهمان هایی که از آن استفاده می کنند با مشکل قطعی روبرو نمی شوند.
- صرفه جویی در مصرف انرژی
می توان با مهاجرت دادن ماشین های مجازی و توزیع آن بین دیگر میزبان ها، میزبان هایی را آزاد نمود و یا حتی خاموش کرد تا در مصرف انرژی صرفه جویی شود.
- جابجایی از لحاظ موقعیت جغرافیایی
ماشین های مجازی را می توان برای تاخیر زمان کمتر یا شرایطی خاص به دیگر نقاط فیزیکی منتقل نمود. برای اطلاعات بیشتر می توان به راهنمای Red Hat Enterprise Linux 6 Virtualization Administration Guide مراجعه نمود.
مهاجرت مجازی به مجازی
ممکن است در شرایطی نیاز داشته باشیم Hypervisor ای را به Hypervisor دیگر تبدیل نماییم. به عنوان یک مثال شرکتRed Hat Enterprise Linux 6 ابزار هایی را مهیا کرده تا ماشین های مجازی با هر نوع Hypervisor ای را به KVM تبدیل کنند (KVM یک از ابزار های مجازی سازی است، برای اطلاعات بیشتر به بخش انواع ابزار های مجازی سازی مراجعه نمایید). ابزار virt-v2v ماشین هایی با فرمت Image مخصوص خود از جمله VHDX، VMDK، OVF، raw و qcow2 را می تواند تبدیل و Import نماید. برای اطلاعات بیشتر می توان به Red Hat Enterprise Linux 6 V2V Guide مراجعه نمود.
مهاجرت فیزیکی به مجازی
فرایند تبدیل یک ماشین فیزیکی به یک ماشین مجازی را مهاجرت فیزیکی به مجازی می گویند . اين فرآيند تحت عنوان P2V Migration(Physical to Virtuale) شناخته مي شود که برای نحوه پیاده سازی این کار می توانید به صفحه ابزارهای مجازی سازی قسمت Virt-p2v مراجعه فرمایید.
گروه فنی و مهندسی وی سنتر ارائه دهنده کلیه راهکارهای مجازی سازی آمادگی خود را برای تامین نیازهای مشتریان در این حوزه اعلام می دارد.
شماره تماس: 88884268
ایمیل: info@vcenter.ir