تکنولوژی Storage Quality of Service یا به اختصار Storage QoS در Windows Server 2016، با استفاده از Hyper-V و Scale-Out File Server راهی برای مانیتور و مدیریت مرکزی عملکرد Storage در ماشینهای مجازی فراهم میکند. این ویژگی بهطور خودکار توزیع منابع Storage را بین چندین ماشین مجازی که از یک File Server Cluster یکسان استفاده میکنند بهبود بخشیده و این امکان را فراهم مینماید تا حداقل و حداکثر اهداف عملکردی مبتنی بر Policy در واحدهای نرمالشده IOPs پیکربندی شوند.
با استفاده از Storage QoS در Windows Server 2016، قابلیتهای زیر برای مدیران شبکهها فراهم میگردد:
عدم تداخل در میزان استفاده از Storage با سایر ماشینهای مجازی
به طور پیش فرض، Storage QoS تضمین میکند که یک ماشین مجازی به تنهایی نتواند تمامی منابع Storage را مصرف نموده و دیگر ماشینهای مجازی را در استفاده از Storage با مشکل مواجه نماید.
مانیتورینگ End to End بر عملکرد Storage
به محض اینکه ماشینهای مجازی ذخیره شده در یک Scale-Out File Server آغاز به کار میکنند، عملکرد آنها نیز مانیتور میگردد. همچنین جزئیات عملکرد تمام ماشینهای مجازی در حال اجرا و پیکربندی Scale-Out File Server را می توان از یک مکان واحد مشاهده نمود.
مدیریت Storage I/O بر مبنای Business Workloads
PolicyهایStorage QoS ، حداقل و حداکثر عملکرد برای ماشینهای مجازی را تعیین کرده و دستیابی به آنها را تضمین میکنند که این امر منجر به عملکرد هماهنگ ماشینهای مجازی حتی در محیطهای متراکم و Over-Provisione میگردد. همچنین در صورت عدم رعایت Policyهای تعریف شده، هشدارهایی برای ردیابی زمانهای خروج VM از Policy یا تشخیص Policyهای نامعتبر وجود دارد.
در ادامه این مقاله به بررسی دقیقتر Storage QoS میپردازیم.
الزامات Storage QoS
Storage QoS از دو نوع پیادهسازی پشتیبانی میکند:
1) استفاده Hyper–V از یک Scale-Out File Server
در این نوع پیادهسازی، Storage Cluster که در واقع یک کلاستر Scale-Out File Server بوده و Compute Cluster که در حداقلترین حالت یک سرور دارای Hyper-V میباشد، مورد نیاز است. برای پیادهسازی Storage QoS، وجود Failover Cluster در Storage serverها بر خلاف Compute Serverها ضروری است. لازم به ذکر است که تمامی سرورها (Storage و Compute) باید Windows Server 2016 باشند.
2) استفاده Hyper–V از Cluster Shared Volume یا به اختصار CSV
این سناریو نیازمند موارد زیر است:
Compute cluster که بر روی آن رول Hyper-V نصب شده باشد. Hyper-V که از Cluster Shared Volume یا CSV برای Storage استفاده میکند.
لازم به ذکر است که در هر دو سناریوی فوق، Failover Cluster مورد نیاز است و تمام سرورها باید نسخهی یکسانی از Windows Server 2016 را اجرا کنند.
استفاده از Storage QoS در یک راهکار Storage مبتنی بر نرمافزار
Storage Quality of Service در راهکار storage مبتنی بر نرمافزار مایکروسافت (Microsoft software-Defined) ساخته میشود که توسط Scale-Out File Server و Hyper-V ارائه میگردد. Scale-Out File Server، فایلهای اشتراکی را با استفاده از پروتکل SMB3 در اختیار سرورهای Hyper-V قرار میدهد. در ضمن یک Policy Manager جدید به کلاستر File Server اضافه شده است که مانیتورینگ عملکرد Central Storage را فراهم میکند.
همزمان که سرورهای Hyper-V، ماشینهای مجازی را راهاندازی میکنند، عملکردشان توسطPolicy Manager مانیتور میشود. Policy Manager با Storage QoS Policy ارتباط برقرار کرده و هرگونه محدودیت یا ایجاد Reservation را به سرور Hyper-V منتقل میکند و به طرز مطلوبی عملکرد ماشین مجازی را کنترل میکند.
زمانی که تغییراتی در Policyهای Storage QoS ایجاد شده و یا بنا به نیازهای عملکردی توسط ماشینهای مجازی تغییراتی حاصل میگردد، Policy Manager سرورهای Hyper-V را برای هماهنگ نمودن عملکرد خود مطلع مینماید. این Feedback Loop تضمین میکند که همه دستگاههای مجازی VHD به طور مداوم و با توجه به Storage QoS Policyهای تعریف شده عمل میکنند.
در ادامه به بررسی برخی از اصطلاحات مطرح شده در این مقاله خواهیم پرداخت:
IOPs نرمالشده
حجم استفاده Storage در IOPs نرمالشده اندازهگیری میشود. این اندازهگیری شامل تعداد عملیات ورودی/خروجی Storage در هر ثانیه میباشد (Input/Output Operations per Second). هر IO که 8 کیلوبایت یا کوچکتر است بهعنوان یک IO نرمال محسوب میشود. هر IO که بزرگتر از 8 کیلوبایت باشد، بهعنوان چند IO نرمالشده درنظرگرفته میشود. به عنوان مثال، یک درخواست 256 کیلوبایتی در حالت نرمال شده به عنوان32 IOPs محسوب می شود.
جریان ترافیک (Flow)
هر فایل که توسط یک سرور Hyper-V با انتقال به یک فایل VHD یا VHDX باز میشود به عنوان جریان ترافیک (Flow) در نظر گرفته میشود. اگر یک ماشین مجازی دارای دو هارد دیسک مجازی متصل باشد، در ازای هر فایل یک جریان ترافیک به File Server Cluster خواهد داشت. اگر یک VHDX با چند ماشین مجازی به اشتراک گذاشته شود، برای هر ماشین مجازی یک جریان وجود خواهد داشت.
InitiatorName
نام ماشین مجازی که برای هر جریان ترافیک به Scale-out File Server گزارش شده است.
InitiatorID
شناساگری است که با شناسهی ماشین مجازی تطابق دارد و میتواند در شناسایی جریان ترافیک ماشینهای مجازی مورد استفاده قرارگیرد، حتی در صورتی که ماشینهای مجازی InitiatorName یکسانی داشته باشند.
Policy
سیاستهای Storage QoS در پایگاه داده کلاستر ذخیره میشوند و دارای ویژگیهای زیر میباشند: PolicyId، MinimumIOPS، MaximumIOPS، ParentPolicy و PolicyType.
PolicyId
شناسه منحصر بهفرد برای یک policy میباشد که این شناسه بهطور پیشفرض تولید شده اما در صورت نیاز میتواند اختصاصی گردد.
MinimumIOPS
حداقل IOPS نرمالشده که توسط یک Policy ارائه میشود. همچنین بعنوان “Reservation” نیز شناخته میشود.
MaximumIOPS
حداکثر IOPS نرمالشده که توسط یک Policy محدود میشود. همچنین بعنوان “Limit” نیز شناخته میشود.
Aggregated
نوعی Policy است که در آن MinimumIOPS و MaximumIOPS مشخص شده و پهنای باند بین تمام جریانهای اختصاص داده شده به این policy به اشتراک گذاشته میشوند. همه VHDها که دارای Policy معین شده در آن سیستم Storage هستند دارای یک مکان اختصاصی پهنای باند I/O برای همه اشتراکگذاریها هستند.
Dedicated
نوعی Policy است که در آن حداقل و حداکثر IOPs و پهنای باند برای VHD /VHDx بصورت مجزا ترتیب داده میشود.