ویژگی های Microsoft Hyper-v
دوشنبه, ۴ آبان ۱۳۹۴، ۱۱:۱۳ ب.ظ
مایکروسافت همزمان با انتشار سیستمعامل سرور ویندوز 2012، پلتفرم مجازیسازی Hyper-V خود را نیز بهروزرسانی کرد. این نرمافزار که نسل سوم آن عرضه شده است، رایگان بوده و به دو صورت نصب میشود یا همراه با ویندوز سرور ۲۰۱۲ یا در قالب یک بسته قابل نصب جداگانه. Hyper-V شامل ویژگیها و امکاناتی است که شما باید پیش از این برای بهدست آوردن و استفاده از آنها هزینه پرداخت میکردید. مایکروسافت Hyper-V را به عنوان یک امتیاز ویژه به کاربران سیستمعامل سرور خود هدیه میدهد تا آنها را به استفاده از این سیستمعامل ترغیب کند. حتی Hyper-v امکاناتی را به همراه دارد که توسط دیگر ابزارهای Hyper visor به هیچ عنوان قابل دسترسی نیستند (مانند مهاجرت از یک سرور به سرور دیگر بدون نیاز به اشتراکگذاری و تبادل اطلاعات میان این دو سرور). Hyper-V از ویژگیهای دسترسی بالا و تداومی (Resiliency) میزبانها نظیر همانندسازی (Replication) یک سرور به صورت آفسایت به خوبی پشتیبانی میکند. همچنین میتواند برخی از کارها و عملیاتها را بسیار بهتر و کاملتر از سکوهای مجازیسازی VMware و Citrix فارغ از سیستمعامل (ویندوز دسکتاپ، لینوکس، ویندوز سرور و...) انجام دهد. به این مزایا، رایگان بودن این ابزار را نیز اضافه کنید. Hyper-V بخشی از مجوز ویندوز سرور 2012 است و میتواند روی یک سختافزار مشخص، انواع ماشینهای مجازی مبتنی بر سیستمعاملهای دیگر را میزبانی کرده و با استفاده از یک محیط یکپارچه در ویندوز سرور 2012، یک مدیریت سراسری و مرتب را برای سختافزار و ماشینهای مجازی تعریف شده فراهم کند.
بسیاری از ویژگیهای تازه Hyper-V هماکنون در دیگر سکوهای مجازیسازی نیز یافت میشوند اما به اعتقاد من Hyper-V اهمیت بیشتری دارد؛ زیرا مایکروسافت توسعهدهنده آن است و این سکو را بهصورت ساده و ارزان در سیستمعامل سرور خود گنجانده و بهصورت یک بسته یکپارچه ارائه میکند. این ویژگی بهصورت بالقوه برای سازمانها صرفهجویی در هزینهها را به همراه خواهد داشت و مدیران سیستم را از جهت سازگاری با سیستمهای ویندوزی مطمئن میکند.
بیشترین، بزرگترین و ارزانترین VM
در حال حاضر Hyper-V بهطور قابل توجهی میتواند تعداد بیشتری میزبان مجازی را نسبت به محصولات مشابه پشتیبانی کند. با استفاده از آن میتوانید روی یک سرور فیزیکی، سنگینترین کارها را با حجم بار کاری بسیار زیاد، مجازیسازی کنید. Hyper-V هم روی ویندوز سرور 2012 و هم بهصورت مستقل میتواند حداکثر از 320 هسته پردازنده و چهار ترابایت حافظه رم پشتیبانی کند و هر میزبان مجازی نیز میتواند طوری پیکربندی شود که روی 64 پردازنده مجازی و یک ترابایت حافظه رم اجرا شود. میزان فضای دیسک مجازی برای هر میزبان مجازی نیز میتواند 64 ترابایت باشد (این ظرفیت با فرمت جدید VHXD درایوهای مجازی در ویندوز سرور 2012 بهدست آمده است). با این مشخصات، بهطور مثال روی یک Hyper-V میتوان حداکثر 1024 ماشین مجازی را تعریف و اجرا کرد.
یکی از علتهایی که هم ویندوز سرور 2012 و هم Hyper-V از ظرفیت و تعداد پردازنده زیادی پشتیبانی میکنند و قابلیت مدیریت تعداد بیشتری ماشین مجازی را دارند، به پشتیبانی از قابلیت Non-Uniform Memory Architecture برمیگردد. سیستمهای غیریکنواخت (مبتنیبر NUMA) ، حافظه رم را به صورت بلوکهایی محلی (با دسترسی سریع) به پردازندههای خاص برای افزایش کارایی اختصاصی میدهند. این قابلیت باعث میشود که مقدار حافظهای که باید به ماشین مجازی تعلق بگیرد، محدود شود و این موضوع، یک نقطه ضعف است. در Hyper-V از ویژگی جدید NUMA برای جبران این محدودیت استفاده میشود که به ماشینهای مجازی اجازه میدهد، براساس حافظه تخصیصیافته به گرههای مختلف، بتوانند از میزان حافظه بیشتری نسبت به حافظه از پیش تعریف شده برای یک ماشین مجازی استفاده کنند. این قابلیت باعث افزایش کارایی ماشینهای مجازی میشود که توسط Hypervisor (مدیر ماشین مجازی) تعریف شدهاند. بنابراین اگر شما ماشینهای مجازی تعریف کردهاید که به حافظه بیشتری نسبت به آن چیزی که تخصیص داده شده است نیاز ندارند، میتوانید قابلیت NUMA را غیرفعال کنید.
این سطح از پشتیبانی و ظرفیت در Hyper-V جدید در مقایسه با Hyper-V روی ویندوز سرور ۲۰۰۸ نگارش R2 قابل توجه و بسیار بیشتر است و حتی در مقایسه با محصول VMware’s vSphere 5 نیز یک ظرفیت بیشتر شمرده میشود. مزیت واقعی این ویژگیهای جدید Hyper-V هنگامی مشخص میشود که روی ویندوز سرور 2012 با محیط و ابزارهای مدیریتی این سیستمعامل یکپارچه شده و توسط مدیر سیستم مورد استفاده قرار بگیرند. همچنین میتوان Hyper-V را از راه دور و از طریق اسکریپتهای نوشته شده یا دستورات خط فرمان که در ابزار PowerSell 3.0 اجرا میشوند، مدیریت و کنترل کرد.
آنچیزی که اهمیت «رایگان» بودن این ابزار مجازیسازی را بیشتر میکند، این است که برخلاف نسخه رایگان VMware’s ESXi، نسخه رایگان Hyper-V Hypervisor از تمام ظرفیتها، قابلیتها و امکانات روی ویندوز سرور 2012 پشتیبانی میکند و محدودیتی برای آن در استفاده از پردازنده یا حافظه تعریف نشده است. Hyper-V Server 2012 از تمام ویژگیهای یک نسخه مدیریت ماشینهای مجازی (Hypervisor) پشتیبانی میکند و از تمام قابلیتهای مدیریتی روی ویندوز سرور 2012 میتوان استفاده کرد. اگر شما تصمیم ندارید ویندوز سرور 2012 را روی سیستم خود نصب کنید یا نمیخواهید از مجوز آن برای تعریف یک ماشین مجازی استفاده کنید و میخواهید ماشینهای مجازی را روی نسخههای قدیمیتر ویندوز مانند ویندوز سرور 2008، ویندوز7، ویندوز 8 نسخه دسکتاپ و سیستمعاملهای دیگر مشابه مانند لینوکس و... نصب کنید و از امکانات مجازیسازی دسکتاپ آنها یا ابزار مدیریتی مایکروسافت بهره ببرید، به Hyper-V Server 2012 نیاز خواهید داشت.
حتی اگر شما از ابزارهای مدیریتی مایکروسافت مانند System Center 2012 استفاده میکنید و تمایل دارید خیلی ساده و راحت با ابزار مدیریتی Hyper-V در ویندوز سرور 2012 کار کنید، دیگر نیازی به استفاده از ابزارها و محیطهای مدیریتی مجازیسازی دیگر ندارید(زیرا ابزار مدیریتی Hyper-V کامل و دارای قابلیتهایی است که برای یک کاربر معمولی کافی است). حتی در این وضعیت مهم نیست که چه سیستمعاملی روی ماشین مجازی تعریف شده، نصب شده است. اگر تمایل دارید تعداد زیادی ماشین مجازی مشابه هم روی یک سرور Hyper-V تعریف و مستقر کنید، با استفاده از ابزار PowerShell و اسکریپتهایی که وجود دارد، میتوانید یک پیکربندی یکسان را روی تمامی ماشینهای مجازی اعمال کنید و از انجام تمامی کارهای پیکربندی بهصورت دستی خودداری کنید. حتی میتوانید برای نگهداری و تعمیر ماشینهای مجازی از اسکریپتها استفاده کنید. به عنوان مثال، میتوانید اسکریپتی بنویسید که مجموعهای از ماشینهای مجازی خاموش را از روی یک سرور در ساعت غیر اوج کاری به روی سرور دیگری برای صرفهجویی بیشتر انرژی منتقل کند. Hyper-V Manager همان شکل و شمایل و تجربه کار کردن را به شما القا میکند که دیگر ابزارهای مدیریتی ویندوز دارند (البته این ابزار در ویندوز سرور 2012 همانند رابط کاربری گرافیکی ویندوز8 است) (شکل 1).
شکل1: ابزار Hyper-V Manager دارای ویزاردی است که امکان مدیریت تمامی کارهای یک ماشین مجازی را فراهم میکند.
این ابزار یک ویزارد دارد که میتوانید بیشتر کارهای یک ماشین مجازی مانند ساخت یک ماشین یا دیسک مجازی جدید، Import و Export کردن ماشینهای مجازی، تنظیمات پاسخگویی و همانندسازی یا انتقال یک ماشین مجازی از روی یک دستگاه ذخیرهسازی فیزیکی به یک دستگاه ذخیرهسازی فیزیکی دیگر را به کمک آن انجام دهید (شکل 2).
شکل2: ابزار مدیریتی Hyper-V میتواند در بار کاری لحظهای بهصورت پویا میزان حافظه مورد استفاده توسط ماشینهای مجازی را نشان بدهد.
دو ویژگی پویا
Hyper-V از دو ویژگی پویا در هنگام تعریف و اضافهکردن ماشینهای مجازی استفاده میکند. این دو ویژگی، تخصیص پویای حافظه و فضای ذخیرهسازی در هنگام راهاندازی آنها است. به اینصورت که میتوانید به ماشینهای مجازی مجوز بدهید تا در صورت نیاز از حافظه و فضای ذخیرهسازی بیشتری که در دسترس است، استفاده کنند. VHD پویا امکان تعریف یک اندازه مشخص برای حافظه و فضای دیسک ماشینهای مجازی به صورت نرمافزاری را فراهم میکند اما اجازه میدهد که ماشینهای مجازی براساس میزان مصرف مورد نیاز خود، فضای بیشتری از دیسک فیزیکی را استفاده و اطلاعات بیشتری را روی آن ذخیره کنند. ویژگی تخصیص پویای حافظه رم در Hyper-V از ویندوز 2008 R2 شروع شده است و معادل آن در نرمافزار VMware با نام «Overprovisioning» شناخته میشود؛ اگرچه این دو در نحوه کار تفاوت اندکی با یکدیگر دارند. این ویژگی در Hyper-V 2012 به نام « Smart Paging» شناخته میشود. به هر حال Hyper-V میتواند حافظه رم را بهصورت پویا از یک ماشین مجازی به ماشینمجازی دیگر، تخصیص بدهد و براساس بار کاری که ماشینهای مجازی دارند، Hypervisor مقدار حافظه تخصیص داده شده به هر ماشین مجازی را تغییر دهد. اما از سوی دیگر Smart Paging میتواند فضای دیسک ذخیرهسازی اطلاعات روی یک ماشین مجازی را بهصورت حافظه رم مجازی استفاده کرده و به صورت موقت به یک ماشین مجازی تخصیص دهد. هنگامی که یک ماشین مجازی شروع به کار میکند یا ریاستارت میشود و مقدار حافظه رم کافی برای پشتیبانی از آن وجود ندارد و حافظه رم اصلی نمیتواند از ماشینهای مجازی دیگر، مقدار حافظه مورد نیاز را تأمین کند، از Smart Paging به جای حافظه رم استفاده میشود تا هنگامی که حافظه رم کافی از سوی دیگر ماشینهای مجازی تأمین شود و در این مدت کارایی سیستم کاهش نیابد و نرخ دسترسی به دیسک فیزیکی دچار افت نشود.
شکل3: انتخاب حافظه رم پویا در هنگام راهاندازی ماشین مجازی اجازه میدهد تا Hyper-V براساس تقاضای ماشین مجازی، به آن حافظه تخصیص دهد.
مهاجرت، اشتراکگذاری هرچیزی یا هیچچیز
یکی از ویژگیهای بسیار مهمی که در Hyper-V 2012 باید مورد توجه قرار بگیرد، « shared-nothing live migration» است. این ویژگی یک ایده بسیار بزرگ و جالب برای سازمانهای کوچکی است که میخواهند ماشینهای مجازی روی سرورها اجرا کنند؛ بدون اینکه نیاز داشته باشند یک دستگاه ذخیرهسازی روی آن شبکه به اشتراک بگذارند. این ویژگی نهتنها به سازمانها اجازه میدهد که سرورهای خود را برحسب نیاز از روی فضاهای ذخیرهسازی محلی به فضاهای ذخیرهسازی روی مراکز داده منتقل کنند، بلکه این امکان را نیز فراهم میکند که بتوان سرورهایی را که روی آنها میزبانهای فعالی وجود دارد، خاموش کرد. در گذشته قابلیت shared-nothing توسط ابزارهای بازیابی پس از بحران (Disaster Recovery) برای جایگزینی یک سرور با سرور دیگر یا در سیستمهای «dynamic provisioning» مورد استفاده قرار میگرفت. اما این ویژگی در Hyper-V 2012 بهصورت کامل در بخش مدیریت ماشینهای مجازی جاسازی شده است و تمام نیازمندی آن داشتن یک اتصال شبکه به میزبان Hyper-V هدف است. تنها محدودیت عملی قابلیت shared-nothing در Hyper-V پهنایباند شبکه است؛ بهخصوص اگر میخواهید یک پایگاه SQL Server را با چندین ترابایت اطلاعات روی یک هارددیسک مجازی به روی یک سرور دیگر منتقل کنید.
شکل4: انتقال اطلاعات یک ماشین مجازی از روی یک دیسک محلی به روی Windows Server SMB در محیطهای کوچک و متوسط استفادهکننده از Hyper-V با استفاده از Storage Space و بدون نیاز به SAN سادهتر شده است.
علاوه بر این که انتقال یک ماشین مجازی از روی یک ماشین فیزیکی به روی ماشین دیگر با حفظ فضاهای اشتراکگذاری شده و دیسکهای مشترک روی همان سرور قبلی یا انتقال آنها به VHD بهخوبی صورت میگیرد؛ فضای ذخیرهسازی روی یک ماشین مجازی را نیز میتوانید به مکان دیگری روی همان سرور منتقل کنید. شرکتهای کوچک و متوسط با استفاده از سیستم اشتراکگذاری فایل Windows Server که با قابلیت جدید Storage Space در ویندوز سرور 2012 ترکیب شده است، دیگر به امکانات ذخیرهسازی SAN نیاز ندارند و میتوانند به انتقال اطلاعات از روی یک سرور یا دیسک به روی سرور یا دیسک دیگر دست بزنند، بی آن که نیاز به خاموش کردن سرور وجود داشته باشد یا محل اجرای سرور تغییر کند.
شبکه مجازی
یکی از نخستین مراحل پیکربندی Hyper-V تنظیمات سوئیچهای شبکههای مجازی است که توسط مدیر ماشینهای مجازی برای پشتیبانی از ماشینهای مجازی در زیرساخت شبکه مورد استفاده قرار میگیرند. نرمافزار سوئیچ شبکههای مجازی برای بهبود دادن Hyper-V مورد استفاده قرار میگیرد. این بهبود دادن نیز شامل بخشهایی از شبکههای مجازی در زیرساخت SDN (سرنام Software-Define Networking) است تا بالاترین کنترل را روی امنیت، کیفیت سرویسدهی و تحمل خطا داشته باشد.
سوئیچ مجازی میتواند برای هر کارت شبکه روی کامپیوترهای میزبان یا مجموعهای از کارتهای شبکه پیکربندی شود. در مقاله بررسی کلی ویندوز سرور 2012 (که در شماره قبلی ماهنامه منتشر شد) گفتیم که این سیستمعامل از قابلیت کارتهای شبکه گروهی یا NIC Teaming پشتیبانی میکند و میتوان مجموعهای از کارتهای شبکه را برای یک آدرس IP ایستا پیکربندی کرد. با این قابلیت شما نهتنها میتوانید یک سوئیچ مجازی را برای استفاده SR-IOV (سرنام Single Root I/O Virtualization) پیکربندی کنید، بلکه میتوانید اجازه دهید تا ماشینهای مجازی بهطور کامل شبکه مجازی داخلی را دور زده و از طریق کارت شبکه بهطور مستقیم با سختافزار شبکه ارتباط داشته باشند.
شکل5: پیکربندی یک سوئیچ مجازی برای استفاده در SR-IOV. این رابط میتواند به هر ماشین مجازی یک سوئیچ اختصاصی یا اشتراکی تخصیص دهد. شما نمیتوانید بهطور همزمان از SR-IOV و قابلیت Windows Server’s NIC teaming استفاده کنید.
SR-IVO اجازه میدهد یک ماشین مجازی به یک یا چند کارت شبکه اختصاص داده شود تا از وجود پهنایباند مورد نیاز (مثلاً برای ارتباط دستگاه ذخیرهسازی با SQL Server) اطمینان حاصل شود. ویژگی SR-IVO مدتها است توسط نرمافزار VMware پشتیبانی میشود اما Hyper-V علاوه بر پشتیبانی از SR-IVO این امکان را فراهم میکند تا ماشین مجازی به ماشین دیگری مهاجرت کند؛ البته اگر سرور هدف از قابلیت SR-IVO پشتیبانی کند.
مایکروسافت در Hyper-V اهدافی بیشتر از تعریف و استفاده از یک سوئیچ مجازی دارد و معماری بر مبنای سوئیچهای شبکه مجازی ارائه کرده است که امکان توسعه Hyper-V برای ساخت پلاگینهای شبکههای SDN به وجود میآورد. این پلاگینها بهطور مستقیم با نرمافزارهای سوئیچ، فایروالها، نرمافزارهای بازرسی بستهها، سیستمهای لود بالانسینگ و نرمافزارهای دیگر شبکههای SDN مجتمع شده و امکان تعریف سوئیچهای مجازی را توسط مدیر سیستم و مدیر ماشینهای مجازی فراهم میکنند. برخی از شرکتهای توسعهدهنده نیز در ساخت این افزونهها با مایکروسافت همکاری کرده و افزونههایی طراحی کردهاند که ماشینهای مجازی مبتنیبر Hyper-V بهطور مستقیم با سوئیچهای مبتنی بر SDN این شرکتها ارتباط برقرار کرده و به آنها متصل شوند. از جمله سوئیچهای سازگار با Hyper-V برای این منظور میتوان به Cisco Nexus 1000v و سوئیچهای مبتنیبر OpenFlow اشاره کرد. تاکنون دو پلاگین سوئیچ مجازی توسط مایکروسافت توسعه داده شده است. پلاگین اول یک فیلترکننده شبکه مبتنی بر Windows Filtering Platform است و پلاگین بعدی یک کپچر بستههای شبکه مبتنیبر Network Driver Interface Specification است. این دو پلاگین توسط رابطهای برنامهنویسی WFP و NDIS قابل توسعه هستند. با استفاده از این دو پلاگین، توسعهدهندگان میتوانند مانیتورینگ و فیلترینگ شبکههای خود را به دست یک ماشین مجازی بدهند و نرمافزارهای امنیتی، ابزارهای گزارشگیری شبکه و گونههای دیگری از نرمافزارهای شبکههای مجازی را مبتنی بر ماشینهای مجازی توسعه بدهند.
Hyper-V دارای ویژگیهایی دیگر برای شبکههای مجازی است که از مهمترین آنها میتوان به پشتیبانی از مسیریابی کپسوله شده (routing encapsulation) و بازنویسی آدرسهای IP اشاره کرد که توسط سرویس IP Address Management یا IPAM در ویندوز سرور 2012 انجام میشوند. این ویژگیها اجازه میدهند تا ماشینهای مجازی با تغییر آدرس Subnet یا تغییر سرویسدهنده، آدرس IP خود را حفظ کرده و نیاز به تغییر آن نداشته باشند. همچنین این ویژگیها باعث میشوند تا برخی از محدودیتهای شبکههای مجازی محلی (VLAN) در پشتیبانی از سوئیچها حذف شود. در برخی از شبکههای مجازی محلی تعداد سوئیچها محدود است یا بهطور همزمان نمیتوان با تمامی سوئیچها کار کرد!
شکل6: ابزار Hyper-V در Virtual Switch Manager امکان نصب پلاگینهای سازگار با سختافزار شرکتهای دیگر را میدهد.
حمله به کلونها
یکی از مزایای Hyper-V 2012 قابلیتهای همانندسازی (Replication) است. شما میتوانید یک کامپیوتر میزبان Hyper-V را به عنوان یک سیستم همانندسازی سرور معرفی کنید. این میزبان میتواند یکی از کامپیوترهای کلاسترشده ویندوز سرور یا یک کامپیوتر از راه دور شبکه باشد. میزبان Hyper-V میتواند بهگونهای پیکربندی شود که دادههای همانندسازی را از تمام سرورها یا تنها تعدادی از آنها دریافت کند. اگر شما میخواهید از ماشینهای مجازی مبتنی بر شبکههای WAN برای قابلیتهای همانندسازی استفاده کنید، میتوانید از گواهینامههای احراز هویت مبتنی بر پروتکل HTTP برای رمزنگاری اطلاعات همانندسازی در شبکه استفاده کنید. به عنوان مثال، میتوان از الگوریتم احراز هویت Kerberos با HTTP برای ترافیک ورودی میزبان Hyper-V پشتیبان استفاده کرد. فرآیند اولیه همانندسازی میتواند بهصورت Export کردن اطلاعات به دستگاههای ذخیرهسازی مانند DVD یا دستگاههای ذخیرهسازی قابل حمل صورت گیرد تا به سایت راه دور ارسال شوند یا کل فرآیند روی شبکه انجام شود. شما میتوانید فقط بخشی از اطلاعات روی یک سرور مانند اطلاعات روی دیسک مجازی را همانندسازی کنید. Hyper-V عملیات همانندسازی و ساخت یک نسخه دوم را روی شبکههای کابلی انجام میدهد و مدت زمان و دوره همانندسازی بهشدت وابسته به توان خروجی شبکه است.
شکل7: در Hyper-V میتوان یک میزبان را به عنوان سیستم همانندسازی هدف تعریف کرد.
شما میتوانید طبق یک طرح و برنامهریزی، در هر زمان به کپی گرفتن و هماهنگسازی میزبان با سرور اصلی اقدام کنید یا برعکس هر زمان که شبکه شما آمادگی دارد، بازیابی، تعمیر یا تغییر سرور و بهروزرسانی آن را آغاز کنید. هرگاه سرور اصلی خراب شود یا به درستی کار نکند، میتوانید میزبان همانندسازی شده را وارد شبکه کرده و بهعنوان سرور اصلی معرفی کنید و این وضعیت تا رفع عیب سرور معیوب ادامه داشته باشد.
۹۴/۰۸/۰۴