آشنائی با 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 و اجزاي آرايه و ترافيك بالاي داده اي كه جريان پيدا مي كند مشكلاتي براي ساير نرم افزارها بوجود آمده و در برخي موارد از كار افتادن سيستم را نيز به دنبال دارد.

نتيجه:
RAID نرم افزاري را در صورتي استفاده كنيد كه گستردگي كار شما زياد نباشد و يا براي مصارف خانگي و استفاده در محيط هاي كوچكي كه حجم درخواست ها و تعداد كاربران كمتري دارند استفاده کنيد. اما در محيط هايي با كاربران زياد و عمليات خواندن و نوشتن سنگين، RAID سخت افزاري تنها گزينه است. البته باز هم بستگي به نوع كار دارد.

نكته:
تمام روش ها و تكنيك هايي كه RAID ارائه مي دهد در جهت كاهش اثرات از كارافتادگي سيستم ها و سرورهاست و هيچگاه اين شيوه ها شما را از پشتيباني فايل ها (Backup ) بي نياز نمي كند. پس اگر قصد داريد كه RAID انتخاب كنيد باز هم روش هاي معمول خود براي گرفتن نسخه پشتيبان از داده ها و فايل ها ( به هر صورتي كه هست ) را ادامه دهيد.

RAID سخت افزاري :
بيشتر موارد جدي پياده سازي RAID ، از RAID سخت افزاري استفاده مي شود. به اين معنا كه برخلاف پردازش كنترلي آرايه توسط نرم افزار از سخت افزاري اختصاصي براي كنترل آرايه استفاده شود.در ادامه مزايا و معايب هر كدام از شيوه هاي RAID را بررسي مي كنيم.دو نوع RAID سخت افزاري وجود دارد، كه تفاوت اصلي اين دو نوع در چگونگي ارتباط آرايه با سيستم است.

» BUS-Based » يا كارت هاي كنترلر RAID سخت افزاري :
اين روش ، سنتي ترين و پر استفاده ترين نوع RAID سخت افزاري به ويژه براي سيستم هاي «» دست پايين»» است. يك كنترلر RAID در PC يا سرور نصب مي شود و درايوهاي آرايه به آن متصل مي شوند. اين كنترلر واسطه اي است بين سيستم و هارد ديسك هاي موجود در آرايه و معمولاً از اينترفيس هاي SCSI يا كنترلرهاي IDE/ATA براي اين منظور استفاده مي شود. داده ها از طريق BUS سيستم ( نوعا PCI ) به سراسر PC فرستاده مي شود. برخي مادربردها بويژه براي سيستم هاي سرور به همراه خود به صورت مجتمع، كنترلرهاي RAID را نيز دارند. اين كنترلرها در مادربرد جاسازي شده اند اما از لحاظ كاري تفاوتي با كارت هاي BUS-Based افزودني ندارند. (مانند آنچه كنترلرهاي IDE/ATA در مادربردهاي امروزي انجام مي دهند در مقايسه با سيستم هاي قديمي كه كنترلر IDE آن ها به صورت جداگانه به مادربرد افزوده مي شد ) تنها تفاوت كنترلرهاي مجتمع اين است كه هزينه اضافي را كاهش مي دهند.

كنترلرهاي RAID هوشمند و خارجي:
در اين طراحي كه مورد استفاده سيستم های «بالا دستي» قرار مي گيرد، كنترلر RAID به طور كامل از سيستم جدا شده و در يك جعبه جداگانه قرار داده شده است. درون جعبه، كنترلر RAID درايوهاي آرايه را مديريت مي كند (مثلاً با استفاده از SCSI ) و سپس درايوهاي منطقي از آرايه را در واسطه اي استاندارد به سرورهايي كه از آرايه استفاده مي كنند، ارايه مي دهد. سرور، آرايه يا آرايه ها را فقط به صورت يك يا چند هارد ديسك سريع مي بيند و RAID به طور كامل از ديد ماشين مخفي است. در حقيقت، هر يك از اين واحدها (كنترلرهاي خارجي ) واقعاً يك كامپيوتر درون خودشان دارند. به همراه يك پردازنده اختصاصي كه آرايه ها و فعاليت ها را مانند كانالي بين سرور و آرايه مديريت مي كند.
اجراي RAID به صورت BUS-Based ارزانتر و خيلي ساده تر از اجراي RAID به صورت اکسترنال است. محدوده قيمتي كارت هاي IDE/ATA حدود 100 دلار و در بالاترين حد با استفاده از وسايلي كه از امتيازات خاصي برخوردارند تا چند هزار دلار مي رسد.
اين در حالي است كه سيستم هاي كنترلرهاي خارجي RAID هنوز خيلي گران هستند اما از امتيازها و ويژگي هاي جذاب آن نمي توان چشم پوشيد! مثلاً قابليت توسعه زيادي نسبت به BUS-Based RAID دارند، (براي آرايه هاي بزرگ ، فضايي در حد ترابايت را نيز مي توانند پوشش دهند ) و مي توانند كارآيي بهتري ارايه كنند. اما هزينه اي كه بايد در ازاي اين سخت افزار پرداخت شود معمولاً در حدي نيست كه كاربران معمولي PCها از عهده آن برآيند يا حتي به آن فكر كنند!

توجه :
كنترلرهاي RAID خارجي نبايد با كيس هاي RAID خارجي اشتباه گرفته شود. اين كيس ها كه به Enclosure معروفند داراي Power وساختار فيزيكي خاص براي درايوهاي يك آرايه RAID هستند، اين كيس ها را بيشتر در محيط هاي بزرگ عملياتي كه با داده هاي زيادي با حجم بالا سروكار دارند مي بينيم. ضمناً مي توان تركيبي از كنترلرهاي RAID را با اين سيستم ها ايجاد كرد.در اكثر حالات تصميم گيري براي استفاده از RAID به صورت سخت افزاري مستلزم پرداخت هزينه هاي بالايي است.اگر شما از هر كدام از سطوح پيچيده و مبهم RAID مثل 1+0 مي خواهيد استفاده كنيد، قطعاً بايد به RAID سخت افزاري متوسل شويد چرا كه اين سطوح خاص در RAID نرم افزاري Support نمي شود. و نيز اگر به كارآيي بالا نياز داريد كه در زمان استفاده از سطوح محاسباتي و قدرتي RAID به دست مي آيد انتخاب RAID سخت افزاري الزامي است. به دليل اينكه RAID5 نرم افزاري ممكن است در مواردي براي شما دردسر آفرين باشد.

RAID نرم افزاري:
در مورد RAID نرم افزاري پيش از اين نكاتي گفتيم. حال نگاهي گذرا داريم به مزايا و معايب استفاده از آن:

مزاياي RAID نرم افزاري:

هزينه كم:
اگر قبلاً از سيستم عاملي استفاده كرده و مي كنيد كه RAID را پوشش مي دهد، ديگر نيازي به پرداخت هزينه هاي اضافي نيست. فقط ممكن است نيازداشته باشيد كه حافظه سيستم تان را بالا ببريد.
ساده بودن: نيازي به نصب، تنظيم و مديريت يك كنترلر سخت افزاري نيست.
Duplexing: در بخش اول اين مقاله (شماره 6 ماهنامه) Duplexing را توضيح داديم. در
سطح RAID1 نرم افزاري مي توان از اين شيوه استفاده كرد اما در سخت افزار نه. (البته بسته به نوع كنترلر)

معايب RAID نرم افزاري:
كارآيي پايين:
براي مديريت آرايه ، چرخه هايCPU ( CPU Cycles ) ربوده مي شوند و كار ساير بخش هاي نرم افزاري و سخت افزاري دچار مشكل مي شود. در اصل اين مشكل براي سطوح ساده مثل سطح 1 چندان مهم نيست اما براي سطوح پيچيده اي چون سطح 5 خيلي اهميت پيدا مي كند.
محدوديت Boot Volume:
سيستم عامل نمي تواند از طريق آرايه RAID بوت شود و به يك پارتيشن غير RAID براي بالا آوردن سيستم نياز است كه باعث افزايش زمان بالا آوردن سيستم مي شود.
عدم پوشش سطوح مختلف به طور كامل:
RAID نرم افزاري محدود است به سطح خاصي مانند 0،1 و5 و سطوح جذاب RAID، بيشتر سخت افزاري هستند. ( به جز Duplexing كه قبلاً توضيح داده شد )
عدم حمايت از ويژگي هاي پيشرفته :
اين نوع RAID، از ويژگي اي پيشرفته اي چون Hot Spares و Drive Swapping حمايت نمي كند.
ناسازگاري با سيستم عامل ها :
اگر RAID را براي يك سيستم عامل مشخص تنظيم كنيد، فقط آن سيستم عامل مي تواند به آرايه دسترسي داشته باشد و در صورت نصب ساير سيستم عامل ها قابل دسترس نخواهد بود، و مشكلاتي را براي محيط هايي با چند سيستم عامل كه مي خواهند از RAID استفاده كنند به دنبال خواهد داشت.
ناسازگاري نرم افزاري:
برخي نرم افزارهاي سودمند مثل Partition Magic و برنامه هايي از اين قبيل ممكن است با آرايه هاي نرم افزاري تداخل داشته باشند.
عدم اعتبار و قابليت اطمينان:
برخي كاربران به خاطر باگ هايي كه ممكن است ضمن استفاده از RAID پيش بيايد از آن پرهيز مي كنند، هر چند كنترلر هاي سخت افزاري RAID هم از اين مشكلات دارند اما، نسبت به RAID هاي سخت افزاري با كيفيت خوب بعضي سيستم عامل ها هم هستند كه در برابر اين مشكلات تحمل بيشتري دارند.

منبع:www.iritn.com

Advertisements

Posted on فوریه 4, 2009, in آموزش, سخت افزار and tagged , , , , , , , , , , . Bookmark the permalink. بیان دیدگاه.

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s

%d وب‌نوشت‌نویس این را دوست دارند: