با افزایش حجم اطلاعات رایانه ای در عصر حاضر، شاهد مشکلات ناشی از ذخیره نامناسب داده های با حجم بالا، عدم سرعت برای دسترسی مجدد و عدم مدیریت مناسب آنها می باشیم. از اینرو روشهای متفاوت ذخیره داده ها از طرف شرکتهای متفاوتی ارائه می شود که این روشها پس از بررسی در سازمانهای معتبر جهانی به عنوان استاندارد به کاربران جهانی ارائه می شود.
متداولترین و ساده ترین روش ذخیره داده ها ، در حال حاضر
RAID: Redundant Array of Independent Drives
می باشد و در صورتیکه سخت افزار شما آنرا پشتیبانی نماید، حتی در PC های خانگی نیز قابل اجراست.
RAID را به سادگی میتوان نحوه ساماندهی به چگونگی ذخیره داده ها بر روی مجموعه ای از دیسکهای سخت ، تعریف نمود.
استفاده از RAID مزایای زیر را فراهم می آورد:
1- افزایش حجم ذخیره سازی بدون خرید دیسکهای با حجم بالا و بار مالی زیاد
2- دسترسی سریعتر به داده ها با توجه به نوع پیاده سازی
3- قابلیت افزایش اطمینان بقای داده ها یا Availability
4- امکان بازیابی داده های از بین رفته و جایگزینی آن بطور اتوماتیک
5- دسترسی کاربران متعدد به داده ها بطور همزمان
یک سیستم RAID شامل مجموعه ای از دیسکهای سخت برای ذخیره داده ها ، کنترلرهایی که با مدیریت نرم افزار وظیفه پردازش داده ها و تقسیم آنها را بین دیسکها بر عهده دارند، کابلها، سیستمهای خنک کننده و... می باشد.
در ادامه به معرفی انواع RAID و توضیح مختصری از هر کدام می پردازیم:
JBOD : Just a Bunch Of Disks
از دو یا چند دیسک تشکیل می شود که می توانند دارای حجمهای متفاوتی باشند و هنگام ذخیره داده بترتیب از دیسک اول تا آخرین دیسک شروع به پر شدن می نمایند. حجم حافظه کل روی این مجموعه برابر با حجم تمامی دیسکهای موجود می باشد. این مجموعه هیچ فرقی از نظر افزایش سرعت دسترسی یا تامین بقای داده با یک دیسک تنها ندارد.
موارد استفاده این روش زمانی است که بخواهیم از دیسکهای کوچکی که استفاده چندانی ندارند، حجم مناسبی از حافظه بسازیم و یا دارای حافظه ای با مدیریت ساده باشیم که در آن تمامی دیسکها مثل یک دیسک واحد دیده شوند.
RAID 0
در این نوع RAID هر داده به تعداد دیسکها تقسیم شده و بطور موازی روی تمام دیسکها نوشته می شود. به این پردازش Striping یا ریز کردن داده گفته می شود. این روش باعث می شود تا سرعت دسترسی به داده ها بالا رود چرا که وقتی یک داده از روی n دیسک همزمان خوانده میشود زمان خوانده شدن به میزان 1/n کاهش می یابد ، اما تامین بقای داده ها پایین می آید چون اگر یکی از دیسکها دچار مشکل شود، تمامی اطلاعات از بین خواهد رفت به همین دلیل این نوع RAID برای مواردی که داده ها قابلیت تولید مجدد ندارند یا برای سیستمهای دارای شرایط بحرانی توصیه نمی شود.
این نوع RAID دارای دو یا چند دیسک با حجم مساوی است که حجم نهایی از مجموع تمامی دیسکها بدست می آید.
این نوع RAID برای شرایط زیر مناسب می باشد:
1- برای ذخیره کتابخانه های تصاویر یا کتابخانه های برنامه های در حال اجرا چرا که یک نسخه پشتیبان روی مدیای دیگر وجود دارد.
2- برای ذخیره جداول بسیار بزرگ و یا داده های فقط خواندنی برای برنامه هایی که نیاز به دسترسی سریع به داده ها دارند و امکان تهیه یک نسخه پشتیبان برای زمان بروز خطا وجود دارد.
3- وارد کردن اطلاعات از منابع خارجی با نرخ انتقال داده بسیار بالا
و برای برنامه هایی که لیستی از درخواستها (Sequential Requests) را برای مقادیر کوچک داده ایجاد می نمایند یا لیستی از درخواستهای همزمان (Synchronous Random Requests) برای داده های کوچک میسازند، که بیشترین زمان را برای گردش دیسک و I/O ها صرف مینمایند، مناسب نمی باشد.
RAID 1
در این نوع RAID هر داده به تعداد دیسکها کپی میشود تا هم سرعت دسترسی و هم تامین بقای داده در سطح بالا فراهم گردد. این پردازش را فرآیند آینه ای یا Mirroring می نامند. اگر در این حالت یک دیسک از بین برود کنترل کننده RAID درخواستها را به اعضای دیگر RAID ارجاع می دهد.
این نوع RAID برای شرایطی که بقای داده ها در سطح بالا با نرخ دسترسی بالا مورد نظر باشد و هزینه حافظه در درجه دوم اهمیت باشد، مناسب است.
در این روش داده ها به بخشهایی تقسیم میشوند، بیت توازن یا Parity محاسبه میشود ، داده ها بطور موازی در دیسکهای مختلف و بیت توازن در یک دیسک مجزا نوشته می شوند. این پردازش را Striping with Parity می نامند. دیسک Parity اطلاعات اضافی درباره داده های سایر دیسکها ذخیره می سازد. اگر یکی از دیسکها دچار مشکل شود، بیت توازن با کمک داده های دیگر دیسکها اطلاعات دیسک خراب را بازسازی می نماید. ریز کردن داده ها نرخ دسترسی بالا و بیت توازن بقای داده مناسبی را برای RAID 3 فراهم می آورد. اما نوشته شدن تمامی بیتهای توازن روی یک دیسک گلوگاهی دائمی برای این روش محسوب می گردد.
RAID 3 از دو یا چند دیسک برای داده ها و یک دیسک برای بیت توازن تشکیل می شود. حجم نهایی این روش از مجموع دیسکهای داده بدون محاسبه دیسک Parity بدست می آید.
RAID 3 برای برنامه هایی که دارای درخواستهای ترتیبی برای داده های با حجم بالا هستند، مثل پردازش تصاویر ویدئویی یا گرافیکی و یا فایلهای CAD/CAM مناسب و بطور متمایز دارای کارایی عالی برای برنامه های متمرکز انتقال داده و نه برنامه های متمرکز برای درخواستهای I/O می باشد.
RAID 5
در این روش نیز مثل RAID 3داده ها به بخشهایی تقسیم میشوند، بیت توازن یا Parity محاسبه میشود ، اما داده ها و Parity بطور موازی در دیسکهای مختلف نوشته می شوند. گلوگاه مربوط به نوشته شدن بیتهای توازن روی یک دیسک در این نوع RAID از بین رفته است.
محاسبه بیت توازن از XORداده های معمولی بدست می آید و در صورت بروز خطا با عکس این رابطه میتوان داده از دست رفته را محاسبه کرد.
RAID 5 از دو یا چند دیسک برای داده ها و یک دیسک برای بیت توازن تشکیل می شود. حجم نهایی این روش از مجموع دیسکهای داده بدون محاسبه دیسک Parity (گرچه بیت توازن در تمامی دیسکها پخش شده است) بدست می آید.
RAID 5 برای استفاده در حالتهایی که داده ها دارای مشخصات زیر باشند، مناسب است:
1- داده ها دارای ارزش نگهداری هستند اما نه به اهمیت RAID 1
2- نرخ خواندن داده بالا
3- نسبت نوشتن داده ها به خواندن آنها کم باشد.
RAID 6
این نوع RAID همان RAID 5 می باشد با این تفاوت که پس از تقسیم داده ها، محاسبه دو بیت توازن انجام می پذیرد و دو دیسک برای Parity باید در نظر گرفته شود. با این کار اگر دو دیسک از مجموع دیسکهای RAID دچار مشکل شود باز هم سیستم به کار خود ادامه خواهد داد.
این روش برای شرایطی مورد استفاده قرار می گیرد که بقای داده ها در بالاترین حد مورد نیاز باشد.
سطوح مختلف RAID را میتوان به صورتهای زیر ترکیب نمود:
RAID 0+1 همان RAID 1 است که دارای اعضای متشکل از RAID 0 می باشد.
RAID 1+0 همان RAID 0 است که دارای اعضای متشکل از RAID 1 می باشد.
RAID 5+0 همان RAID 0 است که دارای اعضای متشکل از RAID 5 می باشد.
دیسکهای یدکی Hot Spare Disks
دیسکهای اضافی یا یدکی ، دیسکهایی هستند که روی سیستم نصب می شوند اما تا زمانیکه یکی از اعضای زیر بار RAID دچار مشکل نشده باشد استفاده نمی شود. وقتی یکی از دیسکهای RAID به هر دلیلی خراب شود یا از مدار خارج گردد، با این دیسک بدون مداخله کاربر جایگزین می گردد.