تا کنون ۹ سطح متفاوت RAID پیادهسازی شدهاست که عبارتند از:
RAID 0 | ||
RAID 1 | ||
RAID 2 | ||
RAID 3 | ||
RAID 4 | ||
RAID 5 | ||
RAID 6 | ||
RAID 10 یا RAID 1+0 | ||
RAID 01 یا RAID 0+1 |
RAID 0: در این سطح، اطلاعات به بلوکهایی با اندازههای مساوی تقسیم و هر بلوک به یک دیسک منتقل میگردد. به عنوان مثال اطلاعات به بلوکهای A و B با اندازههای مساوی تقسیم و به دیسکها منتقل میشوند. این روش اغلب توسط تکنیک striping استفاده میگردد و باعث افزایش سرعت خواندن و نوشتن اطلاعات میشود.
پیش از استفاده توجه داشته باشید، RAID 0 روشی برای مقابله با از دست رفتن اطلاعات نیست. بهعبارتی در این روش هیچگونه کپی از اطلاعات تهیه نمیشود و هنگامی که یکی از دیسکها با مشکل برخورد کند، اطلاعات کاملا از دست خواهد رفت که البته میتوان با پرداخت هزینه اطلاعات را تا حدودی بازیابی نمود.
RAID 1: این نوع RAID با نام Mirroring نیز شناخته میشود و اطلاعات یکسان بر روی چندین دیسک نوشته میشود. در این روش حداقل دو دیسک لازم است که یک کپی از اطلاعات بهصورت مجزا در هر دیسک ذخیره میشود. در این حالت کارایی خواندن اطلاعات از هر دو دیسک افزایش پیدا میکند و میتوان اطلاعات را همزمان از هر دو دیسک خواند. همچنین کارایی عمل نوشتن همانند حالتی میباشد که فقط یک دیسک بر روی سیستم وجود دارد.
در RAID 1 چنانچه یکی از دیسکها با مشکل مواجه شود، تا زمانی که دیسک جدید جایگزین دیسک معیوب شود، سیستم میتواند همچنان به کار خود ادامه دهد. این سطح سادهترین و آسانترین روش برای ایجاد یک کپی اطلاعات بر روی دیسک دیگر میباشد. اما معایبی در این روش وجود دارد و آن این است که هزینه دو دیسک توسط کاربر پرداخت میشود ولی فقط یک دیسک (۵۰ درص) آن قابل استفاده خواهد بود. بهعنوان مثال وقتی ۲ دیسک ۱ ترابایتی برای سیستم تهیه شود، با این روش فقط ۱ ترابایت آن توسط سیستم قابل استفاده خواهد بود.
RAID 2: این سطح RAID اطلاعات را با استفاده از تکنیک striping به دو قسمت تقسیم کرده و روی ۲ دیسک مینویسد. همچنین اطلاعات کنترلی خطا (ECC) را روی دیسک دیگر، در قالب بیتهای داده ذخیره میکند. برای محاسبه اطلاعات کنترل خطا از الگوریتم هامر (Hammer Code) استفاده میشود. در هنگام خواندن، داده با اطلاعات کنترلی تطابق داده میشود و اگر خطایی وجود داشتهباشد، تصحیح.
در سطح ۲ RAID سرعت خواندن اطلاعات با توجه به استفاده از روش striping افزایش یافته، اما به دلیل نیاز به خواندن اطلاعات ECC مقداری کاهش پیدا میکند.
RAID 3: دراین سطح پبکربندی RAID، روشStriping سطح بایت را با کیک دیسک Parity اختصاصی فراهم میکند.
یکی از اثرهای جانبی پیکربندی آرایه بهصورت RAID 3 این است که بهطور همزمان نمیتواند به درخواستهای متعددی سرویس دهد. زیرا که هر بلوک واحد از دادهها بر اساس تعریف در بین تمام دیسکهای عضور آرایه تقسیم شده و بر روی موقعیت یکسانی از آنها قرار میگیرد. به این ترتیب، هر عملیات I/O به فعالیت روی هر یک از دیسکها نیاز خواهد داشت که معمولا مستلزم چرخش هماهنگ آنها است. این پیکربندی برای برنامههایی که نیازمند نرخ بالایی برای خواندن و نوشتن اطلاعات به صورت ترتیبی می باشند، مناسب است.
RAID 4: این سطح از RAID از striping بلوک داده با یک دیسک parity اختصاصی استفاده میکند. اطلاعات دیسک parity برای بازگردانی اطلاعات از دست رفته به کار میرود؛ یعنی هنگامی که اطلاعات یک دیسک با مشکل مواجه شود، میتوان با استفاده از دیسک parity، دادههای از دست رفته را بازگردانی نمود.
RAID 4 حداقل ۳ دیسک لازم دارد که ۲ دیسک آن برای اطلاعات و یک دیسک برای parity استفاده میشود. در این سطح به دلیل اینکه دادهها به صورت striping ذخیره شدهاند سرعت خواندن اطلاعات افزایش پیدا میکند. ولی به دلیل اینکه دادههای parity نیز باید در یک دیسک مجزا ذخیره شوند، نوشتن اطلاعات کمی زمانبر خواهد بود.
RAID 5: در این سطح از RAID حداقل به ۳ دیسک نیاز است. همانند RAID 1 اطلاعات بهصورت Mirroring در دیسکها ذخیره میشود. همچنین یک کد parity در بین دیسکها پخش میشود که باعث افزایش کارایی میگردد و در هنگام بروز مشکل میتوان اطلاعات از دست رفته را توسط آن بازیابی کرد. در مقایسه با RAID 1 این سطح، سرعت کمتری در نوشتن اطلاعات دارد. زیرا زمانی هم برای نوشتن اطلاعات parity مورد نیاز است.
بیشترین استفاده از RAID 5 در سرورها و شبکهها است چون فضای ذخیره سازی و تحمل خطا برای آنها مهم است.
RAID 6: تا حدودی مشابه RAID 5 میباشد، با این تفاوت که دادهها را با استفاده از تکنیک striping به بخشهایی تبدیل کرده و دو مجموعه از اطلاعات parity را برای هر بلوک داده ذخیره میکند.
هدف از این کار بهبود تحمل خطای سیستم در هنگام مواجه با مشکلات احتمالی است. کارایی RAID 6 بهدلیل ایجاد سربار درهنگام محاسبه اطلاعات parity و همچنین نوشتن اطلاعات، کمی پایینتر از RAID 5 است ولی بهدلیل اینکه اطلاعات در بین چند دیسک تقسیم شدهاند، خواندن اطلاعات به صورت تصادفی کارایی را کمی افزایش میدهد.
RAID 10 (RAID 1+0): این نوع از RAID ترکیبی از RAID 0 و RAID 1 است. بهعبارتی هم عمل اشتراک اطلاعات و هم تکثیر آن انجام میگردد.
ترکیب دیسکها در RAID 10 کمی پیچیدهتر از سطح ۰ و ۱ است، همچنین کنترلر برای انجام این کار حداقل نیاز به ۴ هارد دیسک دارد.
ابتدا striping دادهها بین مجموعه دیسکها صورت گرفته و سپس Mirroring بین آنها اانجام میشود، بهعبارتی دیگر ابتدا RAID 0 بر روی دادهها اعمال میگردد و سپس بر روی هر بلوک از دادهها عمل Mirroring. تقسیم بلوکهای اطلاعات بین زوج درایوها انجام میگردد و عملیات Mirroring در هر زوج از درایوها صورت میگیرد، میتوان گفت درایو یک و درایو دو RAID 1 شدهاند و Mirror هستند، درایو سه و چهار نیز Mirror یکدیگر. این دو مجموعه درایو به صورت Strip تنظیم شده و با هم کار میکنند.
RAID 01 (RAID 0+1): در این سطح RAID نیز حداقل به ۴ دیسک نیازمندیم. عملکرد این سطح از RAID، برخلاف RAID 10 است. بدین صورت که در ابتدا اطلاعات بهصورت Mirroring به هرمجموعه دیسک منتقل میشود، هر مجموعه دارای یک جفت دیسک میباشد، سپس اطلاعات در این مجموعه به صورت striping بر روی دیسکها دخیره میشود.