RAID یا رید چیست و چگونه کار می‌کند؟

RAID (یا رید) مخفف عبارت Redundant Array of Independent Disks (آرایه افزونه دیسک‌های مستقل) بوده و به طور خلاصه روشی برای ذخیره‌سازی و یا تکثیر داده‌های مشابه در مکان‌های مختلفی بر روی یک سیستم می‌باشد. در این روش، داد‌ها بر روی چندین هارد‌ دیسک (HDD) یا درایوهای‌ حالت جامد (SSD) ذخیره می‌شوند و هدف آن افزایش ظرفیت ذخیره‌سازی و محافظت از داده‌ها در صورت خرابی درایو اصلی می‌باشد. RAID دارای سطوح مختلفی بوده و هدف تمام آنها ایجاد افزونگی (Redundancy) نیست.سطوح RAID به صورت عددی بیان می‌شوند (مانند RAID 0 و RAID 5) و هر یک از آنها دارای مزایا و معایب خاص خود هستند اما در مجموع تمام آنها باعث بهبود عملکرد و افزایش تحمل خطا (و یا ترکیبی از هر دو) می‌شوند. فناوری ذخیره‌سازی RAID همچنین باعث افزایش امنیت داده‌ها و عملیات I/O (ورودی و خروجی) می‌شود اما بازهم نمی‌توانیم‌ رید را یک فناوری بی‌نقص بدانیم و داده‌ها ممکن است در هنگام استفاده از آن از بین بروند. بنابراین با وجود RAID بازهم باید داده‌های خود را در درایو فیزیکی دیگری ذخیره کنید و از آنها یک نسخه پشتیبان بگیرید.

سیستم RAID

در هر سیستم RAID، چندین دیسک مستقل و نسبتا کوچک در یک فضای ذخیره‌سازی بزرگ‌تر ترکیب می‌شوند که به این فضای ذخیره‌سازی در اصطلاح آرایه (Array) و دیسک‌های تشکیل‌دهنده آن اعضای آرایه (Array members) گفته می‌شود. اصطلاح RAID اولین بار در سال ۱۹۸۷ توسط دیوید پترسون، گارث گیبسون و رندی کاتز در دانشگاه کالیفرنیا برکلی ابداع شد. برخی از نسخه‌های ویندوز، مانند ویندوز سرور ۲۰۱۲ و همچنین سیستم عامل Mac OS X نیز به صورت پیش‌فرض دارای قابلیت RAID نرم‌افزاری هستند اما RAIDهای سخت‌افزاری در مجموع عملکرد بهتری از RAIDهای نرم‌افزاری دارند. سیستم‌های رید همچنین از کابل‌های مختلفی از جمله SATA، SCSI، IDE، یا FC (کانال فیبر) پشتیبانی می‌کنند. ما در این مقاله قصد داریم تا شما را با انواع رید و مزایا و معایب آنها آشنا کنیم، پس تا انتها با ما همراه بمانید.

تصویری از سیستم RAID

RAID چگونه کار می‌کند؟

RAID داده‌ها را بر روی چندین دیسک قرار داده و باعث می‌شود تا عملیات‌های ورودی و خروجی (I/O) به شکلی متعادل با‌هم همپوشانی داشته باشند و در کل نیز عملکرد سیستم را افزایش می‌دهد. رید به دلیل استفاده از چندین دیسک (به جای یک دیسک) باعث افزایش میانگین زمان میان خرابی‌ها و در نتیجه تحمل خطا می‌شود. RAIDها از دو تکنیک‌ آینه‌سازی (Disk Mirroring) و تقسیم‌بندی (Disk striping) استفاده می‌کنند. در تکنیک Mirroring، داده‌های یکسان بر روی چند درایو (بیشتر از دو) کپی می‌شوند و با استفاده از تکنیک Striping نیز می‌توانید به راحتی داده‌های خود را بر روی چندین درایو پخش کنید. شما همچنین می‌توانید تکنیک‌های Disk Mirroring و Disk Striping را در یک آرایه واحد ترکیب کنید. RAIDها با کمک سخت‌افزار یا نرم‌افزاری خاص، دیسک‌های فیزیکی را در قالب یک واحد منطقی باهم ترکیب می‌کنند و فضای ذخیره‌سازی هر درایو نیز به واحدهایی با اندازه‌های مختلف تقسیم می‌شود که این واحد‌ها می‌توانند بین ۵۱۲ بایت تا چندین مگابایت حجم داشته باشند. سخت‌افزار RAID دارای مدل‌های مختلفی می‌باشد. برخی از آنها بر روی مادربردها یا کارت‌های توسعه یا جانبی قرار می‌گیرند و برخی نیز به شکل سرورهای بزرگ سازمانی NAS یا SAN هستند. ریدها معمولا بر روی سرورها پیاده‌سازی می‌شوند اما گاها می‌توان آنها را بر روی کامپیوترهای قدرتمند نیز نصب کرد.

سیستم RAID

سطوح مختلف RAID

دستگاه‌های RAID دارای نسخه‌های مختلفی مانند RAID 0 و RAID 1 هستند که به آنها سطح گفته می‌شود. تعداد سطوح رید از زمانی که اولین مدل آن ساخته شد، همواره در حال گسترش بوده و هر سطح RAID نیز دارای عملکرد، فضای ذخیره‌سازی، هزینه، میزان تحمل‌خطا و امکانات امنیتی متفاوتی است. علاوه بر این روش‌های مختلفی برای پیاده‌سازی فناوری RAID وجود دارد و باید از بین ۳ روش RAID سخت‌افزاری، RAID نرم‌افزاری و RAID ثابت‌افزاری، یکی را به دلخواه انتخاب کنید. سطوح RAID در کل به سه دسته تقسیم می‌شوند:

  • استاندارد (Standard)
  • تودرتو (Nested)
  • غیر استاندارد (Non-Standard)
سطوح مختلف RAID

سطوح RAID استاندارد

RAID 0

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

سطح RAID 0

RAID 1

اگر هدف اصلی شما حفاظت از داده‌ها و افزونگی است، پس بهتر است از RAID 1 استفاده کنید. این مدل دارای حداقل دو درایو بوده که باعث دو برابر شدن فضای ذخیره‌سازی داده‌ها می‌شود اما مشکل اصلی آن این است که سرعت نوشتن را افزایش نمی‌دهد. RAID 1 بر خلاف RAID 0 از تکنیک Mirroring استفاده می‌کند و فناوری بسیار ساده‌ای نیز دارند. RAID 1 در ابتدا داده‌های شما را بر روی یک دیسک ذخیره کرده و سپس یک کپی جداگانه از آنها را بر روی هر یک از دیسک‌های باقی‌مانده نگه می‌دارد. بنابراین تا زمانی که یکی از دیسک‌ها کار می‌کند، داد‌ه‌های شما از بین نخواهند رفت و در مدت زمان کمی می‌تواند دیسک‌های خراب را تعویض کنید. این مدل رید نسبت به RAID 0 گران‌تر بوده و برای تعویض دیسک‌های آن، حتما باید سیستم خود را خاموش کنید.

سطح RAID 1

RAID 5

در این مدل حتی اگر یکی از درایوها از کار بیفتد(نه بیشتر)، بازهم تداخلی در عملکرد آرایه بوجود نخواهد آمد و علت آن استفاده از رویه توزان بیت یا پریتی (Parity) می‌باشد. معماری آرایه RAID 5 به گونه‌ای است که در آن عملیات‌های خواندن و نوشتن داده‌ها در درایوهای مختلفی انجام می‌شوند و در نتیجه سرعت آن نسبت به مدل‌های تک درایوی بیشتر است (البته نه به اندازه آرایه RAID 0). هر آرایه RAID 5 حداقل به سه دیسک نیاز دارد اما برای افزایش میزان افزونگی و بهبود عملکرد سیستم خود بهتر است حداقل از پنج دیسک استفاده کنید. سرعت راه‌اندازی RAID 5 بهتر از RAID 1 بوده و در مجموع از تحمل خطای بالایی نیز برخوردار می‌باشد. RAID 5 همچنین می‌تواند به خوبی از داده‌های شما محافظت ‌کند. RAID 5 معمولا به عنوان امن‌ترین و محبوب‌ترین نوع رید شناخته می‌شود اما پیاده‌سازی آن کمی پیچیده می‌باشد.

سطح RAID 5

RAID 6

تکنیک استفاده شده در این مدل مشابه RAID 5 می‌باشد اما این سطح دارای یک رویه پریتی ثانویه است که در بین درایوهای آرایه توزیع می‌شود و میزان تحمل خطای آن نیز بالا می‌باشد. آرایه RAID 6 با استفاده از پریتی اضافه، حتی اگر دو دیسک به طور همزمان از کار بیفتند، بازهم به کار خود ادامه خواهد داد. بنابراین میزان حفاظت از داده‌ها در آرایه RAID 6 بهتر RAID 5 است. البته احتمال خرابی همزمان دو دیسک بسیار کم است. آرایه‌های RAID 6 اغلب در نوشتن داده‌ها کندتر از آرایه‌های RAID 5 هستند اما این سرعت تا حد زیادی به نوع کنترلر رید استفاده شده در آرایه بستگی دارد. برای راه‌اندازی RAID 6 حداقل به ۴ دیسک نیاز دارید که این موضوع قطعا باعث افزایش هزینه‌های شما می‌شود. فناوری استفاده شده در RAID 6 پیچیده بوده و قطعا بازسازی آرایه‌ای که دو تا از درایوهای آن از کار افتاده ممکن است زمان‌بر باشد.

سطح RAID 6

RAIDهای تو در تو (Nested)

به سطوحی که از ترکیب سایر سطوح RAID ایجاد می‌شوند، RAID تودرتو یا Nested می‌گویند. RAID 10 رایج‌ترین نوع RAID تودرتو می‌باشد که در ادامه مقاله به آن خواهیم پرداخت.

RAID 10

این مدل در واقع ترکیبی از RAID 1 و RAID 0 بوده و اغلب تحت عنوان RAID 10 شناخته می‌شود. RAID 10 در واقع دو یا چند دستگاه RAID 1 را در قالب یک RAID 0 پیکربندی می‌کند که همین مسئله باعث افزایش تحمل خطای دستگاه می‌شود. با اینکه این مدل از رید عملکرد بهتری از RAID 1 دارد اما هزینه آن بسیار بالاتر بوده و فرآیند راه‌اندازی آن نیز نسبتا پیچیده است. RAID 10 (یا RAID 1+0) از هر دو تکنیک Mirroring و Striping استفاده می‌کند. در این مدل نیز حداقل به ۴ دیسک نیاز دارید و بازسازی دیسک‌های آسیب‌دیده نیز زمان زیادی نمی‌برد.

سطح RAID 10
سطح RAID      توضیحات حداقل تعداد درایو قابلیت حفاظت از داده
RAID 0 تکنیک Striping ۲ ندارد
RAID 1 تکنیک Mirroring ۲ دارد
RAID 5 تکنیک Striping به همراه پریتی ۳ دارد
RAID 6 تکنیک Striping به همراه یک پریتی اضافه ۴ دارد
RAID 10 ترکیب دو تکنیک Striping و Mirroring ۴ دارد

البته علاوه بر سطوح ذکر شده در بالا، سطوح استاندارد دیگری نیز وجود که چندان رایج نیستند و تنها در موارد بسیار خاص مورد استفاده قرار می‌گیرند.

سطح RAID غیر استاندارد:

سطوح RAID غیر استاندارد تفاوت‌هایی با سطوح RAID استاندارد دارند و معمولاً توسط برخی شرکت‌ها یا سازمان‌ها برای استفاده‌های اختصاصی توسعه داده می‌شوند که از جمله آنها می‌توان به RAID-DP، Linux MD RAID 10، RAID-Z و RAID 7 اشاره کرد. RAID 7 رایج ترین رید غیر استاندارد می‌باشد که در ادامه به طور خلاصه با آن آشنا خواهید شد.

RAID 7

این RAID غیر استاندارد مبتنی بر RAID 3 و RAID 4 بوده و یک حافظه کش به این ترکیب آرایه‌ای اضافه می‌کند. RAID 7 دارای یک سیستم‌عامل نهفته (Embedded OS) است که به‌عنوان یک کنترلر عمل می‌کند.

سطح RAID 7

مزایای RAID کدامند؟

RAID دارای مزایای بسیاری است که از جمله آنها می‌توان به موارد زیر اشاره کرد:

  • مقرون‌به‌صرفه بودن به علت استفاده از دیسک‌های ارزان قیمت
  • افزایش میانگین زمان خرابی سیستم
  • بهبود عملکرد سیستم با استفاده از چندین هارد دیسک
  • افزایش میزان دسترسی و انعطاف‌پذیری با استفاده RAID 5
  • بهبود امنیت سیستم و امکان حفاظت از داد‌ها با کمک قابلیت افزونگی
  • افزایش سرعت خواندن و نوشتن با استفاده از RAID 0
  • افزایش حجم ذخیره‌سازی با استفاده از دو یا چند هارد دیسک

معایب و محدودیت‌های RAID کدامند؟

با وجود تمام این مزایا، رید دارای محدودیت‌هایی است که شامل موارد زیر می‌شوند:

  • هزینه بسیار زیاد RAIDهای تودرتو
  • احتمال از دست رفتن داده‌ها در صورت خرابی درایوها
  • طولانی بودن زمان بازسازی درایوهای خراب در برخی از RAIDها
  • خرابی آرایه در صورت از بین رفتن یک درایو (RAID 5)
  • کاهش عملکرد سیستم در صورت عدم استفاده صحیح
  • پیچیده بودن برخی از مدل‌های RAID

RAID نرم‌افزاری و RAID سخت‌افزاری چه تفاوت‌هایی دارند؟

تفاوت RAID نرم‌افزاری و RAID سخت‌افزاری
RAID نرم‌افزاری RAID سخت‌افزاری
RAID نرم‌افزاری از قدرت پردازش سیستم‌عامل کامپیوتری که دیسک‌های RAID بر روی نصب شده‌اند، استفاده می‌کند RAID سخت‌افزاری در واقع سیستم پردازش سفارشی است که از کنترلرها یا کارت‌های مختلف RAID استفاده می‌کند. مدیریت RAID در این مدل کاملا مستقل از سیستم عامل صورت می‌گیرد.
هزینه راه‌اندازی RAID نرم‌افزاری پایین است زیرا نیازی به کنترلر RAID سخت‌افزاری ندارد. با اینکه RAID سخت‌افزاری قابل اعتمادتر است اما برای راه‌اندازی آن باید هزینه بیشتری پرداخت کنید.
پردازنده‌ها به راحتی می‌توانند سطوح RAID 0 و RAID 1 را بدون افت عملکرد قابل توجهی پردازش کنند. برخی از مدل‌های سخت‌افزاری که از حافظه فلش (SSD)، آرایه های HDD استفاده می‌کنند، ممکن است دچار افت عملکرد شوند.
جایگزینی دیسک‌های خراب در RAID نرم‌افزاری کمی پیچیده‌تر است. جایگزینی دیسک‌های خراب ساده است. کافیست دیسک خراب را بیرون بیاورید و دیسک جدید را داخل دستگاه قرار دهید.
به راحتی می‌توان نرم‌افزار RAID را بر روی سیستم عاملی مانند اوبونتو پیکربندی و از آن در سایر سیستم‌ها استفاده کرد. هنگامی که کنترلر RAID از کار می‌افتد، باید حتما آن را با مدلی یکسان جایگزین کنید.

در تهیه این مقاله از مقالات وب‌سایت‌های معتبری مانند Techtarget، Westerndigital، Ontrack و Javatpoint استفاده شده است.