در چند سال گذشته، زمانی که در سرورها نیاز به حفاظت بیشتر دادها دیده شد تکنولوژیRAID رشد بسزایی داشته است. اولین پیاده سازی RAIDدر سال 1990 به وسیله ی تابلوهای کنترل بسیار گران با کارایی بالا و پردازنده ی مرکزی قدرتمند بود. در آن زمان که راه حل سخت افزاری RAID تنها گزینه بود، هزینه ی یک کنترل کننده ی RAID تنها استفاده از یک سرور با قیمت بالا بود.
کمی درباره RAID و انواع آن:
امروزه RAID در همه جا یافت می شود، ازویژگی های نرم افزاری یک سیستم عامل مستقیم گرفته تا ارائه ی کنترلر پیشرفته در شبکه های ذخیره سازی سطح بالا. حتی آن را می توانید در محیط هایی مانند لپ تاپ یا کامپیوترهای رومیزی، ایستگاه های کاری، سرور ها و همچنین در دستگاه های خارجی با تعدادی دیسک ذخیره سازی با حجم بالا یافت کنید. RAID حتی شامل بسته های گیرنده ی دیجیتال و دستگاه های ذخیره سازی شخصی نیز می باشد.
RAID مخفف (Redundant Array of [Independent or Inexpensive] Disks) به معنی آرایه افزونه ای برای دیسک های "مستقل" یا "ارزان"(بستگی به شخصی که با شما صحبت می کند) است به طوری بیشتر مردم از کلمه array به عنوان تکمیل کننده مفهوم RAID به نام "RAID array" استفاده می کنند. این تکنولوژی برای بهبود عملکرد، ظرفیت و دسترسی، تعدادی دیسک مستقل را در یک یا چند آرایه شبیه سازی می کند که ظرفیت آرایه به نوع RAID و تعداد و ظرفیت دیسک وابسته است.
RAID نرم افزاری و سخت افزاری:
بهترین مثال برایRAID نرم افزاری و سخت افزاری اجرای وظایف روی پردازنده مرکزی یک سیستم می باشد.
برخی از پیاده سازی های نرم افزاری RAID شامل یک بخش سخت افزاری است که در نگاه اول ممکن است شبیه پیاده سازی سخت افزاری باشد بنابراین دانستن این که بهره گیری از کد RAID نرم افزاری باعث بالا رفتن قدرت محاسباتی CPUها می شود بسیار مهم است. ویژگی های کدی که RAID فراهم می کند قابل اجرا رویCPU، اشتراک قدرت محاسباتی با سیستم عامل و تمامی برنامه ای مرتبط با آن می باشد.
در روش سخت افزاری برنامه ی RAID با استفاده از CPU و RAM که در سیستمی مستقل از سیستم میزبان تعبیه شده است اجرا خواهد شد. این سخت افزار می تواند به صورت یکپارچه بر روی مادربرد و یا به صورت یک کارت اسلات قابل نصب بر روی مادربرد باشد.
اگر از قبل سخت افزار لازم در سیستم یکپارچه تعبیه شده بود بنابراین ممکن است سخت افزار RAID نیاز به بروزرسانی نرم افزاری برای تشخیص صحیح نرم افزار باشد. بنابراین مشخص نیست که نرم افزار و سخت افزار RAID در نگاه اول یکدیگر را شناسایی کنند.
نیاز به این تکنولوژی زمانی احساس شد که هارد دیسک ها دارای ظرفیت کم و بسیار گران بودند. این فناوری با ترکیب های مختلف دیسک های ارزان و با ظرفیت ذخیره سازی بالا را در یک درایو قرار داد که این طراحی به طور خودکار باعث افزایش بهره وری و تحمل پذیری خطا و حفاظت از داده ها می شد به طوری که زمانی یکی از از درایو با خطایی مواجه بود هنور داده های آن روی دیسک دیگری در دسترس بود. البته یکی از معایب RAID ایجاد افزونگی است که برای استفاده در مقابل تحمل پذیری خطا اجتناب ناپذیر است.
مهمترین انواع پیاده سازی RAID:
Raid0 – Strip: در این روش اطلاعات به صورت همزمان در دو هارد دیسک نوشته خواهد شد و باعث بالا رفتن سرعت و کارایی می شود ولی در عوض اگر یکی از هاردها با مشکل مواجه شود داده های هارد دیگر نیز با نقض مواجه خواهد شد.
Raid1 – Mirror: در روش Mirror اطلاعات در دو دیسک کپی می شود و کارایی کاهش می یابد، ولی قابلیت دسترسی به اطلاعات بالا رفته به صورتی که اگر یکی از هارد ها با مشکل مواجه شود از دیسک دوم می توان استفاده نمود.
Raid5: در این روش که از تعدادی دیسک تشکیل شده با استفاده از الگوریتم ای خاصی parity روی دیسک های متفاوتی قرار می گیرد. در این روش به طور مثال در دیسک اول و دوم و... دیتا ذخیره شده اگر یک دیسک دچار نقص شود از طریق XOR کردن دیسک سالم با parity اطلاعات دیسک دچار نقص شده می توان اطلاعات را بازیابی نمود.
Raid6: همانند 5Raid است با این تفاوت که parity اطلاعات در دو دیسک ثابت به صورت چرخشی قرار می گیرند.
Raid10: ترکیبی از RAID 1 و RAID 0 است که مجموعه Mirror و Striped شده ای را ارائه می دهد دارای سرعت و تضمین اطلاعات بالایی می باشد.
نکته پایانی در مورد :RAID
در کسب و کارهای کوچک زمانی که یکی از دیسک ها با شکست مواجه می شود تحمل پذیری خطا بسیار مهم است، با افزونگی که در RAID صورت می گیرد دیگر نگران از دست رفتن اطلاعات توسط نرم افزار های مخرب یا سرقت آن توسط هکرها و یا حوادث طبیعی نباشید، چون همیشه پشتیبانی برای داده ها وجود خواهد داشت.