تحقیق و مقاله درباره R A I D و انواع آن
R A I D) Redundancy array of inexpensive disk) و انواع آن
سطوح مختلف 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 (آرایهای افزایشی از دیسکهای ارزان) در سال ۱۹۸۷ در دانشگاه برکلی کالیفرنیا بنیانگذاری شد. در مقالهی با عنوان ” بررسی آرایههای افزایشی از دیسکهای ارزان ” که توسط katz ، Gibson و Patterson معرفی شد. ( البته در خیلی جاها ، مانند کتابهای مایکروسافت ، واژهی ” ارزان” با واژی ”مستقل” جایگزین میشود ،که به نظر میرسد به دلیل اهمیت آن در بحث RAID استفاده از آن بهتر باشد ، اما قدیمیترین آنها همان چیزی است که در سال ۱۹۸۷ ارایه شده است.) موضوع موردبحث این مقاله ارایه یک میانگین برای بهبود قابلیت اعتماد و نیز کارآیی در سیستمهای ذخیرهسازی بود. و مفهوم آغازین آن شامل گروهبندی درایوهای دیسک ارزان و کوچک در یک آرایه است به طوری که در سیستم عامل به صورت یک 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 فضای ذخیرهسازی هر درایو در نوارهایی ،که میتوانند کمتر از یک سکتور ۵۱۲) بایت ) یا بیشتر از چندین مگابایت باشند ، بخشبندی میشود. این Stripe ها ،که ما آن را ” نوار ” ترجمه کردهایم ، در یک تناوب چرخشی کنار هم قرارمیگیرند ، در نتیجه فضای نهایی به دست آمده ترکیبی است از نوارهای هر درایو. به بیانی سادهتر دادهها به جای اینکه به طور کامل در یک درایو ذخیرهشوند و در صورت نیاز ادامهی عملیات ذخیرهسازی آنها در درایوهای دیگر دنبال شود ، به صورت نواری در سرتاسر آرایه ذخیرهمیشوند. نوع محیط عملیاتی تعیین میکند که ما باید از نوارهای کوچک استفاده کنیم یا بزرگ.
امروزه بیشتر سیستم عاملها ازعملیات I/O همزمان روی چند درایو حمایت میکنند.با این حال برای بهدست آوردن حداکثر توان خروجی برای یک زیرسیستم دیسک ، سنگینی بار عملیات I/O باید روی چند درایو توزیع شود ،تا اینکه هر درایو تا جای ممکن مشغول فعالیت باشد و هیچ درایوی بدون استفاده یا با فعالیت کمتر وجود نداشته باشد. در سیستم های چند درایوی که از Striping استفاده نمیکنند بار I/O دیسک هیچگاه به طور کامل متوازن نمیشود. چون برخی درایوها شامل فایلهای داده خواهندبود که مکرراً به آنها مراجعه میشود و برخی درایوها به ندرت مورد استفاده قرارمیگیرند.
بوسیلهی نواری کردنِ (Striping) درایوهای آرایه و ایجاد نوارهایی که به اندازهی کافی بزرگ هستند ، به طوری که هر گروه از رکوردها به طور کامل در یک نوار قرارگیرند ، تعداد رکوردهای بیشتری میتوانند در تمام درایوها به طور مساوی توزیع شوند. این کار در مواقعی که load سنگین وجود دارد تمام درایوها را مشغول نگه میدارد. و به تمام درایوها اجازه میدهد تا به طور همزمان عملیات مختلف ورودی/خروجی انجام دهند. و به این صورت تعداد عملیات ورودی/خروجی که میتواند در آرایه انجام شود افزایش مییابد.
در RAID 0 شامل آرایهای از درایوهای دیسک به صورت غیر افزایشی است. ( یعنی علاوه بر دادههای اصلی ، هیچ درایو دیگری برای نگهداری نسخهی دیگری از دادهها وجود ندارد) در RAID 0پریتی نیز وجود ندارد.براساس آنچه در مورد Striping گفتیم برای یک مجموعهی RAID 0 ،کنترل کنندهی RAID دادهها را به صورت نواری روی چند درایو قرارمیدهد. اما اساساً چه دلیلی وجود دارد که دادهها را در بلوکهایی از چندین درایو بنویسیم. بخشی از پاسخ این پرسش در توضیح Striping گفته شد ،اما بگذارید بیشتر در این مورد بحث کنیم. فرض کنید شما ۱۰ بلوک داده دارید. ) A , B , C , … در یک هارد دیسک استاندارد ،دادهها باید به این صورت ذخیره شوند : ابتدا بلوک A ، سپس بلوک B، سپس بلوک C و … در اینصورت اگر نیاز به دستیابی به ۱۰ بلوک داشته باشیم ،کنترل کننده باید تمام دادهها را فقط یک هارد دیسک داشتهباشد. در RAID 0،دادهها بین هارد دیسکها تقسیم میشوند. پس اگر شما ۳ دیسک Stripe شده داشتهباشید ، دادههای بلوک Aدرهارددیسک صفر ، دادههای بلوک B در هارد دیسک یک و دادههای بلوک C در هارد دیسک سوم باید ذخیرهشوند. در این روش به طور همزمان میتوانیم عملیات نوشتن را بر تمام درایوها انجام دهیم و نیز عملیات خواندن دادهها نیز میتواند بهطور موازی انجام شود. پس مدت زمان خواندن و نوشتن ، بسته به تعداد درایوهای موجود در آرایه کم و کمتر میشود.توجه کنید که در اینجا دادهی افزایشی وجود ندارد. تا زمانیکه دادهها به صورت نواری شکل در تمامی هارد دیسکها قراردارند .
RAID 0 سریعترین و مناسبترین روش از میان تمامی حالات RAID است. و بهترین کارمفید و کارآیی را در ذخیرهسازی دادهها ارایه میدهد. ولی باید گفت که هیچگونه تحمل خطایی ندارد. اگر یکی از دیسکها دچار مشکل شود ، تمام آرایه از کار میافتد و هیچ راهی برای بازگرداندن دادههای از دست رفته وجود ندارد.در RAID 0 ،کارآیی به اندازهی بلوکها بستگی دارد . اگر اندازهی آنها خیلی کوچک باشد دستورات برای اجرا در عملیات نوشتن متمرکز میشوند ، علاوه بر آن به دستورات واسط سختافزاری بیشتری نیاز است. بهینه سازی اندازهی بلوکها باعث میشود که افزایش توان عملیاتی کار میشود ، به ویژه برای درخواستهای موازی برای خواندن دادهها. اندازهی بلوکها قابل تنظیم است . ولی شما باید بیت به بیت آزمایش کنید تا به نتیجهی مطلوب برسید. اما یکی از تقاط شروع خوب برای حداقل اندازهی بلوک ۱۶ کیلوبایت است. برای محیطهای چندکاربره میتوانیم آرایه را با نوارهای بزرگ تنظیم کنیم. برای سیستمهای تککاربره که به طور مداوم با رکوردها سروکار دارند نیز میتوان اندازهی نوارهای موجود در آرایه را کوچک تر در نظر گرفت.به طور نمونه اندازهی فایل ۴۸ کیلوبایت است. ۱۶ کیلوبایت از این فایل روی دیسک اول ،۱۶ کیلوبایت در دیسک دوم و ۱۶ کیلوبایت دیگر در دیسک سوم نوشتهمیشود.
RAID 1
به این سطح ،mirroring نیز گفته میشود و اساساً یک ترکیب از دو هارد دیسک است که اطلاعات یکی از این دو ،عیناً روی دیگری کپی میشود و در کامپیوتر به صورت یک درایو نمایش دادهمیشود.تحمل خطا در RAID 1 وجود دارد.چراکه اگر یکی از دیسکها از کار بیفتد آرایه میتواند همچنان به فعالیت خود ادامه دهد. به دلیل اینکه همزمان از دو هارد دیسک استفاده میشود ، زمان خواندن سریعتر میشود.روشی که در اینجا برای خواندن دادهها بهکارگرفته میشود ، زمانبندی Round-robin ( روح سرگردان )نام دارد. که سرور برای خواندن دادهها مرتباً از یک هارد به هارد دیگر میرود و عملاً زمان را بین دو هارد دیسک تقسیم میکند .
سرعت خواندن در این جا دوبرابر سرعت خواندن از یک درایومنفرد فاقدmirroring است. با این حال در موقع نوشتن ، دادهها باید روی دو هارد دیسک نوشتهشوند. و عملاً میبینیم که در مدت زمان نوشتن تغییری حاصل نخواهدشد.نسبت به سایر انواع آرایههای افزایشی ،این سطح بهترین کارآیی را دارد. ولی از لحاظ رتبه در هنگام ازکارافتادن درایو ،نسبت به RAID 5 کارآیی کمتری دارد.بزرگترین عیب این سطح ،هزینهای است که برای درایوهای اضافی آن پرداخت میشود. به هر حال هیچچیز ارزان به دست نمیآید و برای داشتن یک سیستم امن و کارآ باید هزینههای زیادی پرداخت چراکه اگر سیستم ازکار بیفتد یا حتی برای ساعاتی متوقف شود ، هیچ هزینهای نمیتواند جایگزین دادهها و اطلاعات باارزش ازدست رفته ما باشد.
Duplexing در بیشتر متونِ منبع در مورد آرایههای دیسک (RAID ) در ادامهی مبحث RAID 1 به موضوعی اشارهشده که به آن Duplexing گفته میشود. اما Duplexing چیست؟اساساً Duplexing در مواقعی مورد بررسی قرار خواهد گرفت که ما خواستهباشیم RAID را به صورت نرمافزاری اجراکنیم . مثلاً بوسیلهی سیستم عامل ویندوز ۲۰۰۰ یا . 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 تقریباً ۶۰ درصد آهستهتر از RAID 1 عمل میکند. عملیات خواندن هم هیچ تغییری پیدا نمیکند.برای رسیدن به بهترین کارآیی ، RAID 5 باید یک فضای ذخیرهسازی داشته باشد برابر با حاصل جمع فضای تمامی هارد دیسکها منهای ۱.بعضی مواقع به این سطح از 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 حداقل به ۴ دستگاه هاردیسک نیاز دارد
عمل تکه تکه کردن بلوکهای داده همانند Raid1 انجام می پذیرد .
– تصحیح و کنترل خطا نیز مانند Raid2 می باشد .
– نرخ انتقال بالا
– در شرایط معین , امکان تحمل خرابی چند دیسک در این نوع RAID وجود دارد .
معایب :
– بسیار گران قیمت
– منبع تغذیه حتمأ باید متصل به ups باشد .
– جابجایی درایوها باید به صورت موازی انجام گیرد .
– سیستمهای Server و بانکهای اطلاعاتی .
RAID53
نرخ انتقال بالا همراه با قابلیت انتقال مناسب
این آرایه RAID حداقل به ۵ دستگاه دیسک سخت نیاز دارد .
– RAID53 در واقع باید RAID03 نلمیده شود زیرا عمل Striping آن همانند RAID0 بوده و Segment بندی آن نیز مانند RAID3 می باشد.
– تحمل خطای آن مانند RAID3 می باشد.
– نسبت به RAID3 دارای نرخ انتقال بسیار بهتری می باشد.
معایب :
– قیمت بالا
– همه دیسک ها باید با همدیگر سنکرون شوند که انتخاب نوع و مدل درایو را محدود می سازد .
Stripe- کردن در سطح بایتها نهایتأ در محاسبه ظرفیت فرمت شده تأثیر منفی می گذارد .
RAID 0+1
نرخ انتقال داده بهینه :
حداقل به ۴ دستگاه هاردیسک نیاز دارد .
– 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 حدود ۱۰۰ دلار و در بالاترین حد با استفاده از وسایلی که از امتیازات خاصی برخوردارند تا چند هزار دلار می رسد.
این در حالی است که سیستم های کنترلرهای خارجی RAID هنوز خیلی گران هستند اما از امتیازها و ویژگی های جذاب آن نمی توان چشم پوشید! مثلاً قابلیت توسعه زیادی نسبت به BUS-Based RAID دارند، (برای آرایه های بزرگ ، فضایی در حد ترابایت را نیز می توانند پوشش دهند ) و می توانند کارآیی بهتری ارایه کنند. اما هزینه ای که باید در ازای این سخت افزار پرداخت شود معمولاً در حدی نیست که کاربران معمولی PCها از عهده آن برآیند یا حتی به آن فکر کنند!
توجه :
کنترلرهای RAID خارجی نباید با کیس های RAID خارجی اشتباه گرفته شود. این کیس ها که به Enclosure معروفند دارای Power وساختار فیزیکی خاص برای درایوهای یک آرایه RAID هستند، این کیس ها را بیشتر در محیط های بزرگ عملیاتی که با داده های زیادی با حجم بالا سروکار دارند می بینیم. ضمناً می توان ترکیبی از کنترلرهای RAID را با این سیستم ها ایجاد کرد.در اکثر حالات تصمیم گیری برای استفاده از RAID به صورت سخت افزاری مستلزم پرداخت هزینه های بالایی است.
اگر شما از هر کدام از سطوح پیچیده و مبهم RAID مثل ۱+۰ می خواهید استفاده کنید، قطعاً باید به RAID سخت افزاری متوسل شوید چرا که این سطوح خاص در RAID نرم افزاری Support نمی شود. و نیز اگر به کارآیی بالا نیاز دارید که در زمان استفاده از سطوح محاسباتی و قدرتی RAID به دست می آید انتخاب RAID سخت افزاری الزامی است. به دلیل اینکه RAID5 نرم افزاری ممکن است در مواردی برای شما دردسر آفرین باشد.
RAID نرم افزاری:
در مورد RAID نرم افزاری پیش از این نکاتی گفتیم. حال نگاهی گذرا داریم به مزایا و معایب استفاده از آن:
مزایای RAID نرم افزاری:
هزینه کم:
اگر قبلاً از سیستم عاملی استفاده کرده و می کنید که RAID را پوشش می دهد، دیگر نیازی به پرداخت هزینه های اضافی نیست. فقط ممکن است نیازداشته باشید که حافظه سیستم تان را بالا ببرید.
ساده بودن: نیازی به نصب، تنظیم و مدیریت یک کنترلر سخت افزاری نیست.
Duplexing: در بخش اول این مقاله (شماره ۶ ماهنامه) Duplexing را توضیح دادیم. در
سطح RAID1 نرم افزاری می توان از این شیوه استفاده کرد اما در سخت افزار نه (البته بسته به نوع کنترلر(
معایب RAID نرم افزاری:
کارآیی پایین:
برای مدیریت آرایه ، چرخه هایCPU ( CPU Cycles ) ربوده می شوند و کار سایر بخش های نرم افزاری و سخت افزاری دچار مشکل می شود. در اصل این مشکل برای سطوح ساده مثل سطح ۱ چندان مهم نیست اما برای سطوح پیچیده ای چون سطح ۵ خیلی اهمیت پیدا می کند.
محدودیت Boot Volume:
سیستم عامل نمی تواند از طریق آرایه RAID بوت شود و به یک پارتیشن غیر RAID برای بالا آوردن سیستم نیاز است که باعث افزایش زمان بالا آوردن سیستم می شود.
عدم پوشش سطوح مختلف به طور کامل:
RAID نرم افزاری محدود است به سطح خاصی مانند ۰،۱ و۵ و سطوح جذاب 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 های سخت افزاری با کیفیت خوب بعضی سیستم عامل ها هم هستند که در برابر این مشکلات تحمل بیشتری دارند.
اساساً RAID 5 شبیه RAID 1 است . با این تفاوت که RAID 5 برای هر نوار از دادهها یک پریتی ذخیره میکند. اما در مقایسه با RAID 1 عملیات نوشتن آهستهتر است. زیرا یک زمان اضافی برای نوشتن اطلاعات پریتی نیاز است.در موقع نوشتن اطلاعات RAID 5 تقریباً ۶۰ درصد آهستهتر از RAID 1 عمل میکند. عملیات خواندن هم هیچ تغییری پیدا نمیکند.برای رسیدن به بهترین کارآیی ، RAID 5 باید یک فضای ذخیرهسازی داشته باشد برابر با حاصل جمع فضای تمامی هارد دیسکها منهای ۱.بعضی مواقع به این سطح از RAID ،” آرایه با پریتی چرخشی ” نیز گفتهمیشود. چرا که مانند RAID 4 پریتیها را در یک درایو جداگانه جمع نمیکند و این اطلاعات را در تمام آرایه و بر تمام درایوها توزیع میکند.هیچ درایو منحصر بفردی برای ذخیرهی اطلاعات پریتی وجود ندارد. تمام درایوها شامل داده هستند و عملیت خواندن میتواند از تمام درایوها به صورت مشترک انجام شود. برای نوشتن اطلاعات نیز به یک درایو داده و نیز یک درایو دیگر برای ذخیرهی اطلاعات پریتی نیاز داریم. با توجه به اینکه ،پریتی رکوردهای مختلف روی درایوهای دیگر قرارمیگیرد ،عملیا ت نوشتن معمولاً میتواند به اشتراک گذاشته شود.
بیشترین استفاده از RAID 5 در سرورها و شبکههای محلی میباشد ، جایی که فضای ذخیرهسازی و تحمل خطا بسیار اهمیت دارد. در این روش نیازی به وجود درایو آیینه وجود ندارد . زیرا اگر یکی از دیسکهای اصلی از کار بیفتد ، سرور اطلاعات از دست رفته از نوارهای پریتی ذهیره شده روی دیگر درایوها بازسازی میکند. برای اجرای RAID 5 ،حداقل به سه هارد دیسک نیاز داریم.