RAID یا Redundant Array of Independent Disks چیست؟ (قسمت دوم)

RAID یا Redundant Array of Independent Disks چیست؟ (قسمت دوم)

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

اگر مقاله ی قبل را نخوانده‌اید، برای درک بهتر این مقاله پیشنهاد می کنم اول آن را مطالعه کنید.

همان طور که در مقاله ی قبل گفته شد سطوح RAID در حالت های مختلفی قرار می گیرند: 

  • استاندارد
  • تو در تو
  • غیر استاندارد

بعد از سطوح استاندارد RAID به سطوح تو در تو یا nested می‌رسیم. در این حالت، سطوح RAID مبتنی بر ترکیبی از سطوح استاندارد RAID هستند. در ادامه چند نمونه از سطوح RAID تو در تو را بیان می کنیم:

RAID 10 یا RAID 1+0

با ترکیب RAID 1 و RAID 0، این سطح که اغلب به عنوان RAID 10 شناخته می شود، بوجود می آید. این سطح عملکرد بالاتری نسبت به RAID 1 ارائه می دهد، اما هزینه بسیار بالاتری دارد. در RAID 1+0 داده ها تکراری هستند و این داده های تکراری به صورت striping هستند.

Disk striping: تکنیک تقسیم بندی داده ها به صورت متوالی، مانند یک فایل، به طوری که بخش های متوالی آن داده در دیسک های مختلف ذخیره می شوند.

این سطح RAID برای برنامه های کاربردی که بر روی I/O متمرکز هستند (مانند پایگاه داده، ایمیل و سرورهای وب) و همچنین برای هر کاربرد دیگری که نیاز به عملکرد بالای دیسک دارد مناسب‌تر است.

RAID 01 یا RAID 0+1

RAID 0+1 مشابه RAID 1+0 است، با این تفاوت که روش سازماندهی داده ها کمی متفاوت است. RAID 0+1 به جای ایجاد یک داده به صورت تکراری و سپس striping آن، یک مجموعه داده را ابتدا به صورت striping ایجاد می کند و سپس مجموعه ای که به صورت strip هست را تکرار می کند.

RAID 03 یا RAID 0+3

این سطح از striping در سطح RAID 0 برای بلوک های دیسک مجازی RAID 3 استفاده می کند. این سطح کارایی بالاتری نسبت به RAID 3 ارائه می دهد، اما هزینه بالاتری دارد. همانطور که در RAID 3 در مقاله ی قبل گفته شده بود یک دیسک برای ذخیره ی اطلاعات مربوط به بررسی و تصحیح خطا (ECC) وجود دارد که به آن دیسک های parity گفته می شود. و در این سطح یکی از RAID های سطح صفر، به این کار اختصاص داده شده است.

در علم ذخیره سازی داده ها، parity یا افزونه یا توازن، تکنیکی است برای بررسی این که اطلاعات و داده ها در طول زمان یا جابجایی از مکانی در حافظه بین کامپیوترها،  دچار تغییر و خطا شده است یا خیر.

RAID 50 یا RAID 5+0

این پیکربندی سطح 5 را با قابلیت سطح صفر ترکیب می کند. در سطح 5 بلوک های parity در دیسک ها توزیع شده است و در سطح صفر از قابلیت striping استفاده شده است و در این پیکربندی RAID 50، این دو قابلیت ترکیب شده است تا عملکرد RAID 5 بدون کاهش حفاظت از داده ها، بهبود یابد.

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

در مجموعه های RAID 5، در زمان هایی که اتفاق ناگواری برای دیسک ها می افتد، داده ای از دست نمی رود. برای مثال، یک پیکربندی RAID 50 شامل سه مجموعه RAID 5، می‌تواند حداکثر سه خطای همزمان بالقوه درایو را تحمل کند (در هر مجموعه RAID 5 یک دیسک برای بالا بردن تحمل خطا).

از آن جایی که قابلیت اطمینان سیستم به تعویض سریع درایو خراب بستگی دارد تا آرایه ی دیسک ها بتوانند دوباره ساخته شوند؛ در این مواقع رایج است که سیستم شامل قطعات یدکی باشد که می توانند بلافاصله پس از خرابی جایگزین شده و  شروع به بازسازی آرایه کنند. RAID 50 می تواند این حالت را داشته باشد.

RAID 50 عملکرد RAID 5 را به ویژه در هنگام نوشتن بهبود می بخشد و تحمل خطای بهتری را نسبت به یک سطح RAID ارائه می دهد. این سطح برای برنامه هایی که به تحمل خطا، ظرفیت و عملکرد دسترسی تصادفی بالا نیاز دارند، توصیه می شود.

هرچه تعداد درایو ها بیشتر باشد، علاوه بر این که ظرفیت هم بالاتر می رود، زمان ریکاوری بعد از یک خطا نیز کم تر می شود.

RAID 60 یا RAID 6+0

در این پیکربندی، striping در سطح بلوک RAID 0 را با parity های مضاعف و توزیع شده در RAID 6 ، ترکیب می‌کند که منجر به یک آرایه RAID 0 می‌شود که در آن عناصر RAID 6 به صورت strip هستند. این پیکربندی حداقل به هشت دیسک نیاز دارد.

RAID 100 یا RAID 1+0

این پیکربندی ترکیب حالت RAID10  با حالت RAID 0 می باشد. در واقع RAID 0  را روی چند RAID 10 اعمال می کند.

مقایسه ی سطوح تو در تو در RAID

در جدول زیر بین سطوح مختلف RAID که به صورت تو دو تو هستند مقایسه ای انجام شده است: 

سطح توضیححداقل درایو مورد نیاز
RAID 01Striping در سطح بلوک و تکرار دیسک ها بدون استفاده از parity4
RAID 03Striping در سطح بلوک و striping در سطح بایت، با استفاده از درایوهای parity مجزا6
RAID 10تکرار دیسک ها و striping کردن بلوک های هر دیسک بدون استفاده از parity4
RAID 50Striping در سطح بلوک و با استفاده از درایوهای parity توزیع شده6
RAID 60Striping در سطح بلوک و با استفاده از درایوهای parity توزیع شده و مضاعف8
RAID 100تکرار دیسک ها به همراه دو لایه striping بدون استفاده از parity8

 

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

RAID 7

این سطح RAID مبتنی بر RAID 3 و RAID 4 است که به آن Cache  اضافه شده است. این سطح شامل یک سیستم عاملembedded  است که به صورت real-time  عمل می کند و در نقش کنترل‌کننده RAID می باشد و به واسطه ی آن، ذخیره‌سازیCache  از طریق یک bus پرسرعت امکان پذیر می باشد.

Adaptive RAID

این سطح به کنترلر RAID امکان می دهد تصمیم بگیرد که چگونه parity را روی دیسک ذخیره کند. این کنترلر می تواند بین RAID 3 و RAID 5 انتخاب کند. این انتخاب بستگی به نوع مجموعه RAID دارد که براساس نوع داده ای که روی دیسک نوشته می شود عملکرد بهتری داشته باشد.

Linux MD RAID 10

این سطح که توسط هسته لینوکس ارائه شده است، از ایجاد آرایه های RAID تو در تو و غیر استاندارد پشتیبانی می کند. نرم افزار لینوکس RAID همچنین می تواند از ایجاد تنظیمات استاندارد RAID 0، RAID 1، RAID 4، RAID 5 و RAID 6 پشتیبانی کند.

جمع بندی 

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

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


online-support-icon