در این مقاله پس از معرفی گزینههای خودترمیمی (Resiliency) در Storage Spaces Direct، به طور خلاصه شرایط توسعه، کارایی Storage، مزایای کلی و تبادلات هر یک از بخشها بیان میشود.
معرفی Storage Spaces Direct
اساسا Storage Spaces در ارتباط با ایجاد قابلیت تحمل خطا (Fault Tolerance) یا به اصطلاح متداول قابلیت خودترمیمی برای دادهها میباشد. پیادهسازی این تکنولوژی بسیار شبیه به RAID میباشد، با این تفاوت که در تمامی سرورها توزیع شده و در نرمافزار اجرا میشود.
Storage Spaceها نیز مانند RAID کار میکنند اما روشهای مورد استفاده آنها دارای تفاوتهای اندکی میباشد که موجب بروز تفاوت در قابلیت Fault Tolerance یا به اختصار FT، کارایی Storage و پیچیدگی محاسبه میگردد. این تفاوتها عمدتا در دو دسته بندی قرار میگیرد: Mirroring و Parity که با نام Erasure Coding نیز از آن یاد میشود.
بررسی Mirroring در Storage Spaces Direct
Mirroring با نگهداری چندین نسخه از کلیه دادهها میتواند قابلیت FT را ایجاد نماید که این روند شباهت زیادی به RAID-1 دارد. نحوه استقرار دادهها در این پیادهسازی حائز اهمیت میباشد و تمام دادههای ذخیره شده از طریق Mirroring چندین بار به صورت کامل و جامع نوشته میشوند؛ به علاوه هر یک از نسخهها بر روی سختافزارهای فیزیکی مختلف مثلا درایورهای مختلف بر روی سرورهای متفاوت، نوشته میشوند که طبق فرضیات این فرآیند به طور مستقل امکانپذیر نمیباشد.
در Windows Server 2016، دو نوع فرآیند Mirroring در Storage Spaces ارائه میگردد که عبارتند از: Two-Way و Three-Way.
فرآیند Two-way Mirroring
در این فرآیند از تمامی موارد، دو نسخه تهیه میشود و کارایی Storage، پنجاه درصد میباشد، یعنی برای نوشتن 1 ترابایت داده حداقل 2 ترابایت ظرفیت ذخیرهسازی فیزیکی مورد نیاز است. همچنین حداقل دو Fault Domain سختافزاری همراه با Storage Spaces Direct مورد نیاز است که به معنای دو سرور میباشد.
لازم به ذکر است، در صورت وجود بیش از دو سرور، استفاده از Mirroring Three-Way توصیه میشود.
فرآیند Three-way Mirroring
در این فرآیند از تمامی موارد، سه نسخه تهیه میشود و کارایی Storage به میزان 33.3 درصد است یعنی برای نوشتن 1 ترابایت داده حداقل 3 ترابایت ظرفیت ذخیرهسازی فیزیکی مورد نیاز است. همچنین حداقل سه Fault Domain سختافزاری همراه با Storage Spaces Direct مورد نیاز است که به معنای سه سرور میباشد.
با استفاده از این فرآیند، امکان تحمل حداقل دو Crash سختافزاری (درایو یا سرور) به صورت همزمان و به شکلی ایمن فراهم میگردد. به عنوان مثال، در صورت Reboot نمودن یک سرور در هنگام خرابی درایو یا سرور دیگر، کلیه دادهها ایمن و قابل دسترس باقی میمانند.
مفهوم فرآیند Parity
Parity Encoding که اغلب تحت عنوان Erasure Coding نیز از آن یاد میشود، امکان ایجاد قابلیت FT با استفاده از حساب بیتی (Bitwise Arithmetic) را فراهم مینماید که ممکن است از پیچیدگی بیشتری نیز برخوردار باشد. نحوه عملکرد این فرآیند نسبت به Mirroring کمی پیچیدهتر است اما کارایی بهتری را برای Storage میسر مینماید و در عین حال قابلیت FT را نیز در معرض تهدید قرار نمیدهد.
در Windows Server 2016، دو نوع از فرآیند Parity به صورت واحد و دوگانه (Single و Dual) توسط Storage Spaces ارائه میگردد. Dual Parity از یک تکنیک پیشرفته تحت عنوان کدهای بازسازی Local و در مقیاس بزرگتر استفاده مینماید.
Single Parity
این روش تنها یک نماد از Bitwise Parity را حفظ کرده و FT را فقط در صورت بروز یک Failure امکانپذیر مینماید. این مورد شباهت زیادی به RAID-5 دارد و برای استفاده از Single Parity باید حداقل سه Fault Domain سختافزاری همراه با Storage Direct موجود باشد که به معنای نیاز به سه سرور میباشد. از آنجاییکه Three-Way Mirroring میزان تحمل خطای بیشتری را در همان مقیاس ارائه مینماید، اشتیاقی برای استفاده از Single Parityدر کاربران وجود نخواهد داشت. اما در صورت تمایل کاربر به استفاده از آن در دسترس بوده و به طور کامل پشتیبانی میگردد.
دلیل توصیه به عدم استفاده از Single Parityاین موضوع میباشد که این روش صرفا میتواند یک Failure در سختافزار را به صورت ایمن تحمل نماید و در صورت Reboot نمودن یک سرور در هنگام خرابی درایو یا سرور دیگر، کاربر Downtime را تجربه خواهد کرد. در صورتی که سه سرور در اختیار کاربر باشد، استفاده از Three-Way Mirroring توصیه میشود و همچنین در صورت داشتن چهار سرور یا بیشتر استفاده از Dual Parity که در ادامه مقاله به بررسی آن میپردازیم، توصیه میگردد.
قابلیت های Dual Parity
این فرآیند به اجرای کدهای تصحیح خطای Rees-Solomon میپردازد تا دو نماد Bitwise Parity را حفظ نموده و در عین حال قابلیت FT را همچون Three-Way Mirroring (تا دو خطا در آن واحد) البته با کارایی بهتر Storage ارائه نماید. این فرآیند شباهت زیادی به RAID-6 دارد و برای استفاده از آن باید حداقل چهار Fault Domain سختافزاری همراه با Storage Space Direct وجود داشته باشد که به معنای نیاز به چهار سرور است. در این مقیاس، کارایی Storage به میزان 50 درصد میباشد یعنی برای ذخیره 2 ترابایت داده، 4 ترابایت ظرفیت ذخیرهسازی فیزیکی مورد نیاز است.
کارایی Storage در Dual Parity موجب افزایش 50 تا 80 درصدی Fault Domain سختافزاری میشود. مثلا در رابطه با هفت سرور که دارای Storage Space Direct باشند، کارایی به 66.7 درصد میرسد. به عنوان مثال برای ذخیره 4 ترابایت داده باید 6 ترابایت ظرفیت ذخیرهسازی فیزیکی در اختیار داشت.
ــــــــــــــــــــــــــــــــــــــــــــــــــــــ
بررسی قابلیت Fault Tolerance در Storage Spaces Direct – قسمت اول
بررسی قابلیت Fault Tolerance در Storage Spaces Direct – قسمت دوم (پایانی)