منبع اصلی نوشتار زیر در این لینک قرار دارد

معرفی RAID های سطح 0،1،5 و RAID های 01 و 10

RAID مخفف Redundant Array of Independent Disks که شامل تعدادی دیسک وابسته به هم به طوری که داده ها بر روی آنها توزیع می شوند. چگونگی توزیع داده ها بر روی دیسک های RAID به سطح  RAID بستگی دارد. در واقع سیستم عامل دیسک های RAID را به عنوان تنها به عنوان یک واحد می بیند. RAID دارای “تحمل خطا” یا “fault tolerant” است زیرا داده ها به صورت تکراری بر روی دیسک های RAID تکرا می شوند. حتی اگر یک یا دو دیسک از کار بی افتند بازهم سیستم عامل به داده ها دسترسی داشته و از “از کار افتادن دیسک ها” بی خبر خواهد ماند.به طور کلی از RAID برای دو هدف زیر استفاده می شود :

  • برای افزایش توان کارایی (performance) تکنیکی به نام striping یا سطح صفر استفاده می شود.
  • برای افزایش توان تحمل در برابر از کار افتادن دیسک و از دست رفتن داده ها از راه افزونگی (redundancy) که همان پخش یا تکرار داده ها بر روی دیسک هاست، استفاده می شود.

RAID سطح صفر یا Stripping

RAID سطح صفر یا RAID0 برای افزایش کارایی پردازنده و بالا بردن سرعت I/O استفاده می شود. نوشتن داده ها بر روی یک دیسک کند است زیرا به ازای هر همل نوشتن یا بهتر بگویم “هر عمل I/O” پردازنده بی کار خواهد ماند. در سیستم های عامل وقتی فرایندی درخواست عمل I/O را می کند، این درخواست توسط درایور دیسک پاسخ داده می شود و پردازنده در این مدت بیکر بوده و خود فرایند نیز به حالت wait می رود تا عمل I/O تمام شود. اما نوشتن بر روی دیسک های مجزا یا خواندن از دیسک های مجزا بسیار سریعتر خواهد بود و در این حالت دیگر پردازنده بی کار نخواهد ماند. در واقع در RAID0 داده به صورت تکه هایی (chunks) بر روی دیسک های نوشته خواهد شد.

هر دیسک داده های مجزایی را نگه می دارد. در سطح صفر یا RAID0 “تحمل خطا” یا “fault tolerant” وجود ندارد اما همانطور که گفته شد به دلیل خواندن/نوشتن از/بر روی دیسک های مجزا بالا است، پس کارایی نیز بالا خواهد رفت. نیازمندی، ویژگی ها و معایب RAID0 :

  • نیاز به حداقل دو دیسک (می تواند بیشتر هم باشد).
  • کارایی و سرعت بسیار بالا.
  • تکرار داده ها را نداریم، پس تحمل خطا نیز وجود ندارد.

RAID سطح یک یا Mirroring

RAID سطح یک یا RAID1 که به Mirroring معروف است، داده های مشابه بر روی دیسک های دیگر نیز نوشته می شوند. حداقل به دو دیسک برای نوشته شدن همزمان داده های مشابه بر روی آنها لازم است. مزیت RAID1 فراهم کردن صد در صد Redundancy است. فرض کنید که دو دیسک برای RAID1 انتخاب شده باشد، هر کدام از آنها حاوی داده های یکسانی هستند، پس اگر یکی از آن دیسک ها از کار بی افتد، بازهم داده از دیسک دیگری قابل دسترسی است.

نیازمندی، ویژگی ها و معایب RAID1 :

  • حداقل به دو دیسک برای پیاده سازی نیاز است.
  • کارایی بالا وجود دارد.
  • صد در صد Redundancy وجود دارد.

RAID سطح پنج یا Parity

Parity روشی استفاده شده برای ساخت مجدد در مواردی که دیسک دچار نقص می شود و از کار بی افتد. Parity از یک عملگر باینری به نام XOR استفاده می کند. عملکر XOR بدین صورت است که نتیجه XOR (که Exclusive or یا  دو بیت غیر همسان (یعنی 0xor1 و یا 1xor0) یک خواهد شد.

در RAID5 بیت پریتی در دیسک ها توزیع می شود. اگر دیسکی از کار بی افتد می توانید داده های انرا مجددا توسط بیت (داده) پریتی دیسک دیگر بسازید.

برای پیاده سازی RAID5 حداقل به سه دیسک نیاز است. در واقع در RAID5 بخش های مختلف داده (مانند فایل) بر روی دو دیسک نوشته می شود و بیت پریتی این دو دیسک بر روی دیسک سوم نوشته می شود. فرض کنید دیسک اول از کار می افتد پس برای ساخت مجدد آن، بیت های دیسک دوم و بیت پریتی دیسک سوم باهم XOR می شوند تا بیت از دست رفته دیسک اول بازسازی شود. همانطور که در شکل بالا می بینید تکه های A1 و A2 و A3 به ترتیب بر روی دیسک های اول، دوم و سوم و بیت پریتی آنها بر روی دیسک چهارم نوشته می شود. نیازمندی، ویژگی ها و معایب RAID5 :

  • برای پیاده سازی آن حداقل به سه دیسک نیاز است که این بر خلاف RAID های سطح صفر و یک است که برای پیاده سازی حداقل به دو دیسک نیاز داشتند.
  • کارایی بالا مانند RAID0. همانطور که در شکل بالا مشاهده می کنید، مانند RAID0 داده ها بر روی دیسک های مختلف پخش شده اند، پس کارایی و سرعت بالا دارد.
  • به علت توزیع شدن بیت پریتی بازیابی اطلاعات از دسته رفته بالا است.

سطوح RAID تودرتو

سطح های RAID های تودرتو که گاهی Hybrid RAID که ترکیبی از دو یا چند سطوح گوناگون RAID تشکیل شده اند. دو RAID تودرتوی مطرح، RAID01 و RAID10 می باشد که در ادامه توضیح داده می شوند.

  • RAID0+1 یا RAID01

RAID0+1 که RAID01 و گاهی اواقات stripe of mirrors نیز نامیده می شود که برای پیاده سازی حداقل به چهار دیسک نیاز دارد. هر جفت دیسک به صورت RAID0 پیاده سازی می شود که دو پیاده سازی RAID0 مانند شکل زیر حاصل می شود و سپس این دو پیاده سازی RAID0 با یکدیگر به صورت RAID1 (یا همان Mirroring) پیاده سازی می شوند. منظور از stripe of mirrors نیز به همین مطلب شاره می کند که بر روی RAID0، سطح یک یا RAID1 قرار می گیرد که در شکل زیر مشاهده می کنید.

همانطور که در شکل بالا می بینید 4 دیسک به به دو گروه دوتایی RAID0 تشکیل شده اند و این دو گروه نیز در غالب یک RAID1 پیاده سازی شده است. در هر گروه دوتایی از RAID0 داده ها بر روی دیسک ها مانند آنچه که درباره RAID0 گفته شد، پخش می شود و سپس این جفت گروه به صورت Mirroring داده های یکسانی را مانند آنچه که درباره RAID گفته شد، خواهند داشت. حال فرض کنید که 6 دیسک دارید، می توانید مطابق شکل زیر آنها را به گروه های سه تایی از RAID0 تبدیل (RAID0 را بر روی آنها پیاده سازی کنید) و سپس بر روی این جفت گروه RAID1 پیاده سازی کنید.

  • RAID1+0 یا RAID10

 اساس و پایه RAID1+0 شبیه به RAID0+1 اما پیاده سازی آن عکس RAID0+1 است که “mirror of stripes” نیر نامیده می شود. حداقل سه دیسک برای پیاده سازی لازم است. اما در اغلب موارد مانند RAID0+1 از چهار دیسک (مانند شکل زیر) استفاده می شود. با فرض اینکه چهار دیسک در دسترس باشد، نخست این چهار دیسک در به دو گروه دوتایی که بر روی آنها RAID1 پیاده سازی شده است تبدیل می شوند. مااند آنچه که برای RAID1 گفته شد داده های مشابه بر روی جفت دیسک های هر گروه تکرار و کپی می شوند، سپس بر روی این دو گروه، RAID0 پیاده سازی می شود.

فرض کنید که شش دیسک مانند شکل زیر در اختیار داریم. پس نخست این شش دیسک به سه گروه دوتایی که RAID1 بر روی آنها پیاده سازی شده است، تبدیل می شوند و سپس RAID0 بر روی این سه گروه مانند آنچه که در شکل زیر می بینید پیاده ساری می شود. دلیل اینکه در شکل دوم از RAID0+1 که 6 دیسک را به دو گروه سه تایی تبدیل کردیم و سپس روی این جفت گروه RAID1 پیاده سازی کردیم.

در مورد دو RAID0+1 و RAID1+0 اینکه هر دوی آنها دارای کارایی و فضای ذخیره ساری یکسانی هستند. اما در RAID0+1 “تحمل خطا” یا “fault tolerance” نسبت به RAID1+0 کمتر است. اگر یک دیسک از هر گروه RAID0 در RAID0+1 از کار بی افتد، کل RAID01 از کار می افتد.



برچسب ها : ,