مجازی سازی با Hyper-V
مجازیسازی با Hyper-V
در این مقاله به توضیحاتی در خصوص مجازیسازی Hyper-V که یک Hypervisor است، میپردازیم.
Microsoft Hyper-V چیست؟
Hyper-V پلتفرم مجازیسازی شرکت Microsoft یا به عبارتی یک Hypervisor است که به مدیران IT این امکان را میدهد تا با مجازیسازی چندین سیستم عامل برای اجرای همزمان در یک سرور فیزیکی، از سختافزار به طور بهینه استفاده نمایند.
در واقع Hyper-V فرآیند ایجاد چندین VM با استفاده از Hypervisor ای است که در ویندوز وجود دارد. VM نسخه نرمافزاری از رایانه است که سیستم عامل و برنامههای آن را اجرا میکند. Hyper-V به ماشینهای مجازی کمک میکند تا به شبکههای مختلف متصل شوند. همچنین به عنوان یک پلتفرم مجازیسازی میتواند سازمان شما را در راستای حجم کار، امنیت و موارد دیگر بهبود بخشد و کاربران قادر هستند سیستم عامل مک یا لینوکس را بر روی سیستم فیزیکی خود اجرا کنند.
ویژگی Hyper-V
- پشتیبانی از Clustering
- قابلیت Replication
- قابلیت انتقال ماشینهای مجازی در حال اجرا
- پشتیبانی کامل از آداپتورهای شبکه SR-IOV از جمله live migration
- پشتیبانی کامل از Guest Cluster
- ادغام با ابزارهای مدیریتی ویندوز سرور
نحوه کار Hyper-V
همانطور که گفته شد، Hypervisor را میتوان به عنوان نرمافزاری تعریف کرد که یک لایه انتزاعی میان سیستم عامل مجازی و Host فیزیکی ایجاد می کند. این امر به ایجاد و اجرای چندین VM در یک ماشین فیزیکی کمک می کند. به طور مشابه، Hyper-V فناوری مجازیسازی است که از Hypervisor ویندوز برای انجام عملکرد اصلی خود استفاده میکند.
هدف یک Hypervisor، مدیریت ارتباطات میان سرور فیزیکی Hyper-V و ماشینهای مجازی میباشد. Hyper-V با کنترل دسترسی به منابع سختافزاری Host، یک محیط ایزوله برای ماشینهای مجازی فراهم میکند که این امر به حذف خرابیهای سیستمی کمک کرده و ماشینهای مجازی را انعطافپذیرتر، کارآمدتر و راحتتر میکند.
از طرف دیگر، در برخی از پیکربندیها، VM ها یا سیستم عامل میتوانند به طور مستقیم به کارت گرافیک، کارت شبکه و سختافزار دخیرهسازی Host فیزیکی دسترسی داشته باشند. با راهاندازی Hyper-V، داشتن درک درست از اجزای آن امری ضروری است که این اجزا به عنوان پلتفرمهای مجازیسازی شناخته میشوند و زمانی که Hyper-V را در ماشین فیزیکی نصب میکنید، این اجزا به یک ابزار یکپارچه تبدیل میشوند. قابل ذکر است این اجزا برای ایجاد و اجرای VM ها باهم کار میکنند.
پلتفرم مجازیسازی شامل:
- سرویس مدیریت ماشین مجازی Hyper-V
- Hypervisor ویندوز
- گذرگاه ماشین مجازی یا VMbus
- WMI provider
- درایور زیرساخت مجازی (VID)
- Service provider مجازیسازی
معماری و زیرساخت Hyper-V
Hyper-V یک Hypervisor است که به شما این امکان را میدهد تا چندین سیستم عامل Guest را بر روی یک پلتفرم سختافزاری اجرا نمایید. Hyper-V یک Hypervisor از نوع 1 میباشد که بر روی سرورهای Bare Metal یا سیستم عامل ویندوز 10 نصب شده است اما قبل از اینکه سیستم عامل این کار را انجام دهد boot شده و آن را به عنوان سیستم عامل Guest اجرا میکند. در هر دو مورد، Hyper-V به طور مستقیم با CPU بدون عبور از سیستم عامل Host ارتباط دارد.
همچنین Hyper-V پارتیشنهای ایزولهای ایجاد میکند تا سیستم عاملها در آن کار کنند.
در کل دو نوع پارتیشن وجود دارد:
- Root Partition: پارتیشنی که ویندوز و Hypervisor را اجرا میکند.
- Child Partition: این پارتیشن قادر است سیستم عاملهای Guest اضافی را که به طور مستقیم به سختافزار دسترسی ندارند را اجرا کند. Hyper-V فراخوانی API را فراهم میکند که برای ایجاد پاتیشنهای Child استفاده میشود.
نحوه دسترسی پارتیشنهای Hyper-V
در ادامه نحوه دسترسی پارتیشنهای Hyper-V به منابع موجود در Host ذکر شده است:
-
دسترسی به CPU
هر پارتیشن به CPU دسترسی جزئی دارد. Hyper-V وقفههایی را که در CPU به وجود میآید را کنترل کرده و آنها را به پارتیشن مربوطه تغییر مسیر میدهد. Hyper-V از مفهوم CPU های مجازی یا vCPUs استفاده میکند که نشاندهنده تعداد رشتههایی است که هر ماشین مجازی میتواند در یک زمان معین اجرا کند.
-
دسترسی به RAM
هر پارتیشن در فضای حافظه مجازی خصوصی اجرا میشود. Hyper-V یک IOMMU فراهم میکند که این امر حافظه فیزیکی را به آدرسهای استفاده شده توسط پارتیشنها نگاشت میکند. از زمان ویندوز سرور 2012، Hyper-V از حافظه پویا پشتیبانی میکند تا این امکان را فراهم کند که RAM بیشتری را در حین راهاندازی به ماشینهای مجازی اختصاص دهد و سپس آن را برای استفاده توسط ماشینهای مجازی دیگر بازیابی کند.
-
دستگاهها
پارتیشنهای Child دسترسی مستقیم به سختافزار ندارند و همه ماشینهای موجود در دستگاه را به عنوان دستگاه مجازی یا vDev میشناسند. یک VMbus درخواستهای دستگاهها را به پارتیشنهای Child هدایت میکند.
همچنین قابل ذکر است، تمامی فرآیندهای مسیریابی که منابع سختافزاری را میان پارتیشنها توزیع میکنند، به طور کامل برای سیستم عاملهای Guest واضح میباشند.
مزایای Hyper-V
- با استفاده از Hyper-V عملکرد کلی یک شرکت افزایش مییابد. در بسیاری از شرکتها، مدیریت مرکز داده وابسته به مدیر IT است، بنابراین یک نفر بایستی کل دادهها را با تعداد زیادی سرور مدیریت کند. از طریق فناوریهایی مانند Hyper-V، میتوان در استفاده از این زمان صرفهجویی کرد.
- Hyper-V گزینه ارزانتری نسبت به دیگر Hypervisor ها میباشد. با مجازیسازی، هزینه دستگاههای سختافزاری به طور کامل حذف میشود، بنابراین نیازی نیست برای سرورهای فیزیکی هزینه زیادی کنید. به عبارتی میتوان گفت، Hyper-V مقرون به صرفه است.
- برای هر ماشین مجازی که در یک سرور فیزیکی ایجاد میشود، درایورهای ماشین مجازی در پارتیشنهای یک دیسک جداگانه ذخیره میشوند. داشتن پارتیشنهای مختلف، یک لایه امنیتی اضافی را فراهم میکند که برای هک کردن سرور، بایستی هر یک از ماشینهای مجازی جداگانه کرک شوند.
- فناوری Hyper-V شامل ویژگی به نام Failover Clustering است که قصد دارد از ماشینهای مجازی محافظت کند. Failover Clustering چیزی نیست جز گروهی از سرورها که به یکدیگر متصل شدهاند تا از دسترسی بالا با حداقل downtime اطمینان حاصل کنند. هر یک از این سرورها از طریق یک کابل فیزیکی به یکدیگر متصل شدهاند. بنابراین در صورت خرابی یک سرور، بقیه سرورها میتوانند به سرویس ادامه دهند.
- Hyper-V به شما این امکان را میدهد تا ماشینهای مجازی را در صورت نیاز به تجهیزات سختافزاری جدید اضافه کنید، همچنین میتوان پهنای باند شبکه را به طور مساوی میان ماشینهای مجازی که به هم متصل هستند، به اشتراک گذاشت. این یکی از دلایلی است که بسیاری از افراد ترجیح میدهند از Hyper-V استفاده کنند.