توسط پیشگام هاست | وبلاگ | 0 نظر
تکنولوژی مجازی سازی سالهاست که به وجود آمده است ، اما تنها در چند سال گذشته به مدد پیشرفتهای گسترده ای که داشته است مورد اقبال گسترده قرار گرفته است . در ابتدای پیدایش این تکنولوژی برای استفاده از آن باید سخت افزارهای بسیار گران قیمتی را می خریدید، اما امروزه با توجه به امکان استفاده از سرورهای PC مناسب ، می توانید برای شروع کار نرم افزارهای مجازی سازی را به صورت رایگان دانلود نمایید. در حال حاضر تکنولوژیهای مختلفی برای مجازی سازی در بازار وجود دارند که از جملهٔ آنها می توان به موارد زیر اشاره کرد :
بسته به موقعیت، ممکن است از یک یا چند نوع از این تکنولوژیها استفاده شود . پیشگام هاست در این پست به بررسی هر یک از این تکنولوژیها و مزایا و معایب آنها خواهد پرداخت. بر اساس نیازهای مختلف، می توان نوع خاصی از تکنولوژی مجازی سازی را انتخاب نمود. با ما همراه باشید!
بسته به موقعیت، ممکن است از یک یا چند نوع از این تکنولوژیها استفاده شود بر اساس نیازهای مختلف، می توان نوع خاصی از تکنولوژی مجازی سازی را انتخاب نمود.
در مجازی سازی کامل نرم افزار ، تمام سخت افزارها توسط یک برنامه نرم افزاری شبیه سازی می شوند. حتی اگر سخت افزار پایه یک برنامهٔ نرم افزاری شبیه سازی شده باشد ، «باور» ظاهری آن است که تمام درایورهای دستگاه و فرایند پردازش بر روی یک سخت افزار واقعی اجرا می شود. مجازی سازی نرم افزار حتی سیستم علمل را نیز فریب می دهد ، به گونه ای که سیستم عامل نیز تصور می کند بر روی یک سخت افزار واقعی اجرا می شود.
یکی از مزایای مجازی سازی کامل نرم ازار آن است که می توانید هر نوع سیستم عاملی را بر روی آن اجرا کنید . مهم نیست که سیستم عامل مورد نظر سخت افزار هاست اصلی را بشناسد یا خیر. بنابراین می توان سیستم عاملهای قدیمی و سیستم عاملهای خاص را در این محیط اجرا نمود . در این تکنولوژی ساختار سیستم بسیار انعطاف پذیر است ، زیرا نیازی به داشتن شناخت خاصی از سیستم عامل یا سخت افزار نیست . زیرمجموعه های سخت افزاری سیستم عامل به شیوه ای عادی این سخت افزار شبیه سازی شده را شناسایی می کند. سیستم عامل تصور می کند که این سخت افزار یک سخت افزار واقعی است .معمولا انواع سخت افزارها و قابلیتهایی که این سیستم عامل شناسایی می کند ، نسبتا کلی است و ممکن است به اندازهٔ دستگاههای سخت افزاری واقعی کامل و تمام عیار نباشند ، اما کاربردی و قابل استفاده هستند.
یکی دیگر از مزایای مجازی سازی کامل نرم افزار آن است که شما دیگر نیازی به خرید سخت افزارهای اضافی ندارید . با مجازی سازی نرم افزار به کمک سخت افزار ، باید سخت افزاری بخرید که از فناوری پیشرفته VM پشتیبانی می کند. اگرچه این تکنولوژی امروزه در بیشتر سیستمهای موجود گنجانده شده است ، اما برخی از سخت افزارهای قدیمی این توانایی را ندارند. برای استفاده از این سخت افزار قدیمی به عنوان یک سرور مجازی ، باید از مجازی سازی کامل نرم افزار یا شبه مجازی سازی استفاده کنید.
فقط تکنولوژی مجازی سازی نرم افزار به کمک سخت افزار به قابلیتهای سخت افزاری پیشرفته VM نیاز دارد . مجازی سازی کامل نرم افزار چنین نیازی ندارد. Oracle VM و VMware ESX روی سخت افزارهای قدیمی کار می کنند که هیچ ویژگی CPU خاصی ندارند. این نوع مجازی سازی به نام شبیه سازی نیز معروف است.
متأسفانه مجازی سازی کامل نرم افزار سربار اضافی سیستم را بیشتر می کند. این سربار به صورت وجود دستورالعملهای اضافی و زمان CPU بر روی هاست است و سبب کندی کار سیستم و افزایش استفاده از CPU می شود . در تکنولوژی مجازی سازی کامل نرم افزار فراخوانهای دستورالعملهای CPU در مانیتور ماشین مجازی (VMM) نگه داشته شده و سپس در یک برنامهٔ نرم افزاری شبیه سازی می شوند. بنابراین ، هر دستورالعمل سخت افزاری که به طور معمول توسط خود سخت افزار انجام می شود ، اکنون توسط یک برنامه اداره می شود. به عنوان مثال ، هنگامی که درایور دستگاه دیسک درخواست I / O را به “دیسک مجازی” می فرستد ، نرم افزار موجود در سیستم VM این درخواست را رهگیری و سپس پردازش می کند ، و درنهایت یک I / O را در دیسک واقعی اصلی می سازد. بدین ترتیب تعداد دستورالعمل های انجام I / O بسیار افزایش می یابد.
در شبکه سازی، از آنجا که یک سوئیچ شبکه نیز در این نرم افزار شبیه سازی می شود، مقدار سربار ایجاد شده باز هم بیشتر می شود. این سربار بسته به میزان فعالیت شبکه می تواند بسیار زیاد باشد. در حقیقت، در هنگام استفاده از سیستمهای هاستی که بیش از حد بارگذاری شده اند ، احتمالا شاهد تأخیر شبکه ناشی از خود سوئیچ شبکه خواهیم بود . به همین دلیل سایزبندی و تعیین اندازه اهمیت بسیار زیادی دارد.
مجازی سازی نرم افزار به کمک سخت افزار با استفاده از تراشه های CPU که از پشتیبانی مجازی سازی درون سیستمی برخوردارند، قابل انجام است . اخیراً با معرفی تکنولوژیهای Intel VT و AMD-V ، این نوع مجازی سازی به یک تکنولوژی تجاری تبدیل شده است. این تکنولوژی نخستین بار بر روی کامپیوترهای IBM System/370 معرفی شد . این تکنولوژی شبیه به مجازی سازی نرم افزار است با این تفاوت که در آن برخی عملکردهای سخت افزار با تکنولوژی سخت افزاری سرعت گرفته و تقویت می شوند .دستورالعملهای سخت افزاری مانند مجازی سازی نرم افزار ، نگه داشته و پردازش می شوند ، اما این بار این کار با استفاده از سخت افزار و در اجزای مجازی سازی تراشهٔ CPU انجام می شود.
با استفاده از تکنولوژی مجازی سازی نرم افزاری به کمک سخت افزار ، می توانید از مزایای مجازی سازی نرم افزار از قبیل امکان استفاده از هر نوع سیستم عامل بدون آنکه تغییری در آن ایجاد کنید، بهره مند شوید و در عین حال به عملکرد بهتری نیز دست پیدا کنید. به دلیل اهمیت مجازی سازی ، تلاش زیادی در جهت پشتیبانی بیشتر از مجازی سازی نرم افزاری به کمک سخت افزار انجام می شود. مجازی سازی به کمک سخت افزارنیز از هر نوع سیستم عامل پشتیبانی می کند. Oracle VM با استفاده از تکنولوژی مجازی سازی نرم افزار به کمک سخت افزار ، به شما امکان می دهد سیستم عامل های مبتنی بر لینوکس و Solaris x86 و همچنین Microsoft Windows را نصب و راه اندازی کنید. این تکنولوژی همچنین مهاجرت از سیستم های VMware به Oracle VM را آسان تر می کند.
همانطور که قبلاً اشاره شد ، Intel و AMD هر دو متعهد به پشتیبانی ازتکنولوژی مجازی سازی نرم افزاری با کمک سخت افزار هستند. هر دوی آنها در اواسط سالهای ۲۰۰۶-۲۰۰۶ تکنولوژی مجازی سازی را معرفی کردند ، که زمان زیادی از آن نمی گذرد و پشتیبانی آنها از این تکنولوژی سبب بهبود عملکرد آن شده است. Intelو AMD هنوز به طور کامل ازشبه مجازی سازی پشتیبانی نمی کنند. با این حال ، مؤلفه های مجازی سازی نرم افزاری به کمک سخت افزار به سرعت تغییر می کنند ، با این وجود بطور مداوم قابلیت ها و عملکردهای جدیدی در این تکنولوژی معرفی می شوند.
تکنولوژی مجازی سازی به کمک سخت افزار یک شیوهٔ مجازی سازی واقعاً بلند مدت است. اپلیکیشنهایی مانند Xen به طور عمده برای مدیریت استفاده می شوند.
Intel از طریق تکنولوژی VT-x از مجازی سازی پشتیبانی می کندتکنولوژی Intel VT-x اکنون بخشی از بسیاری از چیپست های Intel از جمله خانوادهٔ پردازشگرهای Pentium ، Xeon و Core است. تکنولوژی VT-x از واحد مدیریت حافظهٔ ورودی / خروجی (IOMMU) که به سیستم های مجازی امکان دسترسی مستقیم به دستگاه های I / O را می دهد، پشتیبانی می کند . Ethernet و دستگاه های گرافیکی اکنون می توانند DMA خود را داشته و به طور مستقیم از طریق سخت افزار نقشه برداری کنند. در جدیدترین نسخه های تکنولوژی Intel VT ، جداول صفحه گسترده ای اضافه شده است تا ترجمهٔ مستقیم از آدرس های مهمان مجازی به آدرس های واقعی امکان پذیر باشد.
AMD با استفاده از تکنولوژی AMD-V از مجازی سازی پشتیبانی می کند. تکنولوژی AMD-V شامل یک تکنولوژی نمایه سازی سریع مجازی سازی برای سرعت بخشیدن به مجازی سازی است. این تکنولوژی برای کمک به ترجمهٔ صفحات مجازی به صفحات واقعی در یک محیط مجازی شده طراحی شده است. از آنجا که این عمل ، عمل بسیار رایجی است ، با بهینه سازی آن ، عملکرد بسیار بهتر می شود. محصولات مجازی سازی AMD در هر دو خانواده پردازنده Opteron و Athlon در دسترس هستند.
ماشین مجازی که از مدل مجازی سازی نرم افزاری با کمک سخت افزار استفاده می کند ، به نام ماشین سخت افزار مجازی یا HVM معروف شده است.
در شبه مجازی سازی ( Paravirtualization )، سیستم عامل مهمان ازوجود سیستم عامل هاست اصلی آگاهی دارد وبا آن ارتباط دارد. یک هستهٔ paravirtualized در سیستم عامل مهمان ، تکنولوژی هاست اصلی را شناسایی کرده و از آن استفاده می کند. از آنجا که سیستم عامل هاست به طور کامل و ۱۰۰ ٪ سیستم عامل میهمان را شبیه سازی نمی کند ، میزان منابع مورد نیاز برای مجازی سازی بسیار کاهش می یابد. علاوه بر این ، درایورهای دستگاههای شیه مجازی شده برای مهمان می توانند با سیستم هاست ارتباط برقرار کنند و میزان سربار اضافی را کاهش دهند . هدف اصلی در شبه مجازی سازی این است که هم پیچیدگی و هم سربار اضافی موجود در مجازی سازی را کاهش دهد. با شبه مجازی سازی سیستم عاملهای هاست و مهمان ، عملکردهای بسیار گران قیمت از سیستم عامل مهمان به سیستم عامل هاست منتقل می شوند.
در اصل سیستم عامل مهمان درخواستهای سیستمی خاصی را فراخوانی می کند و سپس اجازه می دهد این عملکردها در سیستم عامل هاست اجرا شوند. هنگام استفاده از سیستمی مانند Oracle VM ، سیستم عامل هاست به همان شیوهٔ سیستم عامل مهمان عمل می کند. درایورهای دستگاه سخت افزاری با لایه ای معروف به هایپرویزور (hypervisor ) مرتبط می شوند. این هایپرویزور به نام مانیتور ماشین مجازی (VMM) نیز شناخته می شود. دو نوع هایپرویزور وجود دارد: هایپرویزور نوع ۱ که مستقیم بر روی سخت افزار هاست اجرا می شود و هایپرویزور نوع ۲ یا هایپرویزور هاست در نرم افزار اجرا می شود.
این تکنولوژی مجازی سازی ترکیبی هم مزایای یک ماشین مجازی paravirtualized و هم شتاب دهنده های سخت افزاری اضافی موجود در ماشین مجازی سخت افزار (HVM) را در خود دارد . این تکنولوژی هنوز جدید است اما ممکن است در آینده تکنولوژی رایج در مجازی سازی باشد.
هایپرویزور همان چیزی است که مجازی سازی را امکان پذیر می کند. هایپرویزور مؤلفه ای است که ماشینهای مجازی را برای سخت افزار اصلی قابل شناسایی می کند. به طور کلی با دو نوع هایپرویزور سر و کار داریم ، هایپریزورهای نوع ۱و هایپرویزورهای نوع ۲.
هایپرویزور نوع۱ (یا تعبیه شده) لایه ای است که به طور مستقیم روی سخت افزار هاست اجرا می شود و با CPU ، حافظه و سایر دستگاه ها ارتباط دارد. . Oracle VM و VMware ESX Server هر دو از هایپرویزور نوع۱ استفاده می کنند. این هایپرویزور با سیستم عامل هاست و سیستم عامل مهمان به یک شکل برخورد می کند. همانگونه که در شکل زیر نشان داده شده است به سیستم عامل هاست Domain 0 یا dom0 و به سیستم عامل مهمان Domain U یا domU می گویند. همانطور که در شکل دیده می شود ، تمام ماشین های مجازی برای دستیابی به سخت افزار باید از هایپرویزور عبور کنند. dom0 یک سیستم مجازی درست مثل ماشینهای مجازی domU است (اما قابلیت های بیشتری دارد ). در حال حاضر ، هایپرویزورنوع ۱ کارآمدترین نوع هایپرویزور محسوب می شود.
با اینکه اوراکل VM و VMware هر دو از هایپرویزور نوع ۱ ۱ استفاده می کنند ، این هایپرویزورها تفاوت قابل ملاحظه ای با یکدیگر دارند. VMware درایورهای دستگاه را مستقیماً در هایپرویزور کنترل می کند، در حالیکه Xen آنها را در dom0 یا دامنه درایور اداره می کند.
همانطور که در شکل بالا مشاهده می کنید ، دامنه dom0 تفاوت چندانی با سایر دامنه های موجود در محیط مجازی ندارد ، به جز اینکه راه دسترسی به آن قدری متفاوت است و همیشه بصورت پیش فرض فعال می شود. علاوه بر این ، dom0 دسترسی نامحدود به سخت افزار دارد ، در حالی که domU فقط از طریق یک لایهٔ غیرمستقیم و فقط از طریق آنچه dom0 در اختیارش قرار می دهد به سخت افزار دسترسی دارد. از آنجا که hypervهایپرویزور نوع ۱ در اصل بخشی از سیستم عامل است ، باید روی خود سخت افزار نصب شود و از دستگاه های نصب شده برروی سیستم پشتیبانی کند.
هایپرویزور نوع۲ یا مهمان به عنوان یک برنامه اجرا می شود و برای مجازی سازی نرم افزار مورد استفاده قرار می گیرد. از آنجا که هایپرویزور نوع۲ به عنوان یک برنامه اجرا می شود ، نه به اندازهٔ ا هایپرویزور ۱ اهمیت داردرا ۱ و نه می تواند به طور مستقیم به سخت افزار دسترسی داشته باشد. مزیت اصلی آن این است که می توانید آن را بدون آنکه تغییری در آن بدهید ، بر روی انواع سیستم های هاست نصب کنید.
هایپرویزور نوع ۲ با مجازی سازی کامل نرم افزار و مجازی سازی نرم افزار به کمک سخت افزار کار می کند. سرور VMware نمونه ای از هایپر هایپرویزور نوع ۲ است. اخیراً اوراکل محصولی جدید به نام Oracle VM VirtualBox را ارائه کرده است که بر اساس هیپرویزور نوع ۲ ساخته شده است.