مفهوم I/O در VDI

انتخاب ذخیره سازی مناسب برای VDI می تواند در بسیاری از موارد، مساله ی دشواری باشد. دلیل این امر کمبود اطلاعات درباره بار کاری است که بر روی هریک از دسکتاپ های مجازی وجود دارد.

 مفهوم نرخ ورودی/خروجی VDI، نسبت Read/Write و Storage Tiering

می توان از ارقام از پیش تعیین شده به عنوان مبنای کار استفاده کرد. اگرچه این روش نشان دهنده مقدار بار کاری است که معمولا با آن سر و کار داریم، ولی در بسیاری از موارد می تواند نقطه ای خارج از منحنی باشد (مورد استثنائی باشد). در بهترین حالت مشتری، کار را به صورت آزمایشی انجام داده و سپس بر اساس داده های جمع آوری شده می توان تخمین مناسبی زد.
برای تعیین مناسب ظرفیت ذخیره سازی باید موارد زیر را در نظر داشت:

  • اندازه ذخیره سازی: چقدر ذخیره سازی مورد نیاز است؟
  • اندازه LUN: چند LUN یا Datastore مورد نیاز است؟
  • نوع Tier: چه نوع دیسک و Disk Placement مورد نیاز است؟
  • I/O در ثانیه (تعداد دستور در ثانیه): تعداد دستور SCSI بر ثانیه بر LUN و مجموع
  • نسبت Read/Write: نسبت Read/Write برای پشتیبانی بار کاری

سه پارامتر اول را بدون دانستن بار کاری می توان بدست آورد، اما درباره تعیین اندازه VM و نحوه عملکرد آنها در یک محیط Tier شده نیاز به دانش می باشد.
این مقاله را درباره VMware View 4.5 Storage Tiering بخوانید. همچنین این مقاله درباره تعیین اندازه ذخیره سازی برای VMware View Linked Clones می باشد و این مقاله مثال عملی درخصوص تعیین اندازه ذخیره سازی برای View Linked Clones را توضیح می دهد.
مساله اصلی، دو پارامتر آخر لیست است: IOPS و نسبت Read/Write. بدون این مقادیر و معماری ذخیره سازی، احتمالا نمی توانید ذخیره سازی را فراهم کنید که پاسخگوی عملکرد مورد نیاز برای VDI شماست.
IOPS که با نام پروفایل I/O دیسک (Disk IO Profile) هم شناخته می شود برای هر یک از سیستم عامل های مهمان متفاوت است (ویندوز XP یا ویندوز 7). این پروفایل به تعداد و نوع نرم افزارهایی که استفاده می شوند و همچنین سرویس هایی که در سیستم عامل میزبان وجود دارد، وابسته است. به علاوه، پروفایل I/O به این هم بستگی دارد که کاربران چطور با دسکتاپ مجازی تعامل می کنند. خوشبختانه VMware، شرکای آن و شرکت های مشاور، پروفایل هایی را تعیین کردند که به عنوان مبنای کار می توان از آنها استفاده کرد. باز هم می گویم که اگر می توانید، سعی کنید پروفایل مناسب محیط خود را بیابید.
مستندسازی VMware در زیر می آید:
سبک (پنج I/O در ثانیه): کاربران سبک معمولا از ایمیل (Outlook)، Excel ،Word و مرورگر وب (Internet Explorer یا فایرفاکس) در یک روز کاری معمولی استفاده می کنند. این کاربران معمولا کارهای Data Entry یا کارهای اداری و دفتری را بر عهده دارند.
سنگین (15 I/O بر ثانیه): این کاربران با استفاده از دانش خود کاری را انجام داده و از تمام ابزارهای کاربران سبک استفاده می کنند:
(ایمیل، Excel ،Word و مرورگر وب) و همچنین با فایل های بزرگ PowerPoint و کارهای دیگری که با فایل های بزرگ مرتبط است سر و کار دارند. این افراد شامل Business Manager، مدیران اجرایی، و اعضای واحد بازاریابی می شوند.
طبق مقاله VDI & Storage – Deep Impact که توسط PQR منتشر شد، اعداد IOPS به این صورت است:

  Windows XP Windows 7
سبک 3-8 4-5
متوسط 6-8 8-10
سنگین 12-16 14-20

جالب است که بیشتر مستندات معماری یا White Paperهایی که منتشر می شوند فرق زیادی در این اعداد دارند. بنابراین به آنها اعتماد نکنید! می توانید این اعداد را برای محیط خود با استفاده از ابزارهای مدیریت آرایه ذخیره سازی، کلاینت vCenter یا vScsiStats که جزئیات بیشتری را در اختیار شما قرار می دهند بدست آورید.
دومین عاملی که معمولا در محاسبه مقدار ذخیره سازی نادیده گرفته می شود نسبت Read/Write است. این مقدار نشان می دهد که چند Spindle برای پشتیبانی بار کاری در نوع خاصی از پیکربندی RAID مورد نیاز است. طبق همان مقاله که توسط PQR منتشر شد "به طور متوسط IOPS هشت تا ده عدد در هر کلاینت است و نسبت Read/Write بین 40/60 درصد و 20/80 درصد است". در مستندسازی VMware نسبت Read/Write به این صورت ذکر شده است: 70/30، 60/40 و 50/50. یکی از مشتریان من نسبت Read/Write 18/82 را داشته است.

read write ratio

همچنین نسبت Read/Write تعیین می کند که چه مقدار از بار کاری I/O شما توسط Cache ذخیره‌سازی مدیریت می شود. برای مورد فوق فقط 45 درصد از کل Cache ،I/O شد.
توصیه من این است که اگر مقدار I/O را هنگام طراحی نمی دانید محافظه کار باشید. در این مورد باید پروفایل I/O متوسط یا سنگین را در نظر بگیرید با نسبت Read/Write (خواندن و نوشتن) 50/50. اگر با مقالاتی روبرو شدید که در مورد بار کاری دسکتاپ، Read را بیشتر از Write در نظر می گیرند احتیاط کنید، چون به احتمال زیاد این چیزی نیست که در عمل با آن روبرو خواهید شد.
نوع RAID، تعداد Spindleهای مورد نیاز برای پشتیبانی از بار کاری را بسته به مقدار IOPS و نسبت Read/Write تعیین می کند. مخصوصا نسبت نوشتن، چون RAID بسته به این که از چه نوعی باشد می تواند مقدار Write Penalty را افزایش دهد. Write Penalty در RAID5 برابر با 4 است در حالی که این مقدار در RAID10 برابر با 2 است.


VM IO = VM Read IO + (VM Write IO * RAID Penalty)


Replica Tier
می توانید از فرمول بالا به خوبی استفاده کنید، اما VMware View 4.5 این قابلیت را دارد که یک Datastore خاص را انتخاب کند که در آن دیسک های Replica میزبانی می شوند. معمولا این Datastore مخزنی از SSDها است که IOPS و Throughput بهتری را فراهم می کند. این بدین معنی است که کل IOPS در یک ماشین مجازی بین چند Datastore تقسیم می شود و نسبت Read/Write در اینجا کمک چندانی نمی کند، چون Replica Datastore تقریبا همیشه می خواند و Linked Clone Datastore تقریبا همیشه می خواند/می نویسد.
اگر در طراحی خود به دنبال Storage Tiering هستید نهایتا می توانید به چیزی مثل شکل زیر برسید.

storage tiering

مساله اصلی در اینجا این است: ذخیره سازی خود را ابتدا برای بهترین عملکرد تنظیم کنید و سپس از داده های بار کاری استفاده کنید تا محیط مناسب خود را بدست آورید. داده های از پیش تعیین شده و داده های موجود ممکن است مناسب بار کاری شما نباشند که نهایتا به محیطی نامناسب منجر خواهند شد. قدر مسلم این است که با این وضع کاربر نهایی دچار مشکل خواهد شد و این مشکلی نهایی است که در محیط VDI می توانید با آن مواجه شوید. می توان گفت کل VDI در تجربه کاربر نهایی و مقبولیت برای او خلاصه می شود. اگر کاربر نهایی تجربه خوبی نداشته باشد، مقبولیت کاهش می یابد یا شاید اصلا مقبولیتی وجود نداشته باشد.
بعد از این تفاصیل باید بگویم من VDI Calculator خود را منتشر کردم. یکی از ویژگی های جدید آن این است که IOPS مورد نیاز برای پشتیبانی از بار کاری را بر اساس پروفایلِ از پیش تعیین شده، نوع RAID و نسبت Read/Write نشان می دهد. مقدار IOPS نسبت به LUN و همچنین به صورت کلی نشان داده می شود. به علاوه، IOPS می تواند توسط کاربر تعریف شود.

vdi calculator

*منبع

برچسب ها: read/write, IOPS, LUN, Datastore, Storage Tiering, دسکتاپ مجازی, VMware View, VDI, ذخیره سازی, SCSI

Submit to DeliciousSubmit to DiggSubmit to FacebookSubmit to Google PlusSubmit to StumbleuponSubmit to TechnoratiSubmit to TwitterSubmit to LinkedIn