در قسمت اول و دوم از مقاله عملکرد I/O ذخیرهسازی به بررسی انواع کنترلرهای مجازی مورد استفاده در Hyper-v و همچنین انواع دیسکهای تحت پشتیبانی اینHypervisor و تفاوت های عملکردی در این دیسکها پرداخته شد. در قسمت این قسمت که بخش پایانی این مقاله به تکنولوژیهای ارایه شده در Hyper-V به منظور بهبود کارایی ماشینهای مجازی در دسترسی به دیسک میپردازیم.
دیسک های Pass-Through
VHD در یک ماشین مجازی را می توان، به جای یک فایل VHD، مستقیما به یک دیسک فیزیکی یا LUN (Logical Unit Number )، Map کرد. مزیت این این پیکربندی این است که فایل سیستم NTFS را در پارتیشن Root دور میزند، که بار I/O ذخیرهسازی بر روی CPU را کاهش میدهد. با این وجود جابجایی دیسکهای فیزیکی و LUNها میان ماشینها میتواند نسبت به فایلها VHD بسیار دشوارتر باشد و. به دلیل همین محدودیتها در جابجایی میان ماشینهای مجازی، از دیسکهای Pass-Through اجتناب شود.
قابلیت Storage Quality of Service
در Windows Server 2012 R2، قابلیت Hyper-V شامل توانایی تنظیم پارامترهای خاصی از (Quality of Service (QoS، برای دخیرهسازی بر روی ماشینهای مجازی استفاده میشود. QoS امکان ذخیرهسازی، جداسازی عملکرد ذخیرهسازی را در محیط Multitenant ارائه کرده و همچنین مکانیسمهایی را فراهم میکنند که هنگامی که عملکرد I/O با آستانه تعریفشده مطابقت نداشته باشد، به شما اطلاع داده تا بار کاری ماشین مجازی شما به طور موثر اجرا شود.
QoS ذخیرهسازی، توانایی تعیین حداکثر عملیات Input/Output در ثانیه (IOPS) را برای هارد دیسک مجازی شما فراهم میکند. یک مدیر شبکه میتواند I/O ذخیرهسازی را کاهش دهد تا یک Tenant را از مصرف منابع ذخیره اضافی که ممکن است بر روی Tenant دیگر تاثیر بگذارد، منع کند.
همچنین میتوانید حداقل مقدار IOPS را نیز تنظیم کنید. زمانی که IOPS یک هارد دیسک مجازی زیر یک آستانه مشخصشده که برای عملکرد بهینه آن مورد نیاز است باشد، اطلاع میدهد. زیرساخت اندازهگیری ماشین مجازی نیز با پارامترهای مرتبط با ذخیرهسازی بهروزرسانی شده و به مدیر شبکه اجازه میدهد تا پارامترهای مرتبط به عملکرد و Chargeback را زیر نظر داشته باشد.
حداکثر و حداقل مقادیر برحسب IOPSهای نرمالشده مشخص میشوند که در آن هر 8 کیلوبایت داده یک I/O محسوب میشود.
برخی از محدودیتها به شرح زیر میباشند:
• فقط برای دیسکهای مجازی قابل استفاده میباشد.
• دیسک Differencing نمیتوانند دیسک اصلی (Parent) را در Volume دیگری داشته باشد.
• Replica- QoS برای Replica Site بطور جداگانه از Site اولیه پیکربندی میشود.
• VHDX اشتراکی پشتیبانی نمیشود.
NUMA I/O
ویندوز سرور 2012 و نسخههای بعدی، از ماشینهای مجازی بزرگ پشتیبانی کرده، و هر پیکربندی ماشین مجازی بزرگ نیز به مقیاسپذیری توان عملیاتی I/O نیاز دارد. پیشرفتهای زیر که برای اولین بار در Stack ذخیرهسازی Windows Server 2012 و Hyper-V معرفی شده، مقیاسپذیری I/O مورد نیاز را برای ماشینهای مجازی بزرگ فراهم میکند:
• افزایش تعداد کانالهای ارتباطی ایجاد شده میان دستگاههای Guest و Stack ذخیرهسازی Host.
• یک مکانیسم تکمیل I/O کارآمدتر، شامل توزیع وقفه در میان پردازندههای مجازی برای اجتناب از وقفههای طولانی مدت میانپردازندهای.
• معرفی تعدادی Registry Entry در ویندوز سرور 2012 که در مسیر زیر وجود دارند و امکان تنظیم تعداد کانالها را فراهم میکنند.
HKLM\System\CurrentControlSet\Enum\VMBUS\{device id}\{instance id}\StorChannel
همچنین پردازندههای مجازی را که فرایندهای تکمیل I/O را به CPUهای مجازی که توسط برنامه کاربردی به پردازنده I/O اختصاص داده میشوند را نیز تراز میکنند. تنظیمات Registry بر روی کلید سختافزار دستگاه و برای هر Adapter به صورت جداگانه پیکربندی میشوند، که این مقادیر از قرار زیر میباشند:
(ChannelCount (DWORD: تعداد کل کانالهای مورد استفاده با حداکثر 16 عدد، که این مقدار به صورت پیش فرض به مقدار سقف تنظیم می شود که برابر است با تعداد پردازندههای مجازی تقسیم بر 16.
(ChannelMask (QWORD: مقدار Affinity پردازنده ها برای کانال ها می باشد. اگر تنظیم نشده باشد و یا مقدارش 0 باشد، به صورت پیش فرض مانند الگوریتم توزیع کانال موجود که شما برای ذخیره سازی نرمال و یا برای کانال های شبکه استفاده میکنید، خواهد بود. این امر تضمین میکند که کانال های ذخیره سازی شما با کانال های شبکه ناسازگاری نخواهند داشت.
یکپارچه سازی انتقال داده Offload شده
وظایف حیاتی نگهداری VHDها، مانند ادغام، جابجایی و فشردهسازی، مستلزم کپی مقدار زیادی داده میباشند. روش فعلی کپی کردن دادهها نیاز به خواندن و نوشتن دادهها در مکانهای مختلف دارد، که میتواند فرآیند بسیار وقتگیری باشد. همچنین از منابع CPU و حافظه در Host استفاده میکند که میتواند به جای این کار، برای استفاده ماشینهای مجازی مورد استفاده قرار گیرد.
فروشندگان (SAN (Storage Area Network در تلاش هستند تا عملیات کپی سریع مقادیر زیادی از دادهها را فراهم کنند. این نوع ذخیرهسازی طراحی شده است تا به سیستم بالای دیسک اجازه حرکت یک مجموعه داده خاص از مکانی به مکان دیگر را مشخص کند. این ویژگی سختافزاری به عنوان یک جابجایی داده Offload شناخته میشود.
Hyper-V 2012Windows Server و نسخههای بعدی، از عملیات (Offload Data Transfer (ODX پشتیبانی کرده تا این عملیات بتوانند از سیستمعامل Guest به سخت افزار Host منتقل شوند. این تضمین ایجاد میشود که بارکاری میتواند از ذخیرهسازی سازگار با ODX مانند یک محیط غیرمجازی استفاده کند. Stack ذخیرهسازی Hyper-V نیز عملیات ODX را در حین عملیات تعمیر و نگهداری برای VHDها، از جمله ادغام دیسکها و عملیات فراذخیرهسازی که در آن مقدار زیادی از دادهها منتقل میشود، صادر میکند.
ادغام Unmap
فایل های هارد دیسک مجازی به عنوان فایل در Volume ذخیره ساز وجود دارند، و آنها فضای موجود را با دیگر فایلها به اشتراک میگذارند. از آنجا که اندازه این فایلها معمولا بزرگ است، فضای مصرفی آنها میتواند به سرعت رشد کند. تقاضا برای ذخیرهسازی فیزیکی بیشتر بر بودجه سختافزاری IT تاثیر میگذارد. مهم است که استفاده از ذخیرهسازی فیزیکی تا حد ممکن بهینهسازی شود.
پیش از Windows Server 2012، هنگامی که برنامههای کاربردی محتوی را در یک هارد دیسک مجازی حذف میکردند که فضای ذخیرهسازی محتوا را رد میکرد، Stack ذخیرهسازی ویندوز در سیستمعامل Guest و Host Hyper-V محدودیتهایی داشت که مانع از انتقال این اطلاعات به هارد دیسک مجازی و دستگاه ذخیرهساز فیزیکی میشد. این مانع بهینهسازی استفاده از فضای هارد دیسک مجازی مبتنی بر VHD توسط Stack ذخیره سازی Hyper-V میشد. همچنین مانع بازپسگیری فضایی که قبلا توسط دادههای حذف شده اشغال شده بود توسط دستگاه ذخیرهساز میشد.
از Windows Server 2012 به بعد، Hyper-V از اعلانهای Unmap پشتیبانی میکند، که فایلهای VHDX را قادر میسازد تا در نمایش اطلاعات درونشان کارآمدتر باشند. این امر منجر به کوچکتر شدن فایلها میشود و اجازه میدهد تا دستگاه ذخیرهساز فیزیکی، فضای استفاده نشده را پس بگیرد.
تنها SCSI مخصوص Hyper-V، Enlightened IDE و Fiber Channel مجازی اجازه رسیدن فرمان Unmap از Guest به Stack ذخیرهسازی Host را میدهد. در هارد دیسک مجازی، فقط دیسکهای مجازی فرمت شده به صورت VHDX از دستورات Unmap از Guest پشتیبانی میکند. به همین دلیل توصیه میشود هنگام استفاده نکردن از دیسک های مجازی Fiber Channel، از فایلهای VHDX متصل به کنترلکننده SCSI استفاده کنید.