منبع پایان نامه درباره ماشین های مجازی، مدیریت انرژی، بازیابی اطلاعات

دانلود پایان نامه ارشد

1 and Red Hat Linux versions 5.2-5.5)
1,2 or 4
Both x86 and x64
Windows Server 2003
1 or 2
Both x86 and x64, Standard, Enterprise, Datacenter, SP2 required
Windows Server 2003 R2
1 or 2
Web, Standard, Enterprise, Datacenter, both x86 and x64 except for Web whose 64-bit version is not supported
Windows Vista
1 or 2
Both x86 and x64, all editions except home editions
Others
1
N/A

شمایی از معماری Hyper-V در شکل 3.1 آورده شده است.

شکل 3.1. معماری سطح بالای Hyper-V ]40[

بررسی اجزاء معماری Hyper-V

در ادامه به توضیح مختصری درباره بخش ها و اصطلاحات این معماری می پردازیم.

APIC97
ماژولی که امکان اولویت بندی وقفه ها را فراهم می سازد.

Child Partition
پارتیشنی که حاوی یک سیستم عامل میهمان است. تمام دسترسی های لازم به منابع فیزیکی سیستم مانند حافظه و وسایل جانبی توسط VMBus و hypervisor برای این پارتیشن فراهم می گردد.

Hypercall
رابطی برای ارتباط با hypervisor است که از طریق آن سیستم های عامل میهمان می توانند به ابزار بهینه hypervisot دست یابند.

Hypervisor
یک لایه نرم افزاری که مابین سخت افزار و یک یا چند سیستم عامل قرار می گیرد و وظیفه اصلی آن فراهم آوردن فضای مجزایی به نام پارتیشن برای اجرای هر یک از سیستم های عامل است. Hypervisor دسترسی به سخت افزار را کنترل و مدیریت می کند.

IC98
ماژولی است که امکان ارتباط سیستم های عامل میهمان را با یکدیگر و با hypervisor فراهم می آورد.

I/O stack
همان پشته ورودی و خروجی است.

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

VID99
عملیاتی مانند سرویس های مدیریت پارتیشن ها، سرویس مدیریت پردازنده های مجازی، و سرویس مدیریت حافظه برای پارتیشن ها را ارائه می دهد.

VMBus
یک مکانیزم ارتباطی مبتنی بر کانال برای ارتباط پارتیشن ها و دستگاه ها فراهم می آورد.

VMMS100
مدیریت وضعیت همه ماشین های مجازی در پارتیشن های فرزند را بر عهده دارد.

VMWP101
یک بخش user mode در پشته مجازی سازی است. با این تعریف که پروسه ایجاد کننده102 یک سرویس مدیریت ماشین ها مجازی در پارتیشن ریشه (windows server 2008) ایجاد می کند که به کمک آن می توان سیستم های عامل میهمان را مدیریت نمود، سرویس VMWP یک پروسه ایجاد کننده مجزا برای هر یک از پارتیشن های فرزند ایجاد می کند.

VSC103
یک ماژول ترکیبی که که در پارتیشن فرزند قرار می گیرد و نحوه استفاده از منابع سخت افزاری را که توسط سرویس دهنده مجازی (VSP) ارائه شده بهینه می نماید. VSC با VSP متناظر خود در پارتیشن ریشه از طریق VMBus ارتباط برقرار می کند تا به درخواست های I/O پارتیشن فرزند سرویس دهد.

VSP104
سرویسی که در پارتیشن ریشه قرار می گیرد و از درخواست های پارتیشن های فرزند که از طریق VMBus مطرح می شود پاسخ می دهد.

WinHv105
این ماژول پلی بین راه اندازهای سیستمهای عامل موجود در پارتیشن ها و hypervisor است که به راه اندازها امکان می هد تا از طریق رابط فراخوانی استاندارد ویندوز، hypervisor را صدا بزنند.

WMI106
ابزار مدیریت ویندوز مجموعه ای از API ها هستند که سرویس مدیریت ماشین های مجازی برای مدیریت و کنترل ماشین ها ارائه می دهد.

نقاط ضعف
در مجموع می توان گفت که Hyper-V زیر ساخت نسبتا سبکی برای پیاده سازی ساختار مجازی سازی است. در عین حال به دلیل نیاز به وجود بخشی از معمای در سیستم های عامل میهمان، اجرای آنها کاملا مستقل از hypervisor نخواهد بود. در عمل نیز می بینیم که Hyper-V از تعداد محدودی از سیستم های عامل به عنوان میهمان پشتیبانی می کند تعدادی از آنها در جدول 3.1 آمده است.
همچنین نیاز به وجود یک سیستم عامل میزبان107 هنوز هم وجود دارد. به این معنی که یک Windows server 2008 باید در پارتیشن ریشه نصب گردد تا بتواند درخواست های سیستم های عامل میهمان از سخت افزارهای مجازی را به سخت افزارهای فیزیکی منتقل نماید ]43[.
برای مطالعه بیشتر در مورد Microsoft Hyper-V به ]44[ الی ]48[ مراجعه کنید.

Xen

در این بخش به تشریح کلیات معماری نرم افزار مجازی سازی Xen خواهیم پرداخت ]49[ و ]50[. این hypervisor معروفترین نرم افزار مجازی سازی با متن باز است که شرکت ها و سازمان های متعددی با بومی سازی از آن برای پیاده سازی زیر ساخت مجازی خود استفاده کرده اند. Xen به صورت یک مجازی ساز ضمنی پیاده سازی شده است بنابراین برای سیستم های عامل میهمان برای کار با آن نیاز به یک سری تغییراتی دارند.
لیست سیستم های عاملی که توسط Xen 3.0 پشتیبانی می شوند در جدول 3.2 آورده شده است.

جدول 3.2. سیستم های عامل قابل پشتیبانی توسط Xen نسخه 3
Operating System
Runs as Dom0 (host os)
Runs as DomU (guest os)
Linux 2.6
Yes
Yes
NetBSD 3.1
No
Yes
NetBSD 4.0_BETA2 and -CURRENT
Yes
Yes
FreeBSD 5.3
No
currently broken? Actively being worked on
FreeBSD 7-CURRENT
no
can be patched; works.
Plan 9
No
currently broken?
ReactOS
No
planned, development stalled
Solaris 10
Unknown
Yes
Un-Modified OS
No
Initial support for unmodified guests when using Intel VTX hardware, e.g. Windows

این hypervisor از بخش های مختلفی تشکیل شده که در ادامه به تشریح آنها می پردازیم. همچنین شمایی کلی از آن در شکل 3.2 آمده است.

شکل 3.2. شمایی از معماری Xen ]51[

بررسی اجزاء معماری Xen
در این بخش اجزاء تشکیل دهنده معماری Xen که به طور شماتیک در شکل 3.2 آمده است را بیشتر بررسی می کنیم.

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

Domain 0
در مقابل پارتیشن های موجود در Hyper-V که هریک مسئول نگهداری یک سیستم عامل بودند، در اینجا چندین دامنه وجود دارد. دامنه صفر که در واقع یک هسته تغییر یافته لینوکس است، تنها ماشین مجازی در حال اجرا بر روی Xen است که دسترسی مخصوصی برای کار با ورودی/ خروجی های استاندارد و نیز ارتباط با دیگر ماشین های مجازی دارد. بر روی هر مجازی ساز Xen قبل از اجرای هر سیستم عامل دیگری لازم است دامنه صفر اجرا گردد.
در دامنه صفر دو راه انداز برای پشتیبانی درخواست های سیستم های عامل میهمان وجود دارد. یکی راه انداز شبکه، برای ارتباط مستقیم با سخت افزار شبکه و دیگری راه انداز دیسک، برای برای کار با دیسک محلی و ذخیره و بازیابی اطلاعات بر حسب نیاز سیستم های عامل ]51[.

Domain U
به هر ماشین مجازی در Xen یک دامنه U108 گفته می شود. همچنین تمام ماشین های مجازی که به صورت ضمنی مجازی سازی شده اند، به عنوان Domain U PV Guests و ماشین هایی که به صورت کامل مجازی سازی شده اند به عنوان Domain U HVM Guests شناخته می شوند.
لازم به ذکر است که راه اندازی ماشین های HVM بر روی Xen در صورتی امکان پذیر است که پردازنده از تکنولوژی مجازی سازی سخت افزاری109 پشتیبانی نماید. این امکان در پردازنده هایی مانند اینتل سری VT-x و پردازنده های AMD سری AMD-V وجود دارد ]52[.
هر یک از ماشین های PV شامل دو راه انداز برای شبکه و دیسک هستند در حالی که ماشین های HVM این راه انداز های را ندارند و در عوض برای هر یک از آنها یک دیمون110 در دامنه صفر به نام Qemu-dm مسئول برقراری ارتباط سیستم عامل میهمان (دامنه U) با کارت شبکه و دیسک فیزیکی است. در حالت دوم، لازم است نرم افزاری به نام Xen virtual firmware بر روی سیستم عامل میهمان اجرا شود تا بتواند BIOS را برای راه اندازی سیستم عامل شبیه سازی نماید (شکل 3.3).

شکل 3.3. نحوه سرویس دهی به ماشین میزبان توسط Qemu-DM ]51[

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

ارتباطات مابین دامنه صفر و دامنه های U
همانطور که قبلا گفته شد، Xen Hypervisor قادر به ارائه سرویس شبکه و دیسک به سیستم های عامل میهمان نمی باشد بنابراین این سیستم های عامل باید از طریق hypervisor با سیستم عامل موجود در دامنه صفر ارتباط برقرار کنند تا سرویس مورد نظر خود را از وی بگیرد.
برای مطالعه بیشتر در مورد Xen به ]53[ الی ]58[ مراجعه کنید.

VMware ESXi

این نرم افزار مجازی سازی که یکی از معروفترین hypervisor های موجود بوده و بیشترین سهم بازار مجازی سازی را نیز در اختیار دارد، امکان پیاده سازی مجازی سازی کامل را به کاربر داده و بنابراین سیستم های عامل میهمان کاملا مستقل از hypervisor و بی اطلاع از آن کار می کنند.
همچنین این hypervisor بر خلاف دو نمونه قبلی نیازی به اجرای سیستم عامل میزبان ندارد و مستقیما بر روی سخت افزار نصب می گردد.
در ادامه به تشریح کلیات معماری آن خواهیم پرداخت ]3[ و ]59[.
این نرم افزار نیز مانند نمونه های قبلی از یک ساختار لایه ای پیروی می کند. در پائین ترین بخش، یک هسته تغییر یافته لینوکس به نام VMkernel قرار دارد که به طور مستقیم بر روی سخت افزار قرار گرفته است. وظیفه این هسته مدیریت همه پروسه ها از جمله برنامه های مدیریتی، agentها و نیز ماشین های مجازی است. همچنین این بخش مدیریت سخت افزارها و منابع ماشین فیزیکی را بر عهده دارد. در واقع این هسته تمام وظایف یک سیستم عامل از جمله ایجاد پروسه ها، کنترل و سیگنال، مدیریت فایل سیستم و threadها را برای ماشین انجام می دهد. همچنین به طور اخص، VMkernel برای پشتیبانی از اجرای چندین ماشین مجازی طراحی شده است. از اصلی ترین پروسه هایی که بر روی VMkernel اجرا می شوند میتوان به موارد زیر اشاره کرد:
رابط مستقیم کاربر (DCUI)111 که یک رابط سطح پایین برای مدیریت و پیکر بندی hypervisor است و یک ارتباط کنسولی برای پیکر بندی اولیه در اختیار می گزارد.
VMM112 پروسه ای است که محیطی اجرایی برای ماشین مجازی ایجاد می کند. هر ماشین مجازی، VMM و پروسه کمکی VMX مخصوص به خود را دارد.
Agent هایی که وظیفه ارائه سرویس های سطح بالا مانند HA را بر عهده دارند.
CIM113 رابطی است که به کمک API های استاندارد، امکان مدیریت و نگهداری سخت افزار را به صورت راه دور فراهم می کند.
شکل 3.4 نمایی کلی از معماری گفته شده را نشان می دهد.

شکل 3.4. شمایی از معماری VMware ESXi ]3[

بررسی اجزاء معماری VMware ESX
در این بخش به بررسی دقیقتر اجزاء سازنده VMware ESX خواهیم پرداخت.

VMkernel
این هسته در واقع یک سیستم عامل از خانواده POSIX است که توسط شرکت VMware طراحی شده و همه وظایف یک سیستم عامل مانند ایجاد و مدیریت پروسه ها، سیگنال ها و فایل سیستم و مدیریت I/O را انجام می دهد. همچنین این هسته به طور اختصاصی برای مدیریت چندین ماشین مجازی طراحی شده است و وظایف زیر را برای آنها

پایان نامه
Previous Entries منبع پایان نامه درباره شبیه سازی، مدل سازی، محیط مجازی Next Entries منبع پایان نامه درباره ماشین های مجازی، پردازش ابری، دیتا سنترها