R A I D
Redundancy array of inexpensive disk))
و انواع آن
فهرست مطالب :
-مقدمه
-RAID چيست ؟
-سطوح مختلف RAID
RAID 0
RAID 1
RAID 2
RAID 3
RAID 4
RAID 5
RAID 6
RAID 7
RAID 10
RAID 53
RAID 0+1
-RAID سخت افزاري
-RAID نرم افزاري
- تفاوتها ( کدام بهتر است )
مقدمه :
RAID (آرايهاي افزايشي از ديسکهاي ارزان) در سال 1987 در دانشگاه برکلي کاليفرنيا بنيانگذاري شد. در مقالهي با عنوان ” بررسي آرايههاي افزايشي از ديسکهاي ارزان ” که توسط katz ، Gibson و Patterson معرفي شد. ( البته در خيلي جاها ، مانند کتابهاي مايکروسافت ، واژهي ” ارزان” با واژي ”مستقل” جايگزين ميشود ،که به نظر ميرسد به دليل اهميت آن در بحث RAID استفاده از آن بهتر باشد ، اما قديميترين آنها همان چيزي است که در سال 1987 ارايه شده است.) موضوع موردبحث اين مقاله ارايه يک ميانگين براي بهبود قابليت اعتماد و نيز کارآيي در سيستمهاي ذخيرهسازي بود. و مفهوم آغازين آن شامل گروهبندي درايوهاي ديسک ارزان و کوچک در يک آرايه است به طوري که در سيستم عامل به صورت يک SLED (ديسک منفرد بزرگ وگران ) ديده ميشوند RAID . نقطهي مقابل SLED است و کارايي ، ظرفيت و قابليت اعتماد بيشتري نسبت به آن دارد.
RAID چيست ؟
RAID يکي از موارد افزايش تحمل خطاي سيستم است . روشهاي مختلفي براي ترکيب چند هارد ديسک در يک آرايه ، بسته به نياز برنامههاي کاربردي ، وجود دارد. اما در همهي حالات استفاده از چندين درايو نتايجي چون : افزايش گنجايش ، امنيت داده و کارآيي درايوها (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 در زمينهي کامپيوتر به طور واقعي اشکالات را برطرف نمي کند. با اين حال اگر به طور صحيح اجراشود ، ميتواند زمان از کارافتادگي را از بين ببرد
سطوح مختلف RAID
سطوح مختلفي براي RAID در نطرگرفته شدهاست. اما بايد توجه داشت که وقتي از سطوح مختلف RAID صحبت ميکنيم منظور ما کيفيت ذخيرهسازي دادهها نيست.بلکه منظور ما شيوهاي است که براي ذخيرهي دادهها در آرايههاي هارد ديسک به کارگرفته ميشود.
RAID 0 يا Striping
به اين نوع از RAID ، Striping نيز گفته ميشود. Striping اساس کار RAID است. در اين روش چندين هارد ديسک يا به طور کلي چندين درايو طوري با هم ترکيب ميشوند که به صورت يک واحد ذخيرهسازي منطقي ديده شوند. در Striping فضاي ذخيرهسازي هر درايو در نوارهايي ،که ميتوانند کمتر از يک سکتور 512) بايت ) يا بيشتر از چندين مگابايت باشند ، بخشبندي ميشود. اين Stripe ها ،که ما آن را ” نوار ” ترجمه کردهايم ، در يک تناوب چرخشي کنار هم قرارميگيرند ، در نتيجه فضاي نهايي به دست آمده ترکيبي است از نوارهاي هر درايو. به بياني سادهتر دادهها به جاي اينکه به طور کامل در يک درايو ذخيرهشوند و در صورت نياز ادامهي عمليات ذخيرهسازي آنها در درايوهاي ديگر دنبال شود ، به صورت نواري در سرتاسر آرايه ذخيرهميشوند. نوع محيط عملياتي تعيين ميکند که ما بايد از نوارهاي کوچک استفاده کنيم يا بزرگ.
امروزه بيشتر سيستم عاملها ازعمليات I/O همزمان روي چند درايو حمايت ميکنند.با اين حال براي بهدست آوردن حداکثر توان خروجي براي يک زيرسيستم ديسک ، سنگيني بار عمليات I/O بايد روي چند درايو توزيع شود ،تا اينکه هر درايو تا جاي ممکن مشغول فعاليت باشد و هيچ درايوي بدون استفاده يا با فعاليت کمتر وجود نداشته باشد. در سيستم هاي چند درايوي که از Striping استفاده نميکنند بار I/O ديسک هيچگاه به طور کامل متوازن نميشود. چون برخي درايوها شامل فايلهاي داده خواهندبود که مکرراً به آنها مراجعه ميشود و برخي درايوها به ندرت مورد استفاده قرارميگيرند.
بوسيلهي نواري کردنِ (Striping) درايوهاي آرايه و ايجاد نوارهايي که به اندازهي کافي بزرگ هستند ، به طوري که هر گروه از رکوردها به طور کامل در يک نوار قرارگيرند ، تعداد رکوردهاي بيشتري ميتوانند در تمام درايوها به طور مساوي توزيع شوند. اين کار در مواقعي که load سنگين وجود دارد تمام درايوها را مشغول نگه ميدارد. و به تمام درايوها اجازه ميدهد تا به طور همزمان عمليات مختلف ورودي/خروجي انجام دهند. و به اين صورت تعداد عمليات ورودي/خروجي که ميتواند در آرايه انجام شود افزايش مييابد.
در 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 را در هر سکتور جاسازي ميکنند ،RAID2 مزيت قابل توجهي نسبت به ساير نمونههاي RAID ندارد . ( ضمناً کنترلرهاي Adaptec اين سطح را پشتيباني نميکنند)
RAID 3
امروزه ،بسيار کم مورد استفاده قرار ميگيرد . RAID 3خيلي شبيه RAID 2 ميباشد . و اطلاعات را به صورت سکتوري روي گروهي از درايوها stripe ميکند. تفاوت آن ايناست که يک درايو جداگانه براي ذخيرهي دادههاي پريتي درنظر ميگيرد. RAID3 بر دادههاي 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 ،حداقل به سه هارد ديسک نياز داريم.
RAID6
ديسکهاي داده ها مجزا با دو Parity توزيع شده مجزا
RAID6 در واقع نسخه پيشرفته RAID5 مي باشد که تصحيح و کنترل خطا را بهبود مي بخشد . اين ويرايش RAID اطمينان و توانايي بالا در زمينه data storage فراهم مي کند .
بهترين انتخاب براي کاربردهاي بحراني و حساس
معايب :
- طراحي مدار کنترلي بسيار پيشرفته و پيچيده .
- سيکل نوشتن بسيار کند ( دوبار محاسبه مربوط به Parity )
- نياز به N+2 درايو ديسک سخت . بدليل دارا بودن حالت Parity دو بعدي . N ( تعداد ديسکهاي سخت در حالت معمولي) - ادغام اطمينان بالا با قابليت بالا
RAID7
نقل وانتقال بهينه شده غير همزمان به منظوردستيابي به نرخ انتقال بسيار سريع
نقل و انتقال غير همزمان و داراي کنترلگرهاي مستقل.
- درايو مجزا براي ذخيره کردن اطلاعات مربوط بهParity
- برخورداري از سيستم Open System و استفاده از گذرگاهSCSI
-گذرگاه Cache داخلي با سرعت بالا (X-bus )
-ديسک هاي خواندن و نوشتن از امکان Choching استفاده ميکنند.
- کنولوژي مدار توليد Parity تا حدودي با ساير انواع Raid تفاوت دارد .
-مکان Hot Swaping
Open system :
به سيستمي اطلاق مي شود که قابليت سازگاري با سخت افزارها و نرم افزارهاي مختلف را داشته باشد و امکان کارکردن در سيستمهاي مختلف را به راحتي داشته باشد .
RAID10
اين Raid حداقل به 4 دستگاه هارديسک نياز دارد
عمل تکه تکه کردن بلوکهاي داده همانند Raid1 انجام مي پذيرد .
- تصحيح و کنترل خطا نيز مانند Raid2 مي باشد .
- نرخ انتقال بالا
- در شرايط معين , امکان تحمل خرابي چند ديسک در اين نوع RAID وجود دارد .
معايب :
- بسيار گران قيمت
- منبع تغذيه حتمأ بايد متصل به ups باشد .
- جابجايي درايوها بايد به صورت موازي انجام گيرد .
- سيستمهاي Server و بانکهاي اطلاعاتي .
RAID53
نرخ انتقال بالا همراه با قابليت انتقال مناسب
اين آرايه RAID حداقل به 5 دستگاه ديسک سخت نياز دارد .
- RAID53 در واقع بايد RAID03 نلميده شود زيرا عمل Striping آن همانند RAID0 بوده و Segment بندي آن نيز مانند RAID3 مي باشد.
- تحمل خطاي آن مانند RAID3 مي باشد.
- نسبت به RAID3 داراي نرخ انتقال بسيار بهتري مي باشد.
معايب :
- قيمت بالا
- همه ديسک ها بايد با همديگر سنکرون شوند که انتخاب نوع و مدل درايو را محدود مي سازد .
Stripe- کردن در سطح بايتها نهايتأ در محاسبه ظرفيت فرمت شده تأثير منفي مي گذارد .
RAID 0+1
نرخ انتقال داده بهينه :
حداقل به 4 دستگاه هارديسک نياز دارد .
- RAID 0+1 به عنوان آرايه آينه اي نيز معروف است با اين تفاوت که قطعات داده ها يا Segment ها طبق استراتژي RAID0 ايجاد شده اند . - تحمل خطاي اين نوع آرايه مانند RAID5 مي باشد .
- نرخ انتقال بالا .
- بهترين انتخاب براي سيستمهايي که به کارايي بالا بدون توجه به حداکثر اطمينان نياز داشته باشند .
معايب :
- RAID 0+1 نبايد با RAID10 اشتباه گرفته شود . کوچکترين مشکل در عملکرد يک درايو , آرايه را به مدل RAID0 تبديل خواهد کرد .
- قيمت بسيار بالا
- جابجايي درايوها بايد به صورت موازي انجام گيرد .
-کاربرد : پردازشهاي تصويري و fileserever هاي عمومي .
نتيجه گيري :
همانطور که مشخص شد ، استفاده ازRAID براي مقاصد معين مي باشد و در کاربردهاي عادي و روزمره کارايي چشمگيري را به سيستم PC اضافه نمي کند . به عنوان مثال امکان استفاده از CD-ROM و Rewriter روي اين کانکتورها وجود ندارد .بنابراين هنگام استفاده از RAID ابتدا هدف و مورد استفاده خود را مشخص کنيد سپس 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 استفاده کنند به دنبال خواهد داشت.
تفاوتها (کدام يک بهتر است؟ )
بستگي دارد به هدف و ميزان هزينه شما و انتظاراتي که شما داريد. 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 انتخاب کنيد باز هم روش هاي معمول خود براي گرفتن نسخه پشتيبان از داده ها و فايل ها ( به هر صورتي که هست ) را ادامه دهيد.
ناسازگاري نرم افزاري : برخي نرم افزارهاي سودمند مثل Partition Magic و برنامه هايي از اين قبيل ممکن است با آرايه هاي نرم افزاري تداخل داشته باشند.
عدم اعتبار و قابليت اطمينان : برخي کاربران به خاطر باگ هايي که ممکن است ضمن استفاده از RAID پيش بيايد از آن پرهيز مي کنند، هر چند کنترلر هاي سخت افزاري RAID هم از اين مشکلات دارند اما، نسبت به RAID هاي سخت افزاري با کيفيت خوب بعضي سيستم عامل ها هم هستند که در برابر اين مشکلات تحمل بيشتري دارند.