Storage Spaces Direct در ویندوز سرور 2016

در این مقاله قصد آشنایی با ویژگی‌های Storage Spaces Direct در ویندوز سرور 2016 را داریم.

اساسا 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، پنجاه درصد می‌باشد، یعنی برای نوشتن ۱ ترابایت داده حداقل ۲ ترابایت ظرفیت ذخیره‌سازی فیزیکی مورد نیاز است. همچنین حداقل دو     Fault Domain سخت‌افزاری همراه با  Storage Spaces Direct مورد نیاز است که به معنای دو سرور می‌باشد.

لازم به ذکر است، در صورت وجود بیش از دو سرور، استفاده از Mirroring Three-Way توصیه می‌شود.

فرآیند  Two-way Mirroring-PHF

 

 

 

فرآیند  Three-way Mirroring

در این فرآیند از تمامی موارد، سه نسخه تهیه می‌شود و کارایی Storage به میزان ۳۳.۳ درصد است یعنی برای نوشتن ۱ ترابایت داده حداقل ۳ ترابایت ظرفیت ذخیره‌سازی فیزیکی مورد نیاز است. همچنین حداقل سه Fault Domain  سخت‌افزاری همراه با Storage Spaces Direct مورد نیاز است که به معنای سه سرور می‌باشد.

با استفاده از این فرآیند، امکان تحمل حداقل دو Crash سخت‌افزاری (درایو یا سرور) به صورت همزمان و به شکلی ایمن فراهم می‌گردد. به عنوان مثال، در صورت  نمودن یک سرور در هنگام خرابی درایو یا سرور دیگر، کلیه داده‌ها ایمن و قابل دسترس باقی می‌مانند.

فرآیند  Three-way Mirroring-phf

 

مفهوم فرآیند 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 که در ادامه مقاله به بررسی آن می‌پردازیم، توصیه می‌گردد.

 

Single Parity-phf

 

 

قابلیت های Dual Parity

این فرآیند به اجرای کدهای تصحیح خطای Rees-Solomon می‌پردازد تا دو نماد Bitwise Parity را حفظ نموده و در عین حال قابلیت FT را همچون Three-Way Mirroring (تا دو خطا در آن واحد) البته با کارایی بهتر Storage ارائه نماید. این فرآیند شباهت زیادی به RAID-6 دارد و برای استفاده از آن باید حداقل چهار Fault Domain سخت‌افزاری همراه با Storage Space Direct  وجود داشته باشد که به معنای نیاز به چهار سرور است. در این مقیاس، کارایی Storage به میزان ۵۰ درصد می‌باشد یعنی برای ذخیره  ۲ ترابایت داده، ۴ ترابایت ظرفیت ذخیره‌سازی فیزیکی مورد نیاز است.

کارایی Storage  در Dual Parity  موجب افزایش ۵۰ تا ۸۰ درصدی Fault Domain سخت‌افزاری می‌شود. مثلا در رابطه با هفت سرور که دارای Storage Space Direct باشند، کارایی به ۶۶.۷ درصد می‌رسد. به عنوان مثال برای ذخیره ۴ ترابایت داده باید ۶ ترابایت ظرفیت ذخیره‌سازی فیزیکی در اختیار داشت.

قابلیت های Dual Parity-phf

 

 

قابلیت خودترمیمی به صورت ترکیبی

Storage Spaces Direct Volume  ارائه شده درWindows Server 2016 را می‌توان به دو بخش Mirror و Parity  تقسیم نمود. فرآیند Write‌ در ابتدا در بخش Mirror بوده و سپس به تدریج وارد بخشParity  می‌گردد. به این ترتیب، از فرآیند Mirroring جهت تسریع فرآیند Erasure Coding استفاده می‌گردد.

باید در نظر داشت که جهت ترکیب Three-Way Mirror و Dual Parity حداقل چهار  Fault Domain مورد نیاز است که به معنای ۴  سرور می‌باشد.

کارایی Storage در قابلیت خودترمیمی (Resiliency) به صورت ترکیبی، متوسط کارایی در حالتی است که به طور کامل از Mirror  یا Parity استفاده می‌شود و به نسبت انتخابی آن دو بستگی دارد.

انواع خودترمیمی

در زیر به انواع خود ترمیمی یا Resiliency و تحمل خرابی آن می پردازیم:

خودترمیمی-phf

 

 

 

نیازمندیهای کمترین مقیاس

نیازمندی های کمترین میاس-hf

 

تعداد Fault Domain بیانگر تعداد سرورها می‌باشد مگرآنکه از Chassis یا Rack Fault Tolerance استفاده شود. ضمن اینکه تا زمانی که حداقل الزامات مورد نیاز Storage Spaces Direct تامین گردد، تعداد درایوها در هر سرور نمی‌تواند نوع قابلیت خودترمیمی مورد استفاده را تحت تاثیر قرار دهد.

در صورتی که کاربر بیش از دو سرور در اختیار داشته باشد، توصیه می‌گردد که به دلیل تحمل خطای بیشتر از Three-Way Mirroring و یا Dual Parity استفاده نماید. بدین ترتیب امنیت و قابلیت دسترسی داده‌ها حتی زمانی که دو Fault Domain همراه با Storage Spaces Direct (یعنی دو سرور) تحت تاثیر Failureهای هم‌زمان قرار می‌گیرند، تضمین می‌گردد.

حال به بررسی شرایطی می‌پردازیم که در صورت بروز Failure نیز تمام ‌Volumeها به صورت آنلاین باقی می‌مانند:

مواردی که بیانگر قابلیت تحمل Three-Way Mirroring و Dual Parity می‌باشند:

۱- از دست رفتن یک درایو (شامل درایوهایCache )

۲- از دست رفتن یک سرور

pfh

 

۳- از دست رفتن یک سرور و یک درایو

۴- از دست رفتن دو درایو در سرورهای مختلف

 

- از دست رفتن یک سرور-pfh

 

۵- ازدست رفتن بیش از دو درایو و تاثیرپذیری حداکثر دو سرور

۶- از دست رفتن دو سرور

 

۵- ازدست رفتن بیش از دو درایو و تاثیرپذیری حداکثر دو سرور-pfh

 

در تمامی موارد فوق، تمامی  Volumeها آنلاین خواهند ماند (کلاستر باید در حالت Quorum باشد)

در شرایط زیر تمامی ‌Volumeها به حالت آفلاین در میایند:

Storage Spaces قادر است در طول عمر خود هر تعدادی از Failure را تحمل نماید، زیرا بعد از هر Failure در صورت در اختیار داشتن زمان کافی می‌تواند به طور کامل قابلیت خودترمیمی را بازیابی نماید. با این وجود، حداکثر دو  Fault Domain  به صورت ایمن و در زمان مورد نظر تحت تاثیر  Failure‌ها قرار خواهند گرفت. با توجه به موارد مذکور، در ادامه نمونه‌هایی ارائه می‌گردد که Three-Way Mirroring و یا Dual Parity قادر به تحمل آن نمی‌باشند:

۷- از دست رفتن درایوها در سه یا تعداد بیشتری سرور به صورت هم‌زمان

۸- از دست رفتن سه یا تعداد بیشتری از سرورها به صورت هم‌زمان

۷- از دست رفتن درایوها در سه یا تعداد بیشتری سرور به صورت هم‌زمان-pfh

 

 

حداقل سخت افزار مورد نیاز برای
Storage Spaces Direct

حال به بررسی حد اقل سخت افزار مورد نیاز برای Storage Spaces Direct در ویندوز سرور 2016 می‌پردازیم.

Servers

  • Minimum of 2 servers, maximum of 16 servers
  • All servers should be the same make and model

CPU

  • Minimum of Intel Nehalem or later compatible processor

Memory

  • 4 GB of RAM per terabyte (TB) of cache drive capacity on each server, to store Storage Spaces Direct metadata.
    Note that RAM sizes use base-2 numbering (where 1 GB = 1,024 MB), while drives are advertised using base-10 numbering (where 1 TB = 1,000 GB). For example, if each server has 2 x 1.6 TB (advertised capacity) cache drives, you should keep 2 x 1.6 x 4096 MB = 13,107 MB (12.8 GB) of memory available for Storage Spaces Direct internal use.
  • Any memory used by Windows Server, VMs, and other apps or workloads.

Networking

  • Minimum of 10 Gbps network interface for intra-cluster communication
  • Recommended: Two NICs for redundancy and performance
  • Recommended: NICS that are remote-direct memory access (RDMA) capable, iWARP or RoCE

Minimum number of drives

  • If there are drives used as cache, there must be at least 2 per server
  • There must be at least 4 capacity (non-cache) drives per server

 

pfh2

 

 

آشنایی با ویژگی های Storage Spaces Direct در ویندوز سرور 2016 نویسنده:مهندس کسری ناطق

admin