Native VM Hosted VM

Download Report

Transcript Native VM Hosted VM

‫سیستم عامل‬
:‫فصل پنجم‬
Virtual Machines
‫مبانی ماشینهای مجازی‬
‫‪ ‬نرمافزار کامپیوتر توسط یک ماشین( پلتفرم) اجرا میشود‪.‬‬
‫‪ ‬از دید یک پردازش که در حال اجرای برنامه کاربر است‪ ،‬ماشین همان فضای حافظه‬
‫منطقی اختصاص داده شده به او به همراه رجیسترها و دستورالعملهایی است که به‬
‫پردازش یا ‪Process‬اجازه اجرای کد را میدهد‪.‬‬
‫‪ ‬از دید سیستمعامل‪ ،‬یک ماشین عمل از قطعات سخت افزاری همچون یک و یا بیشتر‬
‫‪CPU‬و همچنین تعدادی ‪RAM‬و قسمتهای ورودی‪/‬خروجی تشکیل شده است‪.‬‬
‫‪ ‬هرگاه یک نرمافزار عادی از واژه ماشین استفاده کند‪ ،‬منظورش سیستمعامل مورد‬
‫استفاده به همراه گوشهای از جزئیات سختافزاری است که توسط الیه سیستمعامل‬
‫جداسازی نشده است و نرمافزار باید مستقیما با آنها درگیر باشد‪.‬‬
‫‪ ‬بنابراین ماشین از دید سیستم عامل‪ ،‬تمامی سختافزارهای موجود در الیههای زیرین‬
‫هستند که سیستمعامل میتواند از طریق الیه ‪ ISA‬به آنها دسترس ی داشته باشد‪.‬‬
‫مجازی سازی یا شبیه سازی؟‬
‫‪‬‬
‫شبیه سازی با ارائه قسمتی از سرویس های یک نرم افزار‬
‫سعی بر ارائه محیطی تا حدی شبیه به پلتفرم اصلی برای‬
‫ارائه سناریو های آزمایش‪ ،‬خطا و یا آموزش را دارد ولی‬
‫مجازی سازی به صورت کامل یک نمونه از یک نرم‬
‫افزار را در یک پلتفرم کامال عملیاتی ارائه می کند‪.‬‬
‫‪‬‬
‫این تکنیک با ایجاد چندین ماشین مجازی بر روی یک سخت افزار امکان‬
‫استفاده بهینه از سخت افزار و سهولت در نگهداری را فراهم نموده و راندمان‬
‫و مهیا بودن منابع و کاربردها را به طرز چشم گیری باال می برد‪.‬‬
‫‪ Virtual Machine‬چیست؟‬
‫‪‬‬
‫نرم افزاریست که یک ماشین حقیقی (فیزیکی) را به‬
‫صورت مجازی پیاده سازی می کند‪.‬‬
‫ماشین های مجازی ها ‪ ،‬بر اساس استفاده و درجه ارتباط به ماشین واقعی به دو‬
‫دسته تقسیم می شوند‪:‬‬
‫‪ System Virtual Machine ‬یا ‪SVM‬‬
‫‪‬‬
‫‪ Process Virtual Machine‬یا ‪PVM‬‬
‫‪‬‬
‫یک مجازیساز سیستمی ‪ ،‬کل یک سیستم را مجازی میکند‪ .‬نرمافزار‬
‫مجازیساز بین سخت افزار و نرمافزار مجازی شده قرار می گیرد‪ .‬نرمافزار‬
‫مجازی شده عمال ‪ ISA‬شبیهسازی شده توسط نرمافزار مجازیساز را میبیند‬
‫نه سختافزار واقعی سیستم را‪.‬‬
‫‪‬‬
‫‪‬‬
‫به منظور اجرای یک برنامه واحد طراحی شده است و تنها از یک پروسه‬
‫پشتیبانی می کند‪.‬‬
‫مثال ‪:‬یک برنامه که به زبان جاوا نوشته شدهاست‪ ،‬با ارسال فرامین و دریافت‬
‫نتایج مورد نظرش‪ ،‬خدماتی از نرمافزار ماشین مجازی جاوا )‪ (JVM‬میگیرد‪.‬‬
‫با ارائه این خدمات به برنامه‪ ،‬نرمافزار جاوا‪ ،‬به عنوان یک ماشین مجازی‬
‫عمل میکند‪.‬‬
‫‪ ‬در ماشینهای مجازی سیستمی‪ ،‬اغلب به نرمافزار مجازی کننده‬
‫‪Virtual Machine Monitor‬یا‬
‫‪VMM‬میگویند‪ .‬که بخش‬
‫كلیدي در ساختن الیه جداسازي است‪ .‬گاهي هم ‪Hypervisor‬‬
‫خوانده ميشود‪ . .‬این قسمت از نرمافزار مسئول بهاشتراك گذاشتن‬
‫منابع فیزیكي كامپیوتر بین ‪VM‬هایي است كه روي آن اجرا ميشوند‪.‬‬
‫این برنامه باید طوري به سیستمعامل میهمان وانمود كند كه انگار‬
‫كنترل سخت افزار واقعي سیستم را در دست دارد‪ .‬براي انجام این‬
‫كار‪VMM ،‬در سطح پردازنده‪ ،‬یعني حلقه صفر‪ ،‬كار ميكند‪.‬‬
:‫ دو نوع است‬Hypervisor

Native VM

Hosted VM

‫‪ ‬ماشین مجازی که در تعامل مستقیم با سخت افزار است‪ .‬به این صورت که اول یک‬
‫‪ Native VM‬نصب می شود سپس سیستم عامل ازطریق ‪ Native VM‬نصب‬
‫میگردد و منابع سیستم عامل از طریق ‪ Native VM‬اختصاص داده می شود‪.‬‬
‫از نرم افزارهای ‪ Native VM‬میتوان به موارد زیر اشاره کرد‪:‬‬
‫‪Microsoft Hyper-V Server ‬‬
‫‪VMware ESX and ESXi ‬‬
VMware ESXi
‫‪‬‬
‫‪ VMware ESXi‬هسته ی تکنولوژی است که امکان ساخت ماشین مجازی و‬
‫اختصاص منابع به ماشین را می دهد‪.‬‬
‫ویژگی ها‪:‬‬
‫‪ ‬میزان فضا ‪32MB‬‬
‫‪ ‬مستقل از سیستم عامل‬
‫‪ ‬افزایش امنیت‪ ،‬کنترل دستیابی کاربر‪ ،‬پشتیبان گیری‬
‫‪ ‬مدیریت حافظه و شبکه‬
‫‪ ‬اجرای نرم افزارهای متمرکز با کمترین سرریز‬
‫‪ ‬پشتیبانی از سیستم عامل های ‪Windows ,Linux, Solaris ,Netware‬‬
‫‪‬‬
‫ماشین مجازی که در تعامل مستقیم با سیستم عامل است به این صورت که اول‬
‫یک سیستم عامل نصب می شود سپس یک ‪ Hosted VM‬نصب میگردد و‬
‫سیستم عامل ها درون ‪ Hosted VM‬قرار می گیرند‪.‬‬
‫از نرم افزارهای ‪ Hosted VM‬میتوان به موارد زیراشاره کرد‪:‬‬
‫‪‬‬
‫‪Microsoft Virtual PC‬‬
‫‪‬‬
‫‪Microsoft Hyper-V‬‬
‫‪‬‬
‫‪VMware Workstation‬‬
‫‪‬‬
‫‪Sun Microsystems Virtual Box‬‬
‫مزیت های ماشین های مجازی‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫صرفه جویی در تهیه سخت افزار‬
‫افزایش بهره وری‬
‫نگهداری بهتر سیستمها‬
‫کاهش زمان بازیابی سیستمها‬
‫استقالل سیستم عامل از سخت افزار و قابلیت حمل‬
‫کاهش هزینه ها‬
‫انواع روش های مجازی سازی‬
‫حداقل ‪ 6‬روش مجازی سازی وجود دارد‪:‬‬
‫‪‬‬
‫مجازی سازی سرور‬
‫‪‬‬
‫مجازی سازی دسکتاپ‬
‫‪‬‬
‫مجازی سازی نرم افزار‬
‫‪‬‬
‫مجازی سازی ‪storage‬‬
‫‪‬‬
‫مجازی سازی ‪I/O‬‬
‫‪‬‬
‫مجازی سازی شبکه‬
‫‪‬‬
‫‪‬‬
‫‪Hypervisor‬مسئول بهاشتراك گذاشتن منابع فیزیكي كامپیوتر بین‪ VM‬هایي‬
‫است كه روي آن اجرا ميشوند‪ .‬نوشتن برنامه ‪ VMM‬كار ساده اي نیست‪.‬‬
‫چون این برنامه باید طوري بهسیستمعامل میهمان وانمود كند كه انگار كنترل‬
‫سخت افزار واقعي سیستم را در دست دارد‪ .‬براي انجام این كار‪VMM ،‬در‬
‫سطح پردازنده‪ ،‬یعني حلقه صفر‪ ،‬كار ميكند‪.‬‬
‫بخش مهم دیگر در ساختن‪ ، VM‬جداسازي الیه سختافزار است‪.‬‬
‫نرمافزار ‪ VM‬باید براي ‪ OS‬میهمان‪ ،‬دستگاهها و سختافزارهاي مختلف‪،‬‬
‫نظیر چیپ ست‪ ، IDE‬كارت شبكه و كارت اسكازي را بهطور مجازي‬
‫شبیهسازي كند‪ .‬هر یك از نرمافزارهاي‪ ، VM‬سختافزارهاي خاصي را‬
‫شبیهسازي ميكنند‪ .‬بعد‪ ،‬دستورات و دادههایي كه سیستمعامل میهمان بهاین‬
‫دستگاه مجازي ارسال ميكند‪ ،‬از طریق نرمافزار ‪ VM‬براي سختافزار‬
‫فیزیكي موجود ترجمه و فرستاده ميشود‬
‫آسیب پذیری ماشینهای مجازی‬
‫به‬
‫طور کلی آسیبپذیری ماشینهای مجازی به سه گروه تقسیم می شود‪:‬‬
‫‪‬‬
‫آسیبپذیری های ذاتی‬
‫‪‬‬
‫آسیبپذیری های محیط مجازی سازی‬
‫‪‬‬
‫آسیبپذیرهای پیادهسازی‬
‫مقابله با آسیبپذیری ماشینهای‬
‫مجازی‬
‫ادغام سرور ها‬
‫چگونه مجازی سازی به جریان زیرساخت های‬
‫فناوری اطالعات کمک می کند‪.‬‬
‫مجازی سازی چقدر قابل اطمینان است؟‬
‫چگونه اطالعات خود را با مجازی سازی برگردانیم؟‬
‫هر ماشین مجازی در زیر ساخت های مجازی شرکت ‪ VMware‬از فایل های زیر‬
‫تشکیل شده است‪.‬‬
‫پسوند فایل‬
‫استفاده‬
‫توضیحات‬
‫‪.vmx‬‬
‫‪vmname.vmx‬‬
‫فایل پیکربندی‬
‫‪.vmxf‬‬
‫‪vmname.vmxf‬‬
‫فایل پیکربندی اضافی‬
‫‪.vmdk‬‬
‫‪vmname.vmdk‬‬
‫فایل دیسک مجازی‬
‫‪-falt.vmdk‬‬
‫‪vmname-flat.vmdk‬‬
‫فایل دیسک مجازی‬
‫‪.nvram‬‬
‫‪vmname.nvram‬‬
‫فایل پیکربندی ‪ BIOS‬یا ‪EFI‬‬
‫‪.vmsd‬‬
‫‪vmname.vmsd‬‬
‫فایل اطالعات‪ Snapshot‬ها‬
‫‪.vmsn‬‬
‫‪vmname.vmsn‬‬
‫فایل داده ‪Snapshot‬‬
‫‪.vswp‬‬
‫‪vmname.vswp‬‬
‫فایل ‪Swap‬‬
‫‪.vmss‬‬
‫‪vmname.vmss‬‬
‫فایل ‪Suspend‬‬
‫‪.log‬‬
‫‪vmname.log‬‬
‫فایل الگ فعلی‬
‫‪log.#-‬‬
‫‪vmname-#.log‬‬
‫فایل های الگ قدیمی‬
‫ قابلیت اجرای سیستم عامل های ‪bit-۶۴‬‬‫ قابلیت کنترل کلیه های پروسه های در حال اجرا‬‫ پشتیبانی از خروجی صدا ‪HD‬‬‫ قابلیت باز کردن وتبدیل فایل های برنامه های مشابه و‬‫اجرا نمودن آن ها‬
‫ اضافه شدن ماشین مجازی جدید برای جستجو آسان تر‬‫ قابلیت نمایش سیستم عامل قبل از اجرای آن‬‫‪ -‬پشتیبانی از انواع سیستم عامل‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫امکان استفاده از چندین سیستم عامل را به صورت مجازی‬
‫به کاربر می دهد‪.‬‬
‫از بسیاری جهات از ‪VMware Workstation‬بهتر‬
‫عمل میکند‪.‬‬
‫کارایی باال‬
‫بصورت رایگان و ‪ open source‬در دسترس است با‬
‫عنوان ‪General Public License (GPL).‬‬
: ‫سازگار با سیستم عامل هاي‬
1. Win XP SP3
2. Win XP SP2 64bit
3. Win Vista SP2 64bit
4. Win Vista SP2
5. Win 7 SP1 64bit
6. Win 7 SP1
