آشنایی با Raid و انواع آن

با جستجو در فرهنگ لغت اين معاني را مي‏توانيم براي واژه‏يraid بيابيم :  تاخت و تاز ،‌يورش ،‌ورود ناگهاني پليس ،‌حمله‏ي مسلحانه ،‌جريمه ،‌اختلاس ،‌مورد حمله و تاخت و تاز قراردادن ،‌در حمله شركت كردن ، هجوم آوردن و ... .   واژه‏يraidمعمولاً براي افسران پليس دورنمايي از يك حادثه‏است براي غافلگيركردن و دستگيري مجرمان. اما در صنعت كامپيوتر ،‌معناي RAID بسيار متفاوت است. كه در اين‏جا استفاده مي‏شود نيرويي است براي بهبود كارآيي در يك سيستم.

چند اصطلاح

Fault tolerance يا تحمل خطا

براي اين‏‎كه ما بتوانيم به طور مداوم و بدون هيچ مشكلي سيستم خود را فعال نگه داشته و از داده‏هاي باارزش محافظت كنيم ،‌روش ‏هاي مختلفي وجود دارد. برخي از اين روش‏ها آن كارهايي است كه ما به‏طور معمول انجام مي‏دهيم . مثلاً ذخيره داده‏ها بر روي CD و يا ايجاد فلاپي ديسك‏هاي سيستمي و ديسك‏هاي نجات (Rescue Disk ) . و يا امكاناتي كه به ويژه در ويندوز 2000 وجود دارد تا ما بتوانيم در صورت خرابي بخشي از فايل‏هاي سيستم عامل ،‌آن‏ها را دوباره بازسازي كنيم. با اين كارها در حقيقت ما مي‏خواهيم تحمل سيستم را در برابر مشكلات افزايش دهيم. ولي مي‏دانيم كه اين كارها به تنهايي كافي نيست.

تحمل خطا : هر مكانيسم يا فناوري كه به يك كامپيوتر يا يك سيستم عامل امكان مي‏دهد تا در صورت ازكارافتادن بتواند دوباره Recover شود (بهبود يابد). در سيستم‏هاي تحمل خطا وقتي يكي از اجزا از كار افتاد ،‌داده‏ها باز هم قابل دسترسي هستند.


چند نمونه از روش‏هاي تحمل خطا


**فايل‏هاي گزارش عملكرد (Transactional log files) كه در رجيستري ويندوز نگهداري مي‏شوند و امكان بازيابي را به ما مي‏دهند.
**UPS ( مولد بدون وقفه برق ) براي محافظت سيستم در برابر نوسان يا قطع برق
** RAID ( آرايه‏اي از ديسك‏ها )

RAID (Redundancy array of inexpensive disk )

RAID يكي از موارد افزايش تحمل خطاي سيستم است. RAID (آرايه‏اي افزايشي از ديسك‏هاي ارزان) در سال 1987 در دانشگاه بركلي كاليفرنيا بنيان‏گذاري شد. در مقاله‏ي با عنوان ” بررسي آرايه‏هاي افزايشي از ديسك‏هاي ارزان ” كه توسط katz ،‌ Gibson و Patterson معرفي شد. ( البته در خيلي جاها ، مانند كتاب‏هاي مايكروسافت ، واژه‏ي ” ارزان” با واژ‏ي ”مستقل” جايگزين مي‏شود ،كه به نظر مي‏رسد به دليل اهميت آن در بحث RAID استفاده از آن بهتر باشد ، اما قديمي‏ترين آن‏ها همان چيزي است كه در سال 1987 ارايه شده ‏است‌.) موضوع موردبحث اين مقاله ارايه يك ميانگين براي بهبود قابليت اعتماد و نيز كارآيي در سيستم‏هاي ذخيره‏سازي بود. و مفهوم آغازين آن شامل گروه‏بندي درايوهاي ديسك ارزان و كوچك در يك آرايه است به طوري كه در سيستم عامل به صورت يك SLED (ديسك منفرد بزرگ وگران ) ديده مي‏شوند. RAID نقطه‏ي مقابل SLED است و كارايي ،‌ ظرفيت و قابليت اعتماد بيشتري نسبت به آن دارد.

روش‏هاي مختلفي براي تركيب چند هارد ديسك در يك آرايه ، بسته به نياز برنامه‏هاي كاربردي ، وجود دارد. اما در همه‏ي حالات استفاده از چندين درايو نتايجي چون : افزايش گنجايش ، امنيت داده و كارآيي درايوها (exceed the capacity, data security, and performance) را به دنبال خواهد داشت. به ياد داشته باشيد كه اين روش‏ها روش‏هاي خيلي ارزاني نيستند و هميشه با پيچيدگي و هزينه‏هاي زيادي همراهند.
از زمان اختراع كامپيوتر تا به حال كدهاي نرم‏افزاري رشد زيادي داشته‏اند. و اين رشد نياز به يك محيط ذخيره‏سازي بزرگ را افزايش داده‏است و ابداع شبكه‏هاي محلي و اينترنت نيز اين نياز را شديدتر كرده‏است. مبناي كار RAID فضاي ديسك است و توانسته‏است با تركيب فضاي هاردديسك‏هاي كوچك با هم در يك مخزن بسيار بزرگ مشكلات را برطرف كند.

MTBF‌ (ميانگين زماني كه از يك Fail تا Fail ديگر صرف‏مي‏شود ) در آرايه برابر است با MTBF يك درايو منحصر بفرد تقسيم بر تعداد درايوهاي موجود در آرايه. در اين صورت MTBF يك آرايه غير افزايشي خيلي كم است. و RAID با ارايه‏ي روش‏هاي مختلف و با ذخيره‏ي اطلاعات افزايشي مي‏تواند در اين مورد نيز سودمند واقع شود.
RAID با توزيع عمليات خواندن / نوشتن روي چند ديسك مي‏تواند كارآيي هاردديسك‏ها را افزايش دهد.( ما در اين مبحث فقط در مورد هارد ديسك بحث مي‏كنيم چون اين اصطلاح‏ها براي ساير حافظه‏هاي جانبي از قبيل CD_ROM ، zip drive ، floppyبه كار نمي‏رود.)

پيش از اينRAIDبه دليل هزينه‏هاي بسيار بالاي سخت‏افزار مورد نياز آن ،‌ بيشتر براي كاربردهاي تجاري با حوزه‏اي محدود به‏كار مي‏رفت. ولي در چند سال‏ها اخير اين امر دچار تغيير شده‏است ، از ميان تمام سروصداهايي كه براي بهبود كارايي و استفاده بهتر از زمان مي‏شود ،‌ RAID توانسته راه خود را باز كند و يك پله بالاتر از همه قراربگيرد. افزايش كنترلرهاي RAID ارزان كه مي‏توانند با نسخه‏ي مصرف‏كننده‏ي IDE/ATA كاركنند ( مانند آن‏چه واحدهاي گران‏قيمت SCSI انجام مي‏دهند) اشتياق همگان را به RAID افزايش داده‏است. و اين گرايش شايد ادامه يابد.در حال حاضر نيز تعداد زيادي از سازندگان مادربورد ،‌بوردهاي خود را با حمايت از استاندارد RAID به بازار عرضه‏ مي‏كنند . متاسفانه RAID در زمينه‏ي كامپيوتر به طور واقعي اشكالات را برطرف نمي كند. با اين حال اگر به طور صحيح اجراشود ،‌ مي‏تواند زمان از كارافتادگي را از بين ببرد.

Striping


Striping اساس كار RAID است. در اين روش چندين هارد ديسك يا به طور كلي چندين درايو طوري با هم تركيب مي‏شوند كه به صورت يك واحد ذخيره‏سازي منطقي ديده شوند. در Striping فضاي ذخيره‏سازي هر درايو در نوارهايي ،‌كه مي‏توانند كمتر از يك سكتور (512 بايت ) يا بيشتر از چندين مگابايت باشند ، ‌بخش‏بندي مي‏شود. اين Stripe ها ،كه ما آن را ” نوار ” ترجمه كرده‏ايم ، در يك تناوب چرخشي كنار هم قرارمي‏گيرند ، در نتيجه فضاي نهايي به دست آمده تركيبي است از نوارهاي هر درايو. به بياني ساده‏تر داده‏ها به جاي اينكه به طور كامل در يك درايو ذخيره‏شوند و در صورت نياز ادامه‏ي عمليات ذخيره‏سازي آن‏ها در درايوهاي ديگر دنبال شود ، به صورت نواري در سرتاسر آرايه ذخيره‏مي‏شوند. نوع محيط عملياتي تعيين مي‏كند كه ما بايد از نوارهاي كوچك استفاده كنيم يا بزرگ.
امروزه بيشتر سيستم عامل‏ها ازعمليات I/O همزمان روي چند درايو حمايت مي‏كنند.با اين حال براي به‏دست آوردن حداكثر توان خروجي براي يك زيرسيستم ديسك ،‌ سنگيني بار عمليات I/O بايد روي چند درايو توزيع شود ،‌تا اين‏كه هر درايو تا جاي ممكن مشغول فعاليت باشد و هيچ درايوي بدون استفاده يا با فعاليت كمتر وجود نداشته باشد. در سيستم هاي چند درايوي كه از Striping استفاده نمي‏كنند بار I/O ديسك هيچ‏گاه به طور كامل متوازن نمي‏شود. چون برخي درايوها شامل فايل‏هاي داده خواهندبود كه مكرراً به آن‏ها مراجعه مي‏شود و برخي درايوها به ندرت مورد استفاده قرارمي‏گيرند.
بوسيله‏ نواري كردنِ (Striping) درايوهاي آرايه و ايجاد نوارهايي كه به اندازه‏ي كافي بزرگ هستند ، ‌به طوري كه هر گروه از ركوردها به طور كامل در يك نوار قرارگيرند ،‌ تعداد ركوردهاي بيشتري مي‏توانند در تمام درايوها به طور مساوي توزيع شوند. اين كار در مواقعي كه load سنگين وجود دارد تمام درايوها را مشغول نگه مي‏دارد. و به تمام درايوها اجازه مي‏دهد تا به طور همزمان عمليات مختلف ورودي/خروجي انجام دهند. و به اين صورت تعداد عمليات ورودي/خروجي كه مي‏تواند در آرايه انجام شود افزايش مي‏يابد.

سطوح مختلف RAID

سطوح مختلفي براي RAID در نطرگرفته شده‏است. اما بايد توجه داشت كه وقتي از سطوح مختلف RAID صحبت مي‏كنيم منظور ما كيفيت ذخيره‏سازي داده‏ها نيست.بلكه منظور ما شيوه‏اي است كه براي ذخيره‏ي داده‏ها در آرايه ‏هاي هارد ديسك به كارگرفته مي‏شود.

RAID 0

به اين نوع از RAID ،‌ Striping نيز گفته مي‏شود. در RAID 0 شامل آرايه‏اي از درايوهاي ديسك به صورت غير افزايشي است. ( يعني علاوه بر داده‏هاي اصلي ، هيچ درايو ديگري براي نگهداري نسخه‏ي ديگري از داده‏ها وجود ندارد) در RAID 0پريتي نيز وجود ندارد.براساس آن‏چه در مورد Striping گفتيم براي يك مجموعه‏ي RAID 0 ،‌كنترل كننده‏ي RAID داده‏ةا را به صورت نواري روي چند درايو قرارمي‏دهد. اما اساساً چه دليلي وجود دارد كه داده‏ها را در بلوك‏هايي از چندين درايو بنويسيم. بخشي از پاسخ اين پرسش در توضيح Striping گفته شد ،‌اما بگذاريد بيشتر در اين مورد بحث كنيم. فرض كنيد شما 10 بلوك داده داريد ( A , B ,C , ... ) . در يك هارد ديسك استاندارد ،‌ داده‏ها بايد به اين صورت ذخيره شوند : ابتدا بلوك A ، سپس بلوك B‌، سپس بلوك C و ... در اين‏صورت اگر نياز به دستيابي به 10 بلوك داشته باشيم ،‌كنترل كننده بايد تمام داده‏ها را فقط يك هارد ديسك داشته‏باشد. در RAID 0،‌داده‏ها بين هارد ديسك‏ها تقسيم مي‏شوند. پس اگر شما 3 ديسك Stripe شده داشته‏باشيد ،‌ داده‏هاي بلوك Aدرهاردديسك صفر ، داده‏هاي بلوك B در هارد ديسك يك و داده‏هاي بلوك C در هارد ديسك سوم بايد ذخيره‏شوند.

در اين روش به طور همزمان مي‏توانيم عمليات نوشتن را بر تمام درايوها انجام دهيم و نيز عمليات خواندن داده‏ها نيز مي‏تواند به‏طور موازي انجام شود. پس مدت زمان خواندن و نوشتن ، ‌بسته به تعداد درايوهاي موجود در آرايه كم و كمتر مي‏شود.توجه كنيد كه در اينجا داده‏ي افزايشي وجود ندارد. تا زماني‏كه داده‏ها به صورت نواري شكل در تمامي هارد ديسك‏ها قراردارند ،‌ RAID 0 سريع‏ترين و مناسب‏ترين روش از ميان تمامي حالات RAID است. و بهترين كارمفيد و كارآيي را در ذخيره‏سازي داده‏ها ارايه مي‏دهد. ولي بايد گفت كه هيچ‏گونه تحمل خطايي ندارد. اگر يكي از ديسك‏ها دچار مشكل شود ، تمام آرايه از كار مي‏افتد و هيچ راهي براي بازگرداندن داده‏هاي از دست رفته وجود ندارد.در RAID 0 ،‌كارآيي به اندازه‏ي بلوك‏ها بستگي دارد . اگر اندازه‏ي آن‏ها خيلي كوچك باشد دستورات براي اجرا در عمليات نوشتن متمركز مي‏شوند ، علاوه بر آن به دستورات واسط سخت‏افزاري بيشتري نياز است. بهينه سازي اندازه‏ي بلوك‏ها باعث مي‏شود كه افزايش توان عملياتي كار مي‏شود ، به ويژه براي درخواست‏هاي موازي براي خواندن داده‏ها. اندازه‏ي بلوك‏ها قابل تنظيم است . ولي شما بايد بيت به بيت آزمايش كنيد تا به نتيجه‏ي مطلوب برسيد. اما يكي از تقاط شروع خوب براي حداقل اندازه‏ي بلوك 16 كيلوبايت است. براي محيط‏هاي چندكاربره مي‏توانيم آرايه را با نوارهاي بزرگ تنظيم كنيم. براي سيستم‏هاي تك‏كاربره كه به طور مداوم با ركوردها سروكار دارند نيز مي‏توان اندازه‏ي نوارهاي موجود در آرايه را كوچك تر در نظر گرفت.به طور نمونه اندازه‏ي فايل 48 كيلوبايت است. 16 كيلوبايت از اين فايل روي ديسك اول ،‌16 كيلوبايت در ديسك دوم و 16 كيلوبايت ديگر در ديسك سوم نوشته‏مي‏شود.

RAID 1

به اين سطح ،‌mirroring نيز گفته مي‏شود. و اساساً يك تركيب از دو هارد ديسك است كه اطلاعات يكي از اين دو ،‌عيناً روي ديگري كپي مي‏شود و در كامپيوتر به صورت يك درايو نمايش داده‏مي‏شود.تحمل خطا در RAID 1 وجود دارد.چراكه اگر يكي از ديسك‏ها از كار بيفتد آرايه مي‏تواند همچنان به فعاليت خود ادامه دهد. به دليل اين‏كه هم‏زمان از دو هارد ديسك استفاده مي‏شود ،‌ زمان خواندن سريعتر مي‏شود.روشي كه در اين‏جا براي خواندن داده‏ها به‏كارگرفته مي‏شود ، زمان‏بندي Round-robin ( روح سرگردان ! )‌نام دارد. كه سرور براي خواندن داده‏ها مرتباً از يك هارد به هارد ديگر مي‏رود و عملاً زمان را بين دو هارد ديسك تقسيم مي‏كند.سرعت خواندن در اين جا دوبرابر سرعت خواندن از يك درايومنفرد فاقد‌mirroring است. با اين حال در موقع نوشتن ، داده‏ها بايد روي دو هارد ديسك نوشته‏شوند. و عملاً مي‏بينيم كه در مدت زمان نوشتن تغييري حاصل نخواهدشد.نسبت به ساير انواع آرايه‏هاي افزايشي ،‌اين سطح بهترين كارآيي را دارد. ولي از لحاظ رتبه در هنگام ازكارافتادن درايو ،‌نسبت به RAID 5 كارآيي كمتري دارد.بزرگترين عيب اين سطح ،‌هزينه‏اي است كه براي درايوهاي اضافي آن پرداخت مي‏شود.

به هر حال هيچ‏چيز ارزان به دست نمي‏آيد و براي داشتن يك سيستم امن و كارآ بايد هزينه‏هاي زيادي پرداخت چراكه اگر سيستم ازكار بيفتد يا حتي براي ساعاتي متوقف شود ، هيچ هزينه‏اي نمي‏تواند جايگزين داده‏ها و اطلاعات باارزش ازدست رفته ما باشد. Duplexing : در بيشتر متونِ منبع در مورد آرايه‏هاي ديسك (RAID ) در ادامه‏ي مبحث RAID 1 به موضوعي اشاره‏شده كه به آن Duplexing گفته مي‏شود. اما Duplexing چيست؟اساساً Duplexing در مواقعي مورد بررسي قرار خواهد گرفت كه ما خواسته‏باشيم RAID را به صورت نرم‏افزاري اجراكنيم . مثلاً بوسيله‏ي سيستم عامل ويندوز 2000 يا XP .( در فصل‏هاي بعدي توضيحات كامل‏تري از RAID نرم‏افزاري و سخت‏افزاري خواهيم آورد‌)در روش استفاده هارد ديسک ها با استفاده از کنترلرهای يکسان مشكل اين است كه يك كنترلر هم درايو اصلي و هم درايو آيينه‏اي را كنترل مي‏كند. اگر كنترل كننده ديسك از كار بيفتد هر دو درايو غير قابل دسترسي مي‏شوند . تكنيكي كه براي جلوگيري از اين مشكل پيشنهاد مي‏شود Duplexing است. يعني اين‏كه براي هر ديسك يك كنترلر جداگانه استفاده كنيم.


RAID 2

در RAID 2 نيز از روش Striping استفاده مي‏شود و داده‏ها به صورت نوارهاي سكتوري ذخيره مي‏شوند . و بعضي از درايوهاي آرايه براي اطلاعات ECC در نظرگرفته مي‏شوند.با وجود اين‏كه اين سطح به‏ندرت در كاربردهاي تجاري استفاده شده‏است ولي بيان‏گر مفهوم ديگري از تضمين داده‏ها ست. هر بيت داده كه روي هارد ديسك‏ها نوشته‏مي‏شود ، كد تصحيح خطا يا ECC مربوط به خود را دارد. اين كدها روي درايوهاي جداگانه ذخيره مي‏شوند و به منظور حفاظت از يكپارچگي و سلامت داده‏ها مورد استفاده قرار مي‏گيرند.ECC ارزش‏هاي عددي داده‏هاي ذخيره‏شده بر روي بلوك‏هاي مشخص در درايو مجازي را با استفاده از فرمولي به نام check-sum ( جمع كنترلي ) جدول بندي مي‏كند. سپس در صورت نياز ،‌ جمع كنترلي براي تاييد سلامت داده‏ها به انتهاي بلوك داده الحاق مي‏شود.

هنگامي كه داده‏ها مجدداً خوانده مي‏شوند ، جدول بندي ECCمجدداً محاسبه مي‏شود . سپس جمع كنترلي هر بلوك داده‏ي خاص ،‌خوانده شده و با آخرين جدول بندي مقايسه مي‏شود. چنانچه اعداد همانند باشند داده‏ها بدون نقص هستند ، اما اگر تناقضي وجود داشته‏باشد ، داده‏ها ي از دست رفته با استفاده از اولين جمع كنترلي (يا جمع كنترلي قبلي )‌به عنوان يك نقطه‏ي مرجع ،‌قابل محاسبه‏ي مجدد هستند.از اين سطح به ندرت استفاده مي‏شود. به دليل اين‏كه تمام هارد ديسك‏ها امروزه اطلاعات ECC را در هر سكتور جاسازي مي‏كنند ،‌ RAID 2مزيت قابل توجهي نسبت به ساير نمونه‏هاي RAID ندارد . (‌ ضمناً كنترلرهاي Adaptec اين سطح را پشتيباني نمي‏كنند)


RAID 3

امروزه ،‌بسيار كم مورد استفاده قرار مي‏گيرد. RAID 3خيلي شبيه RAID 2 مي‏باشد . و اطلاعات را به صورت سكتوري روي گروهي از درايوها stripe مي‏كند. تفاوت آن اين‏است كه يك درايو جداگانه براي ذخيره‏ي داده‏هاي پريتي درنظر مي‏گيرد. RAID 3 بر داده‏هاي ECC جاسازي شده در هر سكتور براي رديابي اشكالات ، تكيه دارد. اگر درايوي از كار افتاد ، به‏وسيله‏ي XOR كردن اطلاعات موجود روي ساير درايوها ،‌عمليات بازيابي را انجام مي‏دهد.
اين سطح در واقع انطباقي از RAID 0 است كه مقداري از طرفيت هر يك از درايوها را قرباني مي‏كند اما به سطح بالايي از سلامت اطلاعات و تحمل خطا دست‏يابد.در اين حالت ، بلوك‏هاي داده به نوارهايي تقسيم شده و بر روي تمام درايوهاي درون آرايه به جز يكي از آن‏ها نوشته مي‏شوند. اطلاعات موازنه‏ي نوار كه براي بررسي سلامت داده در تمام درايوهاي درون زيرسيستم مورد استفاده قرار مي‏گيرند د رهنگام نوشتن داده‏ها ، ايجاد شده و بر روي ديسك پريتي ،‌نوشته مي‏شوند. درايو موازنه نيز به نوارهايي تقسيم شده‏است و هر يك از اين نوارها در درايو موازنه براي نگهداري اطلاعات پريتي مربوط به نوارهاي داده‏ي متناظر آن كه در سراسر آرايه گسترده شده ، مورد استفاده قرار مي‏گيرد. اطلاعات موازنه هنگام خواندن داده‏ها بازبيني مي‏شود.

اين شيوه با خواندن يا نوشتن داده‏ها بر روي تمام درايوها به طور هم‏زمان يا به صورت موازي توانايي انتقال داده بسيار بالايي را در اختيار قرار مي‏دهد ولي در عين حال مزيت بازسازي داده در صورت از كارافتادن يكي از درايوها و حفظ سلامتي داده‏ها براي سيستم را نيز از دست نمي‏دهد.ركوردهايي كه در تمام درايوها گسترده شده‏اند ، نرخ انتقال را در ديسك بهينه مي‏كنند.به دليل اين‎كه هر درخواست I/O به چندين درايو از آرايه دسترسي دارد. در اين سطح RAID در يك زمان فقط به يك درخواست پاسخ داده مي‏شود. و براي محيط‏هاي تك كاربره ، تك كاره با ركوردهاي طولاني ،‌ بهترين كارآيي را دارد. درايوهاي spindle همگام شده (؟) براي پرهيز از پايين آمدن كارآيي در مقابل كار با ركوردهاي كوچك به RAID 3 نيازدارند. ( به دليل اين‏كه RAID 5 با نوارهاي كوچك مي‏تواند همان كارآيي RAID 3 را داشته‏باشد،‌ (كنترلرهاي Adaptec اين نمونه را نيز پشتيباني نمي‏كنند)

RAID 4


RAID 4 با RAID 3 يكسان است . به جز اين‏كه از نوارهاي بزرگ‏تري استفاده‏ مي‏كند.به همين دليل ركوردها از هر درايو جداگانه مي‏توانند خوانده‏شوند(‌البته به جز درايو پريتي). اين عمل اين امكان را مي‏دهد تا عمليات خواندن به اشتراك گذاشته‏شود. در هنگام نوشتن ،‌عمليات آهسته مي‏شود جون پس از ذخيره شدن داده‏ها بر روي يك ديسك ،‌بايد اطلاعات پريتي نيز در درايو مربوط به پريتي نوشته شوند. به هرحال با هر بار عمل نوشتن بايد پريتي به روزآوري شود و لذا درايوها در موقع نوشتن نمي‏توانند مشتركاً استفاده شوند. اين ساختار مزيت ويژه‏اي نسبت به ساير حالات ندارد و كنترلرهاي Adaptec اين نمونه را پشتيباني نمي‏كنند.در يك جمله مي‏توان گفت كه استفاده از نوارهاي بزرگ‏تر ( معمولاً دو بلوك ) در RAID 4 به نرم‏افزار مديريت RAID امكان مي‏دهد تا با استقلال بيشتري نسبت به RAID 3 به اداره‏ي ديسك‏ها بپردازد.

RAID 5

اساساً RAID 5 شبيه RAID 1 است . با اين تفاوت كه RAID 5 براي هر نوار از داده‏ها يك پريتي ذخيره مي‏كند. اما در مقايسه با RAID 1 عمليات نوشتن آهسته‏تر است. زيرا يك زمان اضافي براي نوشتن اطلاعات پريتي نياز است.در موقع نوشتن اطلاعات RAID 5 تقريباً 60 درصد آهسته‏تر از RAID 1 عمل مي‏كند. عمليات خواندن هم هيچ تغييري پيدا نمي‏كند.براي رسيدن به بهترين كارآيي ، RAID 5 بايد يك فضاي ذخيره‏سازي داشته باشد برابر با حاصل جمع فضاي تمامي هارد ديسك‏ها منهاي 1.بعضي مواقع به اين سطح از RAID ،‌” آرايه با پريتي چرخشي ” نيز گفته‏مي‏شود. چرا كه مانند RAID 4 پريتي‏ها را در يك درايو جداگانه جمع نمي‏كند و اين اطلاعات را در تمام آرايه و بر تمام درايوها توزيع مي‏كند.هيچ درايو منحصر بفردي براي ذخيره‏ي اطلاعات پريتي وجود ندارد. تمام درايوها شامل داده هستند و عمليت خواندن مي‏تواند از تمام درايوها به صورت مشترك انجام شود. براي نوشتن اطلاعات نيز به يك درايو داده و نيز يك درايو ديگر براي ذخيره‏ي اطلاعات پريتي نياز داريم. با توجه به اين‏كه ،‌پريتي ركوردهاي مختلف روي درايوهاي ديگر قرارمي‏گيرد ،‌عمليا ت نوشتن معمولاً مي‏تواند به اشتراك گذاشته شود.بيشترين استفاده از RAID 5 در سرورها و شبكه‏هاي محلي مي‏باشد ، ‌جايي كه فضاي ذخيره‏سازي و تحمل خطا بسيار اهميت دارد. در اين روش نيازي به وجود درايو آيينه وجود ندارد . زيرا اگر يكي از ديسك‏هاي اصلي از كار بيفتد ، سرور اطلاعات از دست رفته از نوارهاي پريتي ذهيره شده روي ديگر درايوها بازسازي مي‏كند. براي اجراي RAID 5 ،‌حداقل به سه هارد ديسك نياز داريم.


RAID سخت افزاري يا نرم افزاري ؟ كدام يك بهتر است؟

بستگي دارد به هدف و ميزان هزينه شما و انتظاراتي كه شما داريد. RAID نرم افزاري از طريق يك سيستم عامل تنظيم مي شود و به طور ذاتي كارايي كمتري نسبت به كنترلرهاي سخت افزاري RAID دارد. اين به علت فقدان سخت افزار اختصاصي براي مديريت آرايه هاي RAID است. اما بايد گفت كه تنظيم آن، دست كم موقع استفاده از Windows XP Professional، نسبت به سيستم هاي مبتني بر سخت افزار ساده تر و انعطاف پذير تر است.دومين عامل در زمينه بررسي و انتخاب نوع RAID، اين است كه آيا شما مي خواهيد سيستم عامل تان قسمتي از آرايه باشد يا خير؟ بزرگترين محدوديت در انجام RAID در ويندوز XP اين است كه سيستم عامل بايد قبل از ايجاد آرايه RAID نصب شود. به اين معنا كه اگر شما بخواهيد ديسك سيستم عامل خود را Strip كنيد، براي افزايش سرعت Loading راهي جز رفتن به سمت كنترلرهاي RAID سخت افزاري نداريد.بنابراين اگر بدون ايجاد درايوهاي Strip شده ، مي خواهيد حداكثر استفاده را ببريد يا اگر براي Backup هاي خود نياز داريد كه از RAID استفاده نماييد از مادربردي استفاده كنيد كه كنترلر RAID را به صورت Onboard در خود دارد و يا اينكه از يك كارت كنترلر PCI استفاده كنيد. اما اگر مي خواهيد سرعت درايوهاي Stripped را امتحان كنيد به سراغ RAID نرم افزاري برويد كه همان طور كه گفتيم در ويندوز XP, 2000 اين امکان فراهم شده است و ضمناً آسانتر و ارزانتر نيز مي باشد.

تجهيزات RAID از بخش هاي زير تشكيل شده است

جدول RAID براي تعريف تنظيمات آرايه هاي RAID، ساختارهاي داده به منظور ذخيره Discriptionها براي Cache كردن داده ها، موتورها براي محاسبه اطلاعات توازن ( Parity ) ، بخش منطقي براي هندل كردن ورودي/خروجي ها از آرايه هاي RAID. اين قسمت ها (Components ) ممكن است به صورت نرم افزاري ارائه شوند( مثل حالت kernel-mode ) يا اينكه درون كنترلرها جاسازي شده باشند. در RAID نرم افزاري يكي از مشكلات اين است كه به دليل مراجعه زياد CPU و اجزاي آرايه و ترافيك بالاي داده اي كه جريان پيدا مي كند مشكلاتي براي ساير نرم افزار