RAID چیست و چه کاربردهایی دارد؟
RAID (مخفف Redundant Array of Independent Disks) یکی از متداول ترین شیوههایی است که در سامانههای ذخیرهسازی داده جهت افزایش کارایی و قابلیت اطمینان دسترسی به دادهها استفاده میشود.
RAID (مخفف Redundant Array of Independent Disks) یکی از متداولترین شیوههایی است که در سامانههای ذخیرهسازی داده جهت افزایش کارایی و قابلیت اطمینان دسترسی به دادهها استفاده میشود. RAID شامل تعدادی دیسک (HDD/SSD)، کنترلکننده سختافزاری یا نرمافزاری برای توزیع داده بر روی دیسکها و مدیریت آرایه است. در این مکانیزم، مجموعهای از دیسکهای مستقل با یک پیکربندی مشخص RAID ستاپ میشود و بهعنوان یک block device واحد به لایههای بالایی نشان داده میشود. با توزیع داده میان چند دیسک مستقل (بهجای یک دیسک)، کارایی افزایش پیدا میکند. همچنین با توجه به سطح RAID روشهایی مانند کپی گرفتن از دادهها روی برخی دیسکهای آرایه استفاده میشود که قابلیت اطمینان دسترسی به داده را نیز بالا میبرد.
سه مفهوم پایه در مورد RAID وجود دارد: stripe unit، mirroring و parity. در یک آرایه RAID، دادهها جهت توزیع بین دیسکها به بلوکهای کوچکتر تقسیم میشوند. سایز یک بلوک داده که به هرکدام از دیسکهای آرایه ارسال میشود stripe unit نامیده میشود و در هنگام ساخت آرایه تنظیم میشود. آینهسازی (mirroring) در اصطلاح به عمل ذخیرهسازی یک کپی اضافی از بلوک داده در دیسکهای دیگر آرایه جهت افزایش قابلیت اطمینان گفته میشود. بدینترتیب، در هنگام وقوع خرابی یک دیسک، داده از دیسک دیگر قابلخواندن است. بیت توازن (Parity) نیز بهمنظور محافظت داده در برابر خرابیهای دیسک استفاده میشود. در این روش، بهجای ذخیرهسازی یک کپی از هر بلوک داده، بیتهای توازن برای چند بلوک محاسبه و ذخیره میشود و هزینه تضمین قابلیت اطمینان کم میشود.
سطوح پایهای RAID که در اکثر سامانههای ذخیرهساز داده ازجمله محصولات شرکت HPDS پشتیبانی میشوند عبارتاند از RAID-1، RAID-5 و RAID-6. (RAID های ترکیبی نیز در محصولات HPDS پشتیبانی میشوند که در پستهای دیگر در مورد آنها صحبت میکنیم).
در RAID-1، دو دیسک در آرایه وجود دارد و داده در هر دو دیسک کپی آینهای میشود تا تحملپذیری خطا ایجاد کند. بدین ترتیب، سرعت نوشتن آرایه معادل یک دیسک و سرعت خواندن آن (به دلیل خواندن همزمان از هر دو دیسک) میتواند معادل سرعت دو دیسک باشد.
در RAID-5، به ازای هر توزیع داده بین n-1 دیسک آرایه، یک بلوک بیتهای توازن محاسبه و در دیسک nام ذخیره میشود و قابلیت تحملپذیری خرابی یک دیسک ایجاد میشود. در صورت خرابی یکی از دیسکها، با استفاده از دادههای دیسکهای دیگر و بیتهای توازن، میتوان بلوک دادههای از بین رفته را محاسبه کرد. همچنین، لازم به ذکراست، که شماره دیسکی که در آن بیتهای توازن نوشته میشوند، به ازای هر مجموعهای از بلوکها که نوشته میشوند، بهصورت چرخشی بین دیسکها تغییرمی کند و درون همه دیسکها پخش میشوند.
RAID-6 نیز مانند RAID5 از بیتهای توازن استفاده میکند ولی تعداد بیتهای توازن و الگوریتم محاسبهی آن متفاوت است. RAID-6 تحملپذیری خرابی تا دو دیسک را دارا است. در این روش نسبت به RAID5 معمولاً به دلیل تولید دو بلوک بیت توازن و الگوریتم پیچیدهتر آن، سرعت نوشتن کمتر است.

