آشنائی با RAID، انوع آن و کاربردها-1

۲۶ بهمن ۱۳۸۷

آشنائی با 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 كيلوبايت ديگر در ديسك سوم نوشته‏مي‏شود.

این خبر برگرفته از سایت http://www.iritn.com می باشد.


 
جستجو
Breitling Watches
Indiana University Online Degrees Buy Tramadol