RAID چیست و چگونه کار می کند ؟ (بخش اول)

اشتراک

RAID چیست و چگونه کار می کند ؟ (بخش اول)

اگر تاکنون به دنبال خرید یک سرور سخت افزاری و یا تجهیزاتی مثل NAS یا SAN بوده اید حتما با واژه RAID برخورد کرده اید.

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

RAID چیست ؟

 

کلمه  RAID مخفف  Redundant Array Of Independent (Inexpensive) Disks می باشد. به صورت معمول وقتی صحبت از RAID می شود در واقع ما در مورد دو یا چندین دیسک سخت افزاری صحبت می کنیم که در کنار هم قرار گرفته اند و به کمک هم می توانند یا کارایی یک سیستم را بالا ببرند و یا خطاپذیری یا Fault Tolerance  یک سیستم را افزایش بدهند ، این سیستم معمولا یک سرور سخت افزاری و یا یک دستگاه  NAS Storage است. به این نکته توجه کنید که RAID هم می تواند کارایی یا Performance را بالا ببرد ، هم خطاپذیری یا Fault Tolerance را بالا ببرد و هم می تواند بر حسب نوع و سطح RAID ای که انتخاب می کنیم هر دوی این موارد را بالا ببرد. وقتی صحبت از Fault  Tolerance یا خطاپذیری می شود یعنی اینکه RAID به ما این قابلیت را می دهد که در صورت بروز خطا برای یک یا چند هارد دیسک ، اطلاعات و سرور ما دچار اختلال نشده و به کار خود ادامه بدهد و بتواند در برابر این خطایی که ایجاد شده است مقاومت کند که یک درجه ایمنی بسیار خوب برای سرورهای سخت افزاری به حساب می آید.

پس از هدف از RAID کردن ، رسیدن به حداقل یکی از مزایای زیر است :

 

  1. امنیت دیتا یا همان تحمل خطا (Fault tolerance)
  2. افزایش سرعت Read/Write و در نتیجه افزایش کارایی یا  Performance

روشی که شما برای خطاپذیری یا Fault Tolerance در RAID انتخاب می کنید دقیقا وابسته به نوع RAID ای است که شما انتخاب می کنید. نوع RAID را به عنوان سطح یا RAID Level هم می شناسیم. سطح RAID ای که ما انتخاب می کنیم به عوامل مختلفی بستگی دارد که از آن جمله می توانیم به تعداد دیسک هایی که در اختیار داریم ، حساسیت اطلاعات موجود ، روش بازیابی اطلاعات ، نیاز شما به این اطلاعات و در نهایت کارایی و سرعتی است که شما به آن نیاز دارید . برای مثال اهمیت اینکه داده های شما بعد از به مشکل خوردن و سوختن یکی از هارد دیسک های سرور به اشکال نخورده و سرور همچنان بتواند به سرویس دهی خود ادامه دهد و خللی در کارش وارد نشود در یک سازمان قطعا خیلی خیلی بیشتر از یک کاربر خانگی است که برای پشتیبان گیری از اطلاعات خودش ساختار RAID را پیاده سازی کرده است. سطوح مختلف RAID دارای پیکربندی ها و قابلیت های مختلفی در ارائه خدمات Fault Tolerance و Performance هستند که شما بر اساس نیاز خودتان یکی از آنها را انتخاب می کنید.

مروری بر تکنولوژی RAID

 

تکنولوژی RAID برای سازمان ها و شرکت هایی طراحی شده است که خطا پذیری دیسک ها و بالا بودن کارایی دستگاه از اولویت ها محسوب می شود. سرورهای سخت افزاری و تجهیزات NAS ای که در مراکز داده مورد استفاده قرار می گیرند معمولا بر روی خودشان دستگاه یا بورد سخت افزاری به نام RAID Controller دارند که مجموعه دیسک هایی که در RAID استفاده می شود را مدیریت می کنند . این بورد های سخت افزاری بسته به سخت افزاری که بر روی آنها نصب می شود می توانند چندین هارد دیسک SSD ،  SATA یا SAS را بر روی خود نگه دارند. البته این Controller های سخت افزاری معمولا روی سرورهای سخت افزاری وجود دارد به عنوان مثال سرورهای شرکت HP برای خود یک کنترلر دارند که بعضا با استفاده از نرم افزاری به نام HP Smart Start در Boot سیستم و حتی قبل از نصب سیستم عامل راه اندای می شوند. در ابتدا طراحی RAID فقط برای سرورها و NAS Storage های سازمانی طراحی شده بود اما امروزه حتی PC های خانگی و NAS های کوچک هم قابلیت پیاده سازی RAID را بر روی خود دیده اند و حداقل دو عدد هارد دیسک را می توانید بر روی این دستگاه ها مشاهده کنید ، بنابراین امروزه RAID را دقیقا مشابه همان چیزی که در سازمان ها مشاهده می کنید در مصارف خانگی نیز خواهید دید. به این نوع RAID ها که دارای یک سخت افزار خاص برای نگهداری هارد دیسک ها و مدیریت آنها می باشند Hardware RAID یا RAID سخت افزاری گفته می شود.

حال به بررسی انواع RAID و ویژگی آن ها می پردازیم . همانطور که گفته شد دو نوع RAID داریم :

 

  1. RAID به صورت سخت افزاری
  2. RAID به صورت نرم افزاری

 

1 – RAID به صورت سخت افزاری

 

رید سخت افزاری به دو صورت انجام می پذیرد :

  1. به صورت یک کارت مستقل
  2. به صورت یکپارچه ارائه شده بر روی چیپست مخصوص

 

A – به صورت یک کارت مستقل

 

یک نوع کارت قابل نصب بر روی اسلات های PCI-X یا PCIe مادربرد است که پردازشگر و کنترولر I/O بر روی آن تعبیه شده است. قیمت برخی از این کارت ها بالا است اما انعطاف پذیری آن باعث شده روشی مناسب در بین روش های RAID به حساب آید. در اینجا عملکرد RAID از سیستم میزبان کاملاً جدا است. شخصیت مستقل این کارت اجازه استفاده حداکثری از قدرت پردازشگر و رم سریعتر آن را ممکن می‌سازد. کارت RAID بصورت کامل و با تمام ظرفیت وظایف ذخیره سازی در دیسک های مستقل را حتی هنگام خرابی دیسک ها انجام می‌دهد. مزایای پیچیده و فضای بیشتر دیسک ها به عنوان نمونه در سطوح RAID 5,6 بدون فشار بر روی سیستم در این روش قابل دسترسی است.

رابط های I/O اضافی بر روی کارت معمولاً بسط پذیری بیشتری ( اضافه کردن دیسک های بیشتر با ظرفیت بیشتر ) را برای سیستم فراهم می آورد. حتی آرائه های RAID چندگانه فشاری بر عملکرد سیستم ندارند. در نتیجه مهاجرت به سایر سیستم عامل ها،دستگاهها و پلت فرم‌ها ممکن است.

مزایا و معایب این روش:

 

– محافظت هنگام بوت (هیچ فشار منفی هنگام بوت سیستم در زمان خرابی های متوسط یا کامل وجود ندارد)

– عملکردی مستقل از بار اعمالی بر روی سرور ( رم سریع، پردازشگر سریع و بدون فشار بر روی سیستم میزبان)

– برنامه RAID مستقل از میزبان (عدم از دست دادن اطلاعات در اثر خرابی سیستم)

– حفاظت پیشرفته در صورت قطع شدن برق (برخلاف RAID نرم افزاری)

– عدم آسیب پذیری به ویروس

– بهره مندی از کاربر گرافیکی مستقل برای مدیریت و ساخت RAID

– سهولت در مهاجرت و جایگزینی

– پشتیبانی از ویژگی های پیشرفته RAID

– قابلیت کَش روی کنترولر با استفاده از باطری پیشتیبان

– هزینه بالای پردازشگر I/O، مموری روی کارت.

B – به صورت یکپارچه بر روی سیستم (ROC)

 

در این روش، پردازشگر رید، کنترولر رم، رابط کاربری، رابط I/O برای ارتباط با هارد دیسک ها، و برخی اوقات خود رم، تمامی در یک چیپ جمع شده اند. این چیپ می‌تواند در یک مادربرد با هزینه پایینی تعبیه شده باشد. ROC جایگزین شده با چیپ I/O را می‌توان بر روی بسیاری از مادربردهای سرور یافت.

Storage Controller چیپستی که روی مادربرد PC ها قرار دارد و با اتصال هارددیسک ها به این چیپست امکان استفاده از هاردها فراهم می شود و به نوعی واسط بین هارد و سیستم عامل است.

 

مزایا و معایب RAID سخت افزاری مبتنی بر ROC: 

 

– محافظت هنگام بوت (هیچ فشار منفی هنگام بوت سیستم در زمان خرابی های متوسط یا کامل وجود ندارد)

– عملکردی مستقل از بار اعمالی بر روی سرور ( رم سریع، پردازشگر سریع و بدون فشار بر روی سیستم میزبان)

– برنامه رید مستقل از میزبان (عدم از دست دادن اطلاعات در اثر خرابی سیستم)

– حفاظت پیشرفته در صورت قطع شدن برق (برخلاف رید نرم افزاری)

– عدم آسیب پذیری به ویروس

– بهره مندی از کاربر گرافیکی مستقل برای مدیریت و ساخت رید

– سهولت در مهاجرت و جایگزینی

– پشتیبانی از ویژگی های پیشرفته رید

– قابلیت کَش روی کنترولر با استفاده از باطری پیشتیبان

– هزینه متوسط

– محدودیت در انعطاف پذیری و مهاجرت

 

2 – RAID به صورت نرم افزاری

 

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

در رید نرم افزاری شما می توانید هارد دیسک های خود را با هم رید کنید و اینکار را بدون نیاز به داشتن سخت افزار خاصی مثل RAID Controller انجام دهید. در رید های سخت افزاری این رید  Controller  است که وظیفه مدیریت رید را برعهده دارد اما در رید های نرم افزاری این سیستم عامل است که می تواند کلیه کارهای مربوط به رید را انجام و مدیریت کند. جالب اینجاست که امروزه حتی در ویندوزهای نسخه دسکتاپ هم شما قابلیت پیاده سازی رید را دارید ، در ویندوز هشت و یک قابلیتی به نام Storage Pool اضافه شده است که کاربر براحتی می تواند با استفاده از آن رید نرم افزاری ایجاد کند . جالب اینجاست که شما در Storage Pool می توانید بر روی یک هارد دیسک دو عدد پارتیشن ایجاد کنید که یکی برای بوت شدن سیستم عامل و دیگری برای نگهداری داده های شما استفاده شود و پارتیشنی که در آن داده وجود دارد را می توانید Mirror کنید.

این نوع ساختار رید نرم افزاری در سیستم عامل های دیگری مثل OS X سرور ، لینوکس و ویندوزهای سرور هم وجود دارد. با توجه به اینکه امروزه قابلیت رید در تمامی سیستم عامل ها تقریبا وجود دارد و به عنوان یک قابلیت پیش فرض در نظر گرفته می شود این نوع ساختار رید دیگر هزینه ای برای پیاده سازی ندارد. با استفاده از قابلیت رید نرم افزاری امروزه شاهد پیاده سازی راهکار های رید های مجازی هم هستیم که توسط برخی از Vendor ها ارائه می شوند.

 

کاربردهای RAID نرم افزاری :

 

  1. به عنوان یک راه حل نرم افزاری خالص (Pure)
  2. به عنوان یک راه حل ترکیبی که شامل سخت افزارهای طراحی شده برای بهبود کارایی پردازشگر است.

 

1 – به عنوان یک راه حل نرم افزاری خالص (Pure):

 

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

 

برخی مزایا و معایب این روش:

 

– هزینه پایین (تنها هزینه، دیسک های اضافه شده است)

– عدم محافظت در هنگام بوت (عدم قابلیت مدیریت و محافظت از دیسک های خراب در مرحله بوت)

– بار اضافی تحمیلی بر روی سرورها (بدلیل اجرا شدن روی سیستم عامل. این روش برای RAID 0,1,10 پیشنهاد می‌شود)

– محدودیت در مهاجرت به سیستم عامل دیگر

– آسیب پذیری در مقابل ویروس‌ها

– امکان از دست دادن تمام داده ها بدلیل مشکلات سخت افزاری یا نرم افزاری سیستم عامل

– عدم استفاده از قابلیت کش

2 – به عنوان یک راه حل ترکیبی – سخت افزار با کمک نرم افزار:

 

 در این روش نرم افزار رید با کمک سخت افزارهای اضافه شده بر روی مادربرد مانند یک HBA با یک بایوس رید که ضعف راه حل قبلی را هنگام بوت سیستم برطرف می‌سازد، انجام وظیفه می‌کند. بعلاوه اینکه درایورهای سخت افزاری مورد استفاده در این روش توسط اکثر سیستم های عامل مطرح پشتیبانی می‌شود.

 

برخی مزایا و معایب این روش:

 

– هزینه معقول (فقط یک HBA و یا یک فلش دیسک برای بایوس به عنوان هزینه تحمیل خواهد شد)

– محافظت در هنگام بوت

– کاربر گرافیکی مخصوص برای ساخت و نگهداری رید

– سایر معایب موجود در روش اول

 

در بخش دوم به بررسی سطوح مختلف رید می پردازیم.

 

در مقاله بعدی در مورد رید های دیگر صحبت خواهیم کرد. برای محاسبات رید مورد نیاز خود می توانید به آدرس زیر مراجعه نمایید.

http://www.raid-calculator.com

 

یک دیدگاه

  • avatar
    مریم
    مهر 24, 1396

    ممنون خیلی عالی بود

ارسال دیدگاه

Your email address will not be published. Required fields are marked *

ده + پنج =

*