سخت افزارهایی مانند دستگاههای Storage و شبکه، هنگام نوشتن دادههای اضافی در يك سیستم Storage توزیعشده مانند vSAN، از مواردی هستند كه بيشترين تاثير را بر روی عملكرد می گذارند. هدف vSphere و vSAN تعیین کارآمدترین روش برای ارائه داده در موقعيتهايی است كه لازم است انعطافپذيری حفظ شود. Hypervisor نيز بايد بتواند همزمان با بهبود قابليتهای سختافزار، پيشرفت نماید.
مقدماتی در مورد طرحهای قرار دادن داده در vSAN
vSAN از روشهای مختلف به انعطافپذيری دادهها دست می يابد، یک روش ذخيره كردن یک کپی يا نسخه پشتيبان از داده یا به عبارتی يك Object در vSAN در يك يا چند مكان يا Host است. این نسخه همسان Object در مکانی دیگر از كلاستر قرار می گيرد تا انعطافپذیری ایجاد کند. سطح انعطافپذیری در Storage Policy اختصاصيافته، تعریف شده و vSAN كه بقيه كارها را بر عهده دارد، آن را در كلاستر قرار میدهد تا به نتیجه مطلوب برسد. سطح عدم FTT = 1 هنگام استفاده از RAID-1 Mirroring، دو نسخه از اين Object ایجاد میکند. FTT = 2 سه نسخه و FTT = 3 چهار نسخه ازاين Object ایجاد میکند.
در شکل پایین قابلیت انعطافپذیری دادههای Object از طريق RAID-1 Mirroring می باشد، Data Mirroring یک طرح ساده جايگذاری دادهها است که از حداقل سربار محاسباتی استفاده میکند اما در عين حال از همين مقدار ظرفيت در منطقه ديگری از كلاستر استفاده می كند تا Object را در سطح انعطافپذيری مورد انتظار كاربر حفاظت كند.
راه دیگر vSAN برای دستیابی به انعطافپذیری استفاده از Erasure Codes است. Erasure Coding روشی است برای تقسیم اطلاعات در يك سری محدوده فيزيكی به روشی که دسترسی به دادهها را در صورت از بین رفتن هر يك از بخش ها حفظ كند. در خصوص vSAN، كدهای Erasure عمل String دادههای دارای Parity را در سطح Hostها انجام می دهند. بر خلاف RAID-1 Mirror كه در آن دو نسخه داده وجود دارد، باد استفاده از RAID 5/6 Erasure Coding تنها يك Instance از Object ايجاد خواهد شد. دادههای دارای Parity برای تأمین این انعطافپذیری در Hostها پخش می شوند.
آموزش فعال وغیرفعالسازی سرویس vSAN
ویدیوهای بیشتر درباره vSAN
Objectای که با استفاده از Erasure Coding (RAID-5) به آن FTT =1 اختصاص داده شده، در صورتی که در یک قسمت مثلا Host خرابی اتفاق بیفتد، دسترسپذیری را حفظ و دادهها را بین چهار Host پخش خواهد کرد. Objectای که با استفاده از Erasure Coding (RAID-6) به آن FTT=2 اختصاص داده شده، در صورت خرابی دو قسمت، آن دادهها را بین 6 Host پخش خواهد كرد. باید به خاطر داشت که Objectای که از Erasure Coding استفاده میکند، بین همه Hostها پخش نمیشود. رویکرد vSAN مقیاسپذیری ساده و در شرایط خرابی، انعطافپذیری بالاتری ارائه میدهد.
در شکل بالا انعطافپذیری دادههای Object از طریق RAID-5 Erasure Coding مشاهده می شود، مزیتی که Erasure Codes در مقایسه با Mirroring دادهها دارد، قابلیت پیشبینی کارآیی فضاست. ایجاد انعطافپذیری در شرایط خرابی یک قسمت FTT=1 برای یک Object با استفاده از Erasure Coding تنها 1.33x از ظرفیت یک Object واحد را مصرف میکند. ایجاد انعطافپذیری در شرایط خرابی مضاعف یا FTT=1 برای یک Object با استفاده از Erasure Coding تنها 1.5x از ظرفیت یک Object واحد را مصرف میکند. با روش Mirroring، شرايط FTT = 1 و FTT = 2 به ترتیب 2 برابر و 3 برابر ظرفیت مصرف میکنند.
Erasure Coding اگرچه ظرفيت كمتری مصرف می كند، استفاده بيشتری از CPU و منابع شبكه دارد، برای تمام دادههایی كه جديدا نوشته شده يا بهروز شدهاند، باید محاسباتی برای تکمیل Stripe با Parity صورت گيرد. اين محاسبات منجر به تقویت ذاتی I/O برای خواندن دادهها، محاسبه Parity و توزیع دادهها و Parity ميان Hostها میشود. نتيجه اين عمليات، تاثير بر عملكرد از منظر VM مهمان خواهد بود. ميزان اين تاثير به به سختافزار Host، سختافزار شبکه و خصوصیات بار کاری بستگی خواهد داشت.
برای ایجاد بهبود چه باید کرد؟
از بین بسیاری از موارد پیشرفت در عملكرد vSAN 7 U، یکی از آنها به عملکرد بهتر دادههای اختصاص داده شده با کدهای RAID-5/6 erasure codes كمك می كند. اصلاحات انجامشده مرتبط با به نحوه و زمان محاسبه Parity توسط vSAN و نيز بهینهسازی نحوه خواندن دادهها و اطلاعات قديمی Parity برای نوشتن دادهها و Parity جدید توسط vSAN است. vSAN 7 U2 فرآيند Caching قطعات دادههای قدیمی را که برای دادهها در ستونهای دیگر همان ردیف خوانده میشوند، برای Stripe 3+1 یا 2=4 بهبود می بخشد. این فرآيند به كاربر کمک میکند تا اطلاعات Parity را بدون آن كه متحمل هزينههای خواندن و ديگر سربارهای اين خواندنها شود، به روز نمايد.
در تصویر بالا محاسبات بهبوديافته برای Parity خواندن-اصلاح-نوشتن برای RAID-5/6 Erasure Coding در vSAN 7 U2 نشان داده شده است. به عبارت دیگر، روش خواندن، اصلاح، نوشتن با استفاده از Erasure Codes در vSAN 7 U2 كارآمدتر شده است. البته تنها محاسبات بهبود يافته است، به این معنی که هیچ تغییری ساختاری در طرح مورد استفاده برای دادههای دارای Parity در vSAN’s Erasure Codes وجود ندارد. حافظه استفاده شده برای اين قابليت بهبوديافته محاسبات Parity نه به قابليت Client Cache در vSAN ارتباطی دارد و نه باعث افزايش ميزان استفاده از حافظه در Host می گردد. كدام قسمتها و تا چه ميزان بهبود خواهند يافت؟
برای مشاوره رایگان و یا طراحی و اجرای زیرساخت شبکه و SDWAN با کارشناسان شرکت APK تماس بگیرید. |
این نوع بهینهسازی بیشترین فايده را برای Workloadهایی خواهد داشت كه از Storage Policy از نوع RAID-5 یا RAID-6 و انتشار انبوهی از نوشتههای پیدرپی استفاده می كنند. نوشتههای بزرگ و پی درپی به دنبال آن هستند که قسمتهای بیشتری از یک Stripe را بنويسند يا به روز نمايند و از اين آخرين بهينهسازی بيشترين بهره را ببرند.
هزینه CPU کاهش یافته برای هر I/O نه تنها به نفع VMای كه از Erasure Code Storage Policy استفاده می كند، بلكه به نفع همه VMهای موجود در محيط است، چرا كه عملكرد با كارآيی ارتباط تنگاتنگی دارد.
Storage Policy به كاربر اين امكان را می دهد تا ببيند آيا اين بهبود، امكان اجرای يك Workload خاص در فضايی كممصرفتر اجرا كند يا خير. شاید كاربری سعی کرده باشد از RAID-5/6 در Workload قبلی استفاده کند، اما Erasure Code تركيبشده با سختافزار اصلی او کاملاً مطابق با الزامات عملکرد برنامه كاربردی نیست. كاربر بعد از ارتقا به vSAN 7 U2، میتواند VMDK Object ،VM يا گروههای VM را به استفاده از RAID-5/6 Erasure Code گمارد و منتظر بماند هماهنگی مجدد انجام شود تا ببيند در اين صورت الزامات برآورده می شوند يا خير. او بايد به خاطر داشته باشد كه اگر همچنان نيازها برآورده نشدهاند، ممكن است مشكل از عملكرد دستگاههای Storage، شبكه او يا برخی فاكتورهای ديگر در Stack باشد.
كاربر شاهد چه ميزان پيشرفت خواهد بود؟ پاسخ به اين سوال به Workload و قابلیتهای Host و سختافزار شبکه او بستگی دارد. تقویت I/O و محاسبه CPU ذاتاً با استفاده از RAID-6 نسبت به RAID-5 بهتر صورت ميگيرد، بنابراین RAID-6 مزيت بيشتری برای بهينهسازی ها دارد تا RAID-5. نوشتههای انبوه ممكن است سود بيشتری نسبت به نوشتههای پی درپی داشته باشد، چرا كه ويژگی هاي فيزيكی Tier ظرفيت كاربر ممكن است محدوديتهای بيشتری بر مورد دوم اعمال كند.
بیشتر بخوانید: بررسی ORACLE در VMWARE vSAN به عنوان یک مدل عملیاتی قدرتمند
سیستمهایی که محدود به ویژگیهای سختافزار فیزیکی قابليتهاي دستگاه Storage و محدوديتهای فابريك شبكه نيستند، نسبت به آنهايی كه محدود به اين موارد هستند، بيشتر پيشرفت می كنند. اگر در جای دیگری ازStack، نوشتههای پیدرپی و بزرگ مثلا k256 كه از RAID-5/6 Coding استفاده می كنند، در برخی شرایط ممکن است تا 50٪ بهبود یابند. از آنجا که فعالیت I/O در دنیای واقعی برای Workload مشخص، اغلب ترکیبی از الگوها و اندازههایی است که دائما تغییر میکنند، پیشرفت ممکن است فقط در یک سری شرایط خاص صورت پذیرد، که البته چیز خوبی می باشد، چون معمولا همان شرایط خاص ایجاد نگرانی میکند.
Erasure Codes روشی کاملاً کممصرف برای ذخیره دادههای زائد است. VMware همچنان به دنبال روشهایی است که بتواند خلا در مبادلات طراحی را هنگام استفاده از گزینههای تعیینکننده بهرهوری فضا مانند Erasure Coding در vSAN کاهش دهد. بهبودهای عملکردی که در اینجا شرح داده شده و به vSAN 7 U2 اضافه شده، نمونه بارزی از این امر است. سختافزاردارای سرعت بالاتر همچنان امكان عملكرد بهتر را بيشتر فراهم می كند و VMware مصمم است خود را با آن هماهنگ سازد.