Raid چیست ؟
Raidمکانیزمیست که با استفاده از ان میتوان دیتای رو یک دیسک را روی دیسک دیگر پخش کنیم در واقع سیستم این دیتا را روی یک کنترلر میریزد که به آن Raid controller میگوییم که این کنترلر این دیتاها را از دیسک های فیزیکی پشت سرش میخواند میتوان چندین هارد دیسک را باهم ترکیب و یک array درست کرد .
Raid سخت افزاری خیلی بهتر از raid نرم افزاری میباشد و کنترل آن بسیار بالاتر است . ولی در مواردی سرور ما رید سخت افزاری ساپورت نمیکند و ما به ناچار از رید نرم افزاری استفاده میکنیم .
انواع Raid :
Raid0 – Strip :
این رید دو هارد دیسک را به هم متصل میکند یعنی اطلاعات را به جای اینکه روی یک هارد بریزیم در واقع نصف کرده و روی دوهارد ذخیره میکنیم در نتیجه performance بالا رفته و سرعت نیز افزایش میابد
در مورد نقص این رید میتوان گفت که اگر یکی از هارد ها به مشکل بر خورد هارد دیگر هم دیتایش fail میشود .
Raid1 – Mirror :
دراین رید دو دیسک داریم که اطلاعات به صورت همزمان روی هر دو دیسک کپی میشود در نتیجه این رید performance را پایین آورده سرعت نیز به مراتب کاهش خواهد یافت ولی چون دیتا روی هر دو سیستم هست high availability را بالا میاورد بدین صورت که اگر یکی از سیستم ها down شود سیستم دیگر بالا آمده و هیچ دیتای از بین نمیرود .
Linear Raid :
در این سیستم اطلا عات در ابتدا در یک هارد ذخیره میشوند و بعد از پر شدن این هارد اطلاعات در دیسک دوم ذخیره میشود که این رید high availability ندارد .
Raid3 :
در این رید تعداد بالایی دیسک داریم که ویک دیسک به parity اختصاص داده میشود (حداقل سه دیسک)
مثلا سه دیسک داریم که در دیسک اول یک دیتا و در دیسک دوم هم یک دیتا و دیسک سوم parity دیتای دو دیسک دیگر را در خودش نگه میدارد و اگر مثلا دیسک دوم از بین برود از طریق دیسک parity میتوان اطلاعات دیسک دوم را برگرداند (با xor کردن دیسک اول و prity اطلاعات دیسک دوم برمیگردد) .
Raid4 :
همانند رید ۳ میباشد فقط parity را block , block, انجام میدهد .
Raid5 :
هر آنچه که درباره raid3 گفتیم در اینجا هم صادق هست ولی ایرادی که در رید ۳ وچود دارد این است که یک دیسک ثابت را برای پریتی دیسک های دیگر در نظر میگیرد و در واقع این دیسک از همه بیشتر کار میکند ولی در رید ۵ مایک دیسک ثابت برای parity نداریم و در واقع یک بار روی دیسک یک قرار میگیرد و بار دیگر مثلا روی دیسک ۵ قرار میگیرد (الگوریتم خاص خودش را دارد) .
Raid6 :
همان رید ۵ میباشد .فقط parity را در دو دیسک قرار میدهد یعنی در واقع دو نسخه parity نگه میدارد که باعث میشود ظرفیت ما n به توان ۲ شود و با از دست دادن دو دیسک ما به مشکل بر نمیخوریم (البته parity همیشه در دو دیسک ثابت قرار نمیگیرد و این دو دیسک چرخشی میباشد) .
Raid10 – Raid 1+0 :
دیتای که وارد array در رید میشود اول به دوقسمت تقسیم شده و به رید های یک میرورد ثبت توسط رید یک همانطور که قبلا گفتیم mirror میشود در واقع ما نصف اطلاعات را در یک جا و نصف دیگر را در جای دیگر داریم خراب شدن دو عدد رید مشکلی ایجاد نمیکند به شرطی که یکی از انها از یکی از رید های یک و دیگری از رید دیگر باشد .