(Raid (redundant array of Disks نوعی تکنولوژی است که باعث افزایش ظرفیت ذخیره سازی و بالا بردن اطمینان از طریق تکنیک های مرتب کردن  دیسک ها به شکل  آرایه می شود . آرایه ی RAID توسط چندین دیسک فیزیکی که با ساختار RAID مانند RAID0,RAID1 و . . . پیکربندی شده اند ایجاد می شود . در حالیکه آرایه RAID داده ها را از طریق چندین دیسک توزیع می کند ، اما سیستم عامل سرور به عنوان یک دیسک آن را در نظر می گیرد .

معماری های مختلف  RAID جهت برآورده شدن  حداقل یکی از دو اهداف زیر طراحی شده اند  .

افزایش قابلیت اطمینان داده .

افزایش کارایی داده های ورودی و خروجی

مفاهیم :

RAID در واقع آرایه ای است که از دو دیسک سخت و یا بیشتر که در روی یک واحد قرار گرفته اند تشکیل یافته است . برای اینکه  به آرایه RAID سه ویژگی بیشتر در مقایسه با JBOD داده شود سه مفهوم اساسی استفاده می شوند . :

مفهوم Mirroring  : یعنی داده ها در بیش از یک دیسک نوشته شوند . مثال اساسی Mirroring آرایه RAID1 با دو دیسک می باشد  . هر دو دیسک محتوای یکسانی دارند . زمانی که برای درایو اولی مشکلی پیش بیاید ،  عملیات خواندن و نوشتن به شکل مستقیم در دیسک دوم انجام می شود . عملیات خواندن در ارایه های Mirroring  در مقایسه با دیسک تنها به دلیل اینکه  سیستم ، داده ها را از چندین دیسک و در یک زمان می خواند سریع تر است . اگرچه عملیات نوشتن از آنجایی که داده  ها باید  در چند دیسک به جای یک دیسک نوشته شوند ، کند تر می باشد . بازسازی آرایه دیسک mirror شده بسیار آسان است  داده ها از دیسک سالم به دیسک جدید کپی می شوند . در طول بازسازی کارایی خواندن کاهش پیدا می کند . چرا که تنها یک دیسک mirror قابل استفاده می باشد.

Striping : عملیات جداسازی داده ها از چندین دیسک است .برای مثال آرایه  RAID 0  داده ها را در دو دیسک قرار می دهد که این کار تنها کارآیی را افزایش می دهد . عملیات خواندن و نوشتن در آرایه ی Striping در مقایسه با دیسک های تکی سریع تر می باشد .

Error correction  : داده های parity را با روشی که به آنها اجازه یافته شدن و احتمال تصحیح مشکلات را بدهد بر روی دیسک ذخیره می کند .  RAID5 مثال خوبی از مکانیزم تصحیح خطا است .مثلا آرایه RAID5 از سه نوار داده در دو دیسک اول تشکیل یافته و parity را در دیسک سومی قرار می دهد . مکانیزم تصحیح خطا باعث کاهش کارایی خصوصا در عملیات نوشتن می شود چراکه هم داده و هم parity باید نوشته شود .

طراحی شمای raid شامل حفاظت از داده و کارایی آن می شود . با توجه به نیازهای سرور شما باید پیکربندی مناسب RAID را انتخاب نمایید  .

در ادامه نحوه پیاده سازی چند RAID مختلف آمده است  :

RAID0 :  این نوع پیاده سازی کاملی از striping است . برای پیاده سازی آن حداقل دو نوع دیسک مورد نیاز است . اطلاعات parity  با  هدف  ردوندانسی ذخیره نمی شود . نکته مهم این است که  RAID 0 یکی از سطوح raid اصلی نمی باشد و REDUNDANCY داده ها را فراهم نمی نماید . raid 0 برای افزایش کارایی مورد استفاده قرار می گیرد .و برای جاهایی که افزونگی مهم نیست بسیار مفید است . این نوع raid می تواند دیسک ها با اندازه مختلف را ایجاد نماید اما فضای کلی آرایه با توجه به کوچکترین دیسک محدود می شود . مثلا اگر یک دیسک 450 گیگابایتی با دیسک 300 گیگا بایتی وجود داشته باشند ، فضای قابل استفاده آرایه به شکل زیر  محاسبه می شود:

2 x min(450GB, 300GB) = 600GB.

برای عملیات خواندن و نوشتن با بلاک های کوچک مانند پایگاه داده اکسس داده ها به صورت مستقل واکشی خواهد شد  . سرعت انتقال آرایه معادل سرعت همه ی دیسک هاست که با سرعت  کنترلر raid  محدود می شود . برای خواندن و نوشتن داده ها با بلاک های بزرگتر مانند کپی فایل ها و یا ویدئو ، داده ها در یک دیسک ، واکشی شده و کارایی ارایه RAID0 کاهش پیدا خواهد کرد.

RAID1 :  پیاده سازی ضعیفی از mirroring  است و حداقل دو دیسک برای پیاده سازی این تکنولوژی مورد نیاز است . این زمانی مفید است که کارایی خواندن یا اطمینان از ذخیره سازی برای ما مهم تر باشند  . از آنجایی که هر دیسک یک نسخه کامل از داده ها را نگهداری می کند ، آدرس دهی آن مستقل بوده و به دنبال آن قابلیت  Tear and wear افزایش پیدا می کند . در این تکنولوژی مانند RAID0 نیز زمانی یک دیسک 450 گیگابایت با یک دیسک 300 گیگابایت  mirror شود ، فضای قابل استفاده ی آرایه حداقل در نظر گرفته می شود . یعنی 450GB, 300GB) = 300GB  .

 RAID5 : در تکنولوژی RAID5 آرایه از striping بلاک شده به همراه بلاک های parity پخش شده در همه ی دیسک ها استفاده می کند . دیسکی که برای بلاک parity استفاده می شود ، از یک strip به دیگری به صورت متناوب کار می کند . برای این تکنولوژی حداقل 3 دیسک نیاز داریم . این  تعداد برای RAID6 برابر حداقل 4 دیسک می باشد . با افزایش مقدار RAID تعداد دیسک ها نیز افزایش می یابد .

گونه ای از دیسک ها به نام Hot spare نیز وجود دارد که به عنوان پشتیبانی برای آرایه RAID به کار می روند . این دیسک ها به صورت فیزیکی در آرایه نصب شده وتا زمانیکه دیسک های فعال از کار بیفتند غیر فعال هستند  . کنترلر RAID به صورت اتوماتیک درایوهای fail را با دیسک spare تعویض می کند و شروع به ایجاد مجدد  فرآیند ها برای آرایه می نماید .  برای مثال آرایه ی RAID5 با یک دیسک Hotspare مساوی تعداد دیسک های  RAID6 بوده و  از نظر حفاظت در هنگام به وجود آمدن  خطا تسهیلات بیشتری را فراهم می کنند.

نتیجه گیری :

آرایه های RAID باعث  ایجاد سطح بالایی از کارایی و اطمینان برای ذخیره سازی سرور  می شوند . درحالیکه RAID1 نقطه شروع خوبی برای برنامه هایی مانند ایمیل و وب سرور است ، RAID10 برای برنامه  های دیتابیس پشنهاد داده می شود .RAID5 , RAID50 می توانند جهت کاربردهای پشتیبانی با خطای پایین و ظرفیت ذخیره سازی بالا استفاده شوند .