سرور ریکاوری

RAID – Redundant Array of Independent Disks

در صورتی که بخواهیم از اطلاعات یک دیسک موجود در یک سرور یا هر دستگاه دیگری که بسیار مهم و حیاتی می باشند یک پشتیبان داشته باشیم از RAID استفاده می کنیم.
در بسیاری از موارد پیش می آید که هارد دیسک مربوط به دستگاهی خراب می شود و در صورتی که آن دستگاه وظیفه مهمی در شبکه داشته باشد مسلما با مشکل مواجه می شویم. به طور مثال فرض کنید که سرور مربوط به Active Directory ، هارد آن خراب شود، در این صورت می توان گفت عملا کار شبکه مختل خواهد شد و بسیاری مشکلات به وجود خواهد آمد. حال اگر سیستم RAID بر روی هارد دیسک های یک دستگاه فعال شود می توانیم از این مشکل جلوگیری نماییم. با این کار ما Fault Tolerance را برای هارد دیسک ایجاد کرده ایم.

در ابتدا هارد دیسک ها ۲ حالت دارند :

  1. Basic Mode
  2.  Dynamic Mode

زمانی که هارد خود را به اصطلاح قدیم با دستور FDisk پارتیشن بندی می کردیم و یا با خود ویندوز و هر برنامه دیگری الان پارتیشن بندی می کنیم، هارد دیسک ما به صورت عادی حالت Basic می باشد. در حالت Basic ما به هر یک از درایو ها اصطلاحا Partition می گوییم ولی در حالت Dynamic به آن Volume گفته می شود.
هر یک از دو حالتی که در بالا گفته شد دارای تقسیم بندی هستند که در زیر گفته شده است :

Basic Mode

در حالت Basic Mode  موارد زیر را داریم :

  • Primary Partition
  • Extended Partition
  • Logical Drive
Dynamic Mode

در حالت Dynamic Mode  یا پویا موارد زیر را داریم :

  •  Simple Volume
  • Spanned Volume
  •  RAID 0) — Stripped Volume)
  • RAID 1) — Mirror Volume)

هر گاه یک هارد دیسک را از حالت Basic Mode به Dynamic Mode تبدیل کنیم، تمامی پارتیشن های آن به Simple Volume  تبدیل خواهند شد و قابلیت بازگشت به Basic Mode دیگر وجود ندارد.

Simple Volume

Simple Volume ساده ترین نوع Volume می باشد. همچنین این نوع Volume قابلیت Extend شدن دارد و لازم به ذکر است که در این حالت ما Fault Tolerance نداریم و امکان از بین رفتن اطلاعات وجود دارد.

Spanned Volume

برای راه اندازی Spanned Volume باید حداقل ۲ و حداکثر ۳۲ هارد دیسک داشته باشیم. اگر درایو جدیدی در این حالت بخواهیم بسازیم، از فضای تمامی دیسک ها استفاده می کند و مثلا درایو H را می سازد.
در این حالت در هنگام نوشتن اطلاعات ابتدا هارد دیسک اول پر می شود و سپس به سراغ دیسک دیگر می رود و به همین ترتیب ادامه می دهد. اگر یکی از هارد دیسک های Spanned Volume ، از کار بیفتد و یا بسوزد کل آن درایو از بین خواهد رفت، پس در این حالت هم ما Fault Tolerance نداریم.

تمام این مطالب گفته شد تا مبحث RAID که در اینجا تازه شروع می شود بیشتر جا بیفتد

RAID مخفف عبارت Redundant Arraye of Independent Disks است. برای اولین بار در سال ۱۹۸۸ طی مقاله ای توسط ۳ محقق دانشگاه برکلی به نام های Patterson ،Gibson  و Katz معرفی شد. در این مقاله پیکربندی آرایه ای و برنامه ای، برای چندین هارد دیسک ارزان قیمت برای داشتن قابلیت Fault Tolerance یا همان کاهش نرخ خطا و همچنین بهبود و افزایش نرخ دسترسی داده ها مهیا شد.
RAID  قابلیت دسترسی چندگانه به چند دیسک به طور همزمان را مهیا می کند و این باعث می شود که ابتدا خطر از دست دادن اطلاعات که قبلا بر روی یک دیسک بود از بین برود و همچنین زمان دسترسی بهبود یابد.
به طور معمول RAID در فایل سرور های بزرگ، تراکنش در سرورهای برنامه های کاربردی زمانی که Fault Tolerance و زمان دسترسی اهمیت دارد استفاده می شود. اما امروزه در کامپیوترهای رومیزی برای نرم افزارهایی همچون CAD (نرم افزارهای ویرایش فایل های چندرسانه ای) زمانی که نرخ انتقال داده ها بسیار زیاد است استفاده می شود.

RAID چیست ؟

  • Stripped Volume – RAID 0
  • Mirror Volume – RAID 1
  • Disk Stripping With Dedicated Parity Disk – RAID 3
  • Stripped with Parity – RAID 5
  • Disk Striping with Double Distributed Parity – RAID 6
  • Disk Striping with Triple Distributed Parity – RAID TP

انواع RAID

Stripped Volume ) RAID 0 )

RAID 0 یا Stripped Volume  همان قابلیت های Spanned را دارد با این فرق که اطلاعات به صورت مساوی در بین دیسک ها تقسیم می شود و این حالت Performance یا کارایی را برای Read (خواندن) و Write (نوشتن) بهبود می بخشد.

Mirror Volume ) RAID 1 )

RAID 1 یا Mirror Volume متشکل از ۲ هارد دیسک می باشد. هر درایوی را که بخواهیم می توانیم Mirror کنیم. در این حالت کپی از اطلاعات یک دیسک در دیسک دیگر قرار می گیرد و با از کار افتادن یکی از دیسک ها ، دیسک دیگر کار خود را به عنوان جایگزین با در اختیار داشتن تمامی اطلاعات انجام می دهد. در این حالت بالاترین قابلیت Fault Tolerance را شاهد هستیم.

Disk Stripping With Dedicated Parity Disk ) RAID 3 )

RAID 3 یا Disk Stripping With Dedicated Parity Disk ، اطلاعات بین ۲ درایو تقسیم می شوند. در کنار ۲ درایو ، درایو دیگری فقط جهت نگه داشتن parity یا بیت توازن جهت تصحیح خطاها و بازیابی آنها در نظر گرفته می شود. این حالت بیشتر برای برنامه هایی که انتقال داده یکطرفه با نرخ بالا دارند استفاده میشود. این برنامه ها معمولا شامل موارد زیر می شوند :

  • پردازنده های تشخیص گرافیکی ، فایل های CAD و CAM و …
  • برنامه های بدون غیرتراکنشی که حجم داده های ترتیبی بزرگی را پردازش می کنند.

— قابل توجه است که برای این حالت حداقل به ۳ درایو نیاز است.

Stripped with Parity) RAID 5)

در این حالت حداقل ۳ هارد دیسک و حداکثر ۳۲ هارد دیسک می توانیم داشته باشیم. همچنین در این حالت Parity ها به صورت تصادفی در دیسک های مختلف نوشته می شوند و با از دست دادن یک دیسک می توانیم با اضافه کردن دیسک جدید و جایگزین به صورت اتوماتیک هارد دیسک دیگر ساخته و محاسبه و تکمیل گردد. در این حالت هر چه تعداد هارد دیسک ها بیشتر باشد، تلفات اطلاعاتی کمتر خواهد بود و اگر کاملا یک هارد را از دست بدهیم ، برخی اطلاعات برگردانده و ساخته می شود و برخی دیگر از دست می رود که با زیاد بودن این هارد دیسک ها ، مقدار اطلاعاتی که از دست میرود کمتر خواهد بود.
* پیشنهاد می دهم که جاهایی که File Server ، SQL و یا بطور کل Database داریم از RAID 5 استفاده شود.

اخیرا دو RAID دیگر هم به مجموعه RAID ها اضافه شده است که تحت عنوان RAID 6 و RAID TP شناخته می شوند.

(RAID 6 (Disk Striping with Double Distributed Parity

raid 6

 

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

مزایا :
داده روی یک سطح بلوک در میان یک مجموعه از درایوها به همان روش، همانند RAID 5 تقسیم می شود ولی در دومین مجموعه از بیت توازن محاسبه و همچنین نوشتن در سرتاسر تمامی درایوها انجام می شود. RAID 6 تلرانس خطا و همچنین تلرانس خرابی درایو را پیشنهاد می دهد. همچنین تحمل از کار افتادن همزمان چندین درایو را برای ماموریت برنامه های حیاتی را به صورت ایده آل فراهم می کند.
معایب :
RAID 6  به یک کنترلر کامل برای پیاده سازی و جبران کردن سربار محاسبه بیت توازن دو تایی نیاز دارد. همچنین به N+2 درایو برای پیاده سازی ساختار دو بعدی بیت توازن احتیاج دارد. از نو بنا کردن این حالت به طور مشخص بر روی کارایی سیستم تاثیر خواهد داشت.

برنامه های کاربردی پیشنهادی بر روی این حالت :

  • نگهداری و ذخیره سازی سازمانها
  • گرفتن نسخه پشتیبان دیسک به دیسک
  • نرم افزارهایی ویدئویی با کارایی کیفیت بسیار بالا
  • پشتیبان گیری ثابت محتوا یا آرشیوی
  • مقبولیت قوانین ذخیره سازی
  • فاجعه ذخیره بازیابی اطلاعات
(RAID TP (Disk Striping with Triple Distributed Parity

raid tp

همانند RAID 5 و RAID 6 ، در (RAID TP (Triple Parity داده در بین درایوها تقسیم می شود اما محاسبات برای ۳ بیت توازن برای نوشتن در ۳ دیسک خاص انجام می شود. RAID TP از ۳ معادله همچندی برای محاسبه هر بیت توازن خاص که دوباره سازی اطلاعات را در زمانی که ۳ دیسک یا بلوک در یک زمان خراب شوند استفاده می کند.
RAID TP یک سطح اضافی از افزونگی را برای محافظت از داده های شما مهیا می کند.

برنامه های کاربردی پیشنهادی بر روی این حالت :

  • نگهداری و ذخیره سازی سازمانها
  • گرفتن نسخه پشتیبان دیسک به دیسک
  • نرم افزارهایی ویدئویی با کارایی کیفیت بسیار بالا
  • پشتیبان گیری ثابت محتوا یا آرشیوی
  • مقبولیت قوانین ذخیره سازی
  • فاجعه ذخیره بازیابی اطلاعات

* RAID TP برای پیاده سازی حداقل به ۴ درایو نیاز دارد.

به عنوان آخرین نکته در نظر داشته باشید که RAID در کل به دو صورت نرم افزاری و سخت افزاری قابل پیاده سازی می باشد. که در حالت سخت افزاری یک Slot یا درگاه جداگانه برای آن در نظر گرفته می شود و معمولا تحت عنوان RAID controller یا Disk Array Controller شناخته می شود.