
RAID چیست و چه کاربردی دارد؟
RAID روشی برای کنار هم قرار دادن چند هارد دیسک یا حافظه SSD است تا هم سرعت خواندن و نوشتن داده بالاتر برود و هم در صورت خراب شدن یک دیسک، اطلاعات از بین نرود. تکنولوژی RAID امروز تقریبا در هر سرور و دیتا سنتر حرفهای وجود دارد و پایه اصلی ذخیرهسازی امن محسوب میشود. […]
RAID چیست و چه کاربردی دارد؟
RAID روشی برای کنار هم قرار دادن چند هارد دیسک یا حافظه SSD است تا هم سرعت خواندن و نوشتن داده بالاتر برود و هم در صورت خراب شدن یک دیسک، اطلاعات از بین نرود. تکنولوژی RAID امروز تقریبا در هر سرور و دیتا سنتر حرفهای وجود دارد و پایه اصلی ذخیرهسازی امن محسوب میشود.
RAID چیست؟
RAID مخفف Redundant Array of Independent Disks و به معنی «آرایه افزونهای از دیسکهای مستقل» است. سادهتر بگوییم، در RAID چند هارد دیسک کنار هم قرار میگیرند تا اطلاعات به شکل مشخصی میان آنها توزیع یا روی چند دیسک کپی شود.
سیستم عامل این مجموعه را معمولا به صورت یک فضای ذخیرهسازی واحد میشناسد و کاربر نیازی ندارد بداند دادهها دقیقا روی کدام دیسک قرار گرفتهاند. در تعریف رسمی TechTarget، یکی از منابع تخصصی حوزه فناوری اطلاعات، درباره نحوه نمایش آرایه RAID برای سیستم عامل آمده است:
“RAID arrays appear to the operating system (OS) as a single logical drive.” «آرایههای RAID برای سیستم عامل مانند یک درایو منطقی واحد دیده میشوند.»
آرایه RAID با دو هدف اصلی مورد استفاده قرار میگیرد: افزایش سرعت دسترسی به دادهها و کاهش خطر از دست رفتن اطلاعات در صورت خرابی یک یا چند دیسک. البته میزان تاکید بر هر کدام از این موارد به نوع RAID بستگی دارد؛ بعضی پیکربندیها بیشتر روی سرعت تمرکز دارند و بعضی دیگر حفاظت از دادهها را در اولویت قرار میدهند. برخی انواع RAID هم تلاش میکنند میان سرعت و امنیت اطلاعات تعادل ایجاد کنند.
تاریخچه کوتاه RAID
ایده RAID برای اولین بار در سال هزار و نهصد و هشتاد و هشت توسط پژوهشگران دانشگاه برکلی مطرح شد. آن زمان هارد دیسکها، بزرگ و گران بودند، پس محققان به این فکر افتادند که چند دیسک کوچک و ارزان را کنار هم بگذارند و به جای یک دیسک گران قیمت، از مجموعهای از دیسکهای ساده استفاده کنند. با گذر زمان قیمت دیسکها پایین آمد ولی نیاز به امنیت و سرعت بیشتر شد، به همین خاطر معنای حرف I در RAID از Inexpensive به Independent تغییر کرد.
RAID چگونه کار میکند؟
پشت هر سیستم RAID، سه تکنیک اصلی وجود دارد که به شکلهای مختلف با هم ترکیب میشوند:
- استریپینگ (Striping): داده به تکههای کوچک تقسیم و روی چند دیسک پخش میشود تا خواندن و نوشتن همزمان انجام شود و سرعت بالا برود.
- میرورینگ (Mirroring): یک نسخه کامل و یکسان از داده روی دو یا چند دیسک کپی میشود، یعنی اگر یک دیسک از کار بیفتد، نسخه دوم همچنان سالم است.
- پریتی (Parity): اطلاعاتی محاسباتی کنار داده اصلی ذخیره میشود که در صورت خرابی یک دیسک، بتوان داده گمشده را از روی همین اطلاعات بازسازی کرد.
Write Penalty و فرایند بازسازی در RAID
یکی از نکاتی که معمولا کمتر درباره RAID مطرح میشود، Write Penalty یا «هزینه نوشتن» است. در سطوحی مانند RAID 5 و RAID 6 که از Parity استفاده میکنند، ثبت داده جدید فقط به نوشتن اطلاعات محدود نمیشود و محاسبه و بهروزرسانی پریتی هم باید انجام شود. این عملیات اضافه میتواند سرعت نوشتن را نسبت به ساختارهایی مانند RAID 0 و RAID 1 کاهش دهد.
موضوع مهم دیگر، Rebuild یا فرایند بازسازی آرایه است. وقتی یکی از دیسکها خراب میشود و دیسک جدیدی جای آن قرار میگیرد، سیستم باید اطلاعات از دسترفته را با استفاده از دادههای موجود روی دیسکهای دیگر و اطلاعات پریتی دوباره ایجاد کند.
مدت زمان Rebuild به عوامل مختلفی، از جمله ظرفیت دیسکها و میزان داده موجود، بستگی دارد. هرچه دیسکها ظرفیت بیشتری داشته باشند، بازسازی معمولا طولانیتر میشود. در این فاصله، آرایه ممکن است در برابر خرابی دیسک دیگری آسیبپذیرتر باشد.
به همین خاطر، هنگام استفاده از دیسکهای پرظرفیت، انتخاب سطح RAID اهمیت بیشتری پیدا میکند. RAID 6 و RAID 10 در بسیاری از سناریوها برای کاهش ریسک خرابی در زمان بازسازی مورد توجه قرار میگیرند؛ البته انتخاب نهایی باید با توجه به ظرفیت، سرعت مورد نیاز، تعداد دیسکها و نوع بار کاری انجام شود.
انواع RAID
سیستم RAID در چند سطح یا level تعریف میشود که هرکدام ترکیب متفاوتی از سرعت، امنیت و فضای قابل استفاده را ارائه میدهند.
RAID 0
در RAID 0 داده فقط بین دیسکها پخش میشود، بدون هیچ کپی یا پریتی. نتیجه، بالاترین سرعت ممکن است چون همه دیسکها هم زمان کار میکنند. اما نکته مهم این است که هیچ محافظتی وجود ندارد؛ اگر یکی از دیسکها خراب شود، تمام اطلاعات روی همه دیسکها از بین میرود. این سطح بیشتر برای کارهایی مثل ویرایش ویدیو یا بازی که سرعت مهمتر از امنیت است انتخاب میشود.
RAID 1
در RAID 1 دو دیسک دقیقا یک نسخه از هم هستند. هر چیزی که روی دیسک اول نوشته شود، همان لحظه روی دیسک دوم هم کپی میشود. اگر یکی از دیسکها بسوزد، دیسک دوم بدون کوچکترین وقفهای کار را ادامه میدهد. فضای قابل استفاده در این حالت نصف مجموع دو دیسک است، اما امنیت بسیار بالایی دارد و برای سرور دیتابیس یا سیستمهای حیاتی انتخاب محبوبی است.
RAID 5
RAID 5 حداقل به سه دیسک نیاز دارد. داده بین همه دیسکها پخش میشود و یک واحد پریتی هم روی دیسکها ذخیره میشود، اما این پریتی روی یک دیسک ثابت نمیماند بلکه بین همه دیسکها چرخش دارد. نتیجه، تعادل خوبی بین سرعت، فضا و امنیت است. اگر یک دیسک خراب شود، سیستم میتواند داده را از روی پریتی بازسازی کند. همین ویژگی باعث شده RAID 5 یکی از پرکاربردترین سطوح در سرورهای عمومی باشد.
RAID 6
RAID 6 مثل RAID 5 است با یک تفاوت مهم: دو واحد پریتی به جای یکی ذخیره میشود. یعنی حتی اگر همزمان دو دیسک خراب شوند، باز هم داده قابل بازیابی است. طبیعتا سرعت نوشتن کمی پایینتر از RAID 5 است چون محاسبات پریتی بیشتری انجام میشود، اما برای جاهایی که امنیت اطلاعات حرف اول را میزند، بسیار مناسب است.
RAID 10
RAID 10 ترکیبی از RAID 1 و RAID 0 است. ابتدا دیسکها دو به دو میرور میشوند، سپس این جفتها با هم استرایپ میشوند. نتیجه هم سرعت بالا و هم امنیت خوب است، اما هزینه بیشتری دارد چون حداقل به چهار دیسک نیاز است و فضای قابل استفاده باز هم نصف مجموع کل دیسکها میشود. این سطح معمولا در سرور اختصاصی که هم سرعت بالا و هم پایداری کامل میخواهد، کاربرد دارد.
| سطح | حداقل دیسک | سرعت | امنیت داده | فضای قابل استفاده |
| RAID 0 | ۲ | خیلی بالا | ندارد | صد درصد |
| RAID 1 | ۲ | متوسط | بالا | پنجاه درصد |
| RAID 5 | ۳ | خوب | خوب | حدود هفتاد تا هشتاد درصد |
| RAID 6 | ۴ | خوب | خیلی خوب | حدود شصت تا هفتاد درصد |
| RAID 10 | ۴ | خیلی بالا | خیلی بالا | پنجاه درصد |
تفاوت RAID سخت افزاری و نرم افزاری
RAID را میتوانیم به دو شکل سختافزاری و نرمافزاری پیادهسازی کنیم. در RAID سختافزاری، یک قطعه مجزا به نام کنترلر RAID مدیریت دیسکها و عملیات مربوط به آرایه را بر عهده دارد. این کنترلر میتواند بخشی از محاسبات، بهویژه محاسبات مربوط به Parity در RAID 5 و RAID 6، را خودش انجام دهد و فشار کمتری به پردازنده اصلی وارد کند.
در RAID نرمافزاری، مدیریت آرایه توسط سیستم عامل انجام میشود و به کنترلر سختافزاری جداگانه نیازی نیست. هزینه راهاندازی این روش کمتر است و برای بسیاری از سیستمهای کوچک و سرورهای سبک عملکرد قابل قبولی دارد. در مقابل، بخشی از منابع CPU برای مدیریت RAID مصرف میشود و در بارهای کاری سنگین ممکن است روی عملکرد سیستم اثر بگذارد.
انتخاب بین این دو روش به نوع استفاده، حجم عملیات ورودی و خروجی، تعداد دیسکها و سطح RAID بستگی دارد. در سرورهایی که حجم درخواستها زیاد است یا عملکرد ذخیرهسازی اهمیت بالایی دارد، RAID سختافزاری میتواند انتخاب مناسبتری باشد.
کارت RAID چیست؟
کارت RAID یا همان کنترلر RAID، قطعهای است که روی مادربرد یا در یک اسلات PCIe نصب میشود و ارتباط بین دیسکها و سیستم را مدیریت میکند. این کارت دارای پردازنده و حافظه کش اختصاصی خودش است، بنابراین محاسبات مربوط به پریتی و بازسازی داده را بدون درگیر کردن CPU اصلی سیستم انجام میدهد. کارتهای حرفهای معمولا از باتری پشتیبان هم برخوردارند تا در صورت قطع برق، اطلاعات موجود در کش از بین نرود.
RAID در مادربرد چیست؟
خیلی از مادربردهای امروزی یک نسخه سادهتر و ارزانتر از RAID را به صورت داخلی پشتیبانی میکنند که به آن Fake RAID یا RAID مبتنی بر مادربرد میگویند. در این حالت، چیپست مادربرد بخشی از محاسبات را انجام میدهد ولی بخش دیگر همچنان به نرم افزار و درایور سیستم عامل وابسته است. این روش برای کاربران خانگی یا کامپیوترهای رومیزی که فقط میخواهند از RAID 0 یا RAID 1 ساده استفاده کنند مناسب است، اما برای سرور، معمولا کارت RAID اختصاصی توصیه میشود.
RAID و رابطه آن با فضای ذخیرهسازی
یکی از پرسشهای رایج این است که وقتی چند دیسک در یک آرایه قرار میگیرند، چقدر از فضای واقعی قابل استفاده باقی میماند. همان طور که در جدول بالا دیدیم، در سطوحی مثل RAID 1 و RAID 10 نیمی از ظرفیت کل، صرف ایجاد نسخه پشتیبان میشود، در حالی که در RAID 5 و RAID 6 بخش کوچکتری برای پریتی کنار گذاشته میشود. انتخاب بین هارد دیسک HDD و حافظه SSD هم روی این معادله اثر میگذارد؛ هارد دیسکها قیمت پایینتری در ازای هر ترابایت دارند و برای آرشیو حجم بالای داده مناسب هستند، در حالی که حافظه SSD برای بار کاری با درخواست زیاد و همزمان، مثل پایگاه داده یا سرویس ابری، عملکرد بسیار بهتری ارائه میدهد. بسیاری از سرورهای حرفهای، از ترکیبی از هر دو نوع استفاده میکنند: SSD برای دادههای پرتردد و هارد دیسک HDD برای ذخیرهسازی بلندمدت.
مزایا و معایب RAID
مزایا:
- افزایش سرعت خواندن و نوشتن
- بالا رفتن قابلیت اطمینان سیستم
- امکان ادامه کار حتی بعد از خرابی یک یا دو دیسک
معایب:
- هزینه خرید چند دیسک به جای یک دیسک
- پیچیدگی راه اندازی
- کاهش فضای قابل استفاده در برخی سطوح
- عدم محافظت در برابر خطای انسانی یا حذف تصادفی فایل یا باج افزار
چطور RAID مناسب را انتخاب کنیم؟
انتخاب سطح مناسب RAID به نوع کاربری بستگی دارد. برای یک سرور اختصاصی که میزبان یک وب سایت پربازدید است، ترکیب RAID 5 یا RAID 10 معمولا انتخاب خوبی است چون هم سرعت لازم را دارد و هم در برابر خرابی یک دیسک مقاوم است. اگر پروژه شما یک سرور دیتابیس با حجم تراکنش بالا است، RAID 10 به دلیل سرعت خواندن و نوشتن بالا در اولویت قرار میگیرد.
برای راه اندازی سرور اختصاصی با پیکربندی RAID متناسب با نیاز پروژه شما، همین حالا با تیم پشتیبانی پارس هاست تماس بگیرید تا بهترین ساختار ذخیرهسازی را برایتان طراحی کنیم.
وقتی صحبت از دیتاسنتر میشود، معمولا چند سطح RAID در کنار هم و در چند سرور مختلف استفاده میشود تا حتی خرابی کامل یک دستگاه هم روی کل سرویس اثر نگذارد. اگر مشتری شما در اروپا حضور دارد یا نیاز به حداقل تاخیر برای کاربران اروپایی دارید، سرور اختصاصی آلمان با پیکربندی RAID مناسب میتواند هم پایداری و هم سرعت خوبی ارائه دهد. در کل، پیش از انتخاب باید بدانید بار اصلی روی سیستم چیست: خواندن زیاد، نوشتن زیاد یا ترکیبی از هر دو.
نکته: ارتباط RAID با امنیت سرور است. RAID جایگزین بک آپ گیری نیست؛ اگر کل سرور دچار مشکل شود یا هک شود، آرایه RAID به تنهایی اطلاعات را نجات نمیدهد. پس همیشه باید پشتیبان گیری منظم را هم در کنار RAID داشته باشید. برای درک بهتر مفاهیم پایه، پیشنهاد میکنیم مقاله سرور چیست را هم مطالعه کنید.
مسیر پیش روی RAID
با گسترش حافظههای NVMe و افزایش سرعت SSD ها، بسیاری از سازمانها به سمت مدلهایی مثل ذخیرهسازی تعریف شده با نرم افزار یا Software Defined Storage حرکت کردهاند که در آن مفهوم RAID سنتی با روشهای توزیع شده و مبتنی بر شبکه ترکیب میشود. همچنین رشد سرویسهای ابری باعث شده بخشی از وظیفه محافظت از داده به لایههای نرم افزاری بالاتر منتقل شود، اما همچنان در سطح فیزیکی سرور و دیتاسنتر، RAID نقش پایهای خودش را حفظ کرده است. به احتمال زیاد در سالهای آینده ترکیبی از RAID سنتی و روشهای هوشمند مدیریت داده، استاندارد اصلی ذخیرهسازی سازمانی خواهد بود.
سوالات متداول
۱. RAID چیست و چرا اهمیت دارد؟
RAID روشی برای ترکیب چند دیسک ذخیرهسازی به منظور افزایش سرعت و محافظت از داده در برابر خرابی سخت افزاری است. اهمیت آن در کاهش احتمال از دست رفتن اطلاعات و بهبود عملکرد سرورها است.
۲. بهترین سطح RAID برای سرور کدام است؟
بستگی به کاربرد دارد. برای تعادل بین سرعت و امنیت، RAID 5 مناسب است. برای بالاترین سرعت همراه با امنیت خوب، RAID 10 پیشنهاد میشود.
۳. آیا RAID جایگزین بک آپ میشود؟
خیر. RAID فقط در برابر خرابی فیزیکی دیسک محافظت میکند، نه در برابر حذف اشتباه فایل، هک یا باج افزار. در نتیجه، بکآپ گیری همچنان ضروری است.
۴. تفاوت هارد دیسک HDD و حافظه SSD در RAID چیست؟
هر دو میتوانند در آرایه RAID استفاده شوند. حافظه SSD به دلیل سرعت بالاتر و نبود قطعات مکانیکی، برای بار کاری سنگین گزینه بهتری نسبت به هارد دیسک HDD است.
۵. آیا میتوانیم بعدا سطح RAID را تغییر بدهیم؟
در بسیاری از کنترلرهای مدرن امکان تغییر سطح RAID بدون از دست رفتن داده وجود دارد، هرچند این فرآیند زمان بر است و باید با احتیاط انجام شود.
۶. آیا RAID روی مصرف برق سرور اثر میگذارد؟
بله، چون چند دیسک به طور همزمان کار میکنند، مصرف برق نسبت به یک دیسک تنها بیشتر است، اما این افزایش معمولا در برابر امنیت و سرعتی که به دست میآید ناچیز محسوب میشود.
۷. چند دیسک برای شروع RAID لازم است؟
حداقل به دو دیسک نیاز است، اما تعداد دقیق به سطح انتخابی بستگی دارد. RAID 0 و RAID 1 با دو دیسک شروع میشوند، در حالی که RAID 5 حداقل سه دیسک و RAID 6 و RAID 10 حداقل چهار دیسک میخواهند.
۸. آیا راه اندازی RAID برای کاربر خانگی هم منطقی است؟
اگر دادههای مهمی مثل عکس، فیلم یا آرشیو کاری دارید، حتی یک RAID 1 ساده روی مادربرد میتواند از خطر خرابی ناگهانی یک دیسک جلوگیری کند. برای کاربری روزمره و بدون داده حساس، معمولا نیازی به آن نیست.
۰