اگر با سرورها سروکار دارید، احتمالاً اسم RAID زیاد به گوشتان خورده. اما وقتی بحث انتخاب و پیکربندی آن پیش میآید، خیلیها دچار تردید میشوند. کدام RAID برای کار من مناسبتر است؟ فرق کنترلر سختافزاری با نرمافزاری چیست؟ چطور یک آرایه خراب را دوباره بسازم؟ در این مطلب، از صفر تا صد این فناوری را به زبانی ساده و کاربردی توضیح میدهیم.
RAID چیست و چرا به آن نیاز داریم؟
RAID مخفف عبارت Redundant Array of Independent Disks به معنای «آرایه افزونه از دیسکهای مستقل» است . به زبان ساده، RAID روشی است برای ترکیب چند هارد دیسک یا SSD فیزیکی بهطوریکه سیستمعامل آنها را بهعنوان یک درایو واحد ببیند . بسته به سطح RAID انتخابشده، این ترکیب میتواند سرعت خواندن/نوشتن را افزایش دهد، از دادهها در برابر خرابی دیسک محافظت کند، یا ترکیبی از هر دو را ارائه دهد .
تصور کنید یک فایل مهم دارید. در حالت عادی، اگر هارد دیسکی که فایل روی آن ذخیره شده خراب شود، دادههایتان برای همیشه از دست میرود. اما با RAID، این فایل بهصورت هوشمندانه بین چند دیسک توزیع میشود. حالا اگر یکی از دیسکها از کار بیفتد، میتوانید آن را تعویض کنید و اطلاعات از روی دیسکهای باقیمانده بازسازی میشود، بدون آنکه لحظهای دسترسی به دادهها قطع شود .
تاریخچه RAID به دهه ۱۹۸۰ برمیگردد، زمانی که قیمت هارد دیسکهای بزرگ بسیار بالا بود. مهندسان به این فکر افتادند که بهجای خرید یک دیسک گرانقیمت، از چند دیسک ارزانتر در کنار هم استفاده کنند و با توزیع داده روی آنها، هم کارایی را بالا ببرند و هم امنیت ذخیرهسازی را افزایش دهند . امروزه RAID به یکی از پایههای اصلی ذخیرهسازی در دیتاسنترها و سرورهای سازمانی تبدیل شده است.
خرید کنترلر RAID نو و استوک
برای خرید RAID، ابتدا نیازهای پردازشی، حافظه و ذخیرهسازی خود را مشخص کنید و سپس با مقایسه مشخصات فنی و گارانتی، از قسمت زیر خرید کنید.
مشاهده مشخصات و قیمت کنترلرهای RAIDسطوح رایج RAID و کاربردهای هرکدام
حالا که با مفاهیم پایه آشنا شدیم، ببینیم هر سطح RAID چه ویژگیهایی دارد و برای چه سناریوهایی مناسب است:
RAID 0 – فقط سرعت، بدون حفاظت: دادهها بهطور مساوی بین دو یا چند دیسک تقسیم میشوند. نتیجه نهایی، سرعت خواندن و نوشتن فوقالعاده بالاست، اما اگر یکی از دیسکها خراب شود، تمام اطلاعات غیرقابل بازیابی خواهد بود . RAID 0 برای کارهای موقتی مثل ویرایش ویدئو، رندرینگ یا هر جایی که سرعت مهم است و دادهها ارزش حیاتی ندارند، مناسب است.
RAID 1 – امنیت بالا، ظرفیت نصف: هر دادهای که روی یک دیسک نوشته میشود، همزمان روی دیسک دیگر هم کپی میگردد . اگر یک دیسک بسوزد، دیسک دوم بدون وقفه به کار ادامه میدهد. از ظرفیت کل، فقط نصف آن قابل استفاده است . RAID 1 برای سرورهای کوچک، سیستمهای حسابداری و جاهایی که امنیت دادهها در اولویت است، عالی عمل میکند .
RAID 5 – تعادل بین سرعت، امنیت و هزینه: این سطح با حداقل ۳ دیسک کار میکند. دادهها و Parity بهصورت چرخشی بین تمام دیسکها توزیع میشوند . تحمل خرابی یک دیسک را دارد—یعنی اگر یکی از دیسکها از کار بیفتد، دادهها از روی دو دیسک دیگر بازسازی میشوند. ظرفیت قابل استفاده معادل (n-1) دیسک است. RAID 5 انتخابی محبوب برای سرورهای فایل، پایگاههای داده و برنامههای سازمانی است .
RAID 6 – مثل RAID 5، اما مقاومتر: در این سطح، Parity دو برابر میشود و بین دیسکها توزیع میگردد . مزیت اصلی RAID 6 این است که تا دو دیسک میتوانند همزمان خراب شوند، بدون آنکه دادهای از دست برود. ظرفیت مفید معادل (n-2) دیسک است. برای آرشیوهای بزرگ و سیستمهای با دسترسپذیری بالا پیشنهاد میشود.
RAID 10 – ترکیب نهایی سرعت و امنیت: در این سطح، ابتدا دیسکها بهصورت جفتی Mirror میشوند (RAID 1)، سپس این جفتها با هم Strip میشوند (RAID 0) . نتیجه هم سرعت بالای RAID 0 را دارد و هم امنیت RAID 1 را. نیاز به حداقل ۴ دیسک دارد و نصف ظرفیت کل قابل استفاده است . RAID 10 برای پایگاههای داده بزرگ، سرورهای مجازیسازی و برنامههای حیاتی که هم سرعت میخواهند و هم امنیت، بهترین انتخاب است.

مفاهیم کلیدی در RAID
قبل از اینکه سراغ انواع RAID برویم، باید با سه مفهوم کلیدی آشنا شویم که پایه و اساس تمام سطوح RAID را تشکیل میدهند:
Data Striping (خطکشی داده): در این روش، دادهها به قطعات کوچکی به نام Chunk (معمولاً ۳۲ یا ۶۴ کیلوبایت) تقسیم میشوند و سپس این قطعات بهصورت متوالی بین دیسکهای مختلف پخش میگردند . مزیت اصلی Striping افزایش چشمگیر سرعت خواندن و نوشتن است؛ چون وقتی سیستم میخواهد یک فایل را بخواند، میتواند همزمان از چند دیسک اطلاعات بگیرد. اما عیب بزرگش این است که اگر حتی یک دیسک خراب شود، کل دادهها از بین میرود .
Disk Mirroring (آینهسازی): در این روش، هر چیزی که روی یک دیسک نوشته میشود، دقیقاً روی دیسک دیگری هم کپی میگردد . به این ترتیب، همیشه یک نسخه پشتیبان کامل از دادهها وجود دارد. مزیت Mirroring امنیت بسیار بالاست، اما هزینه آن هم بالاست؛ چون نصف ظرفیت کل دیسکها صرف نگهداری کپی میشود .
Parity (بیت توازن): این روش هوشمندانهتر از Mirroring عمل میکند. Parity یک داده کمکی است که از روی دادههای اصلی محاسبه میشود. مثلاً اگر تعداد بیتهای «یک» در یک بلوک زوج باشد، Parity صفر و اگر فرد باشد، یک میشود . حالا اگر یکی از دیسکها خراب شود، سیستم میتواند با استفاده از دادههای باقیمانده و Parity، اطلاعات از دست رفته را بازسازی کند . مزیت Parity نسبت به Mirroring این است که فضای کمتری هدر میرود—مثلاً در RAID 5 با ۳ دیسک، فقط معادل یک دیسک برای Parity استفاده میشود.
قطعات کلیدی یک کنترلر RAID سختافزاری
برای اینکه درک عمیقتری از نحوه کار کنترلرهای RAID داشته باشید، بیایید نگاهی به اجزای اصلی یک کنترلر سختافزاری بیندازیم:
قطعات کلیدی کنترلر RAID
پردازنده RAID (RAID-on-Chip)
یک پردازنده اختصاصی که وظیفه محاسبات RAID را انجام میدهد و هرچه قویتر باشد، کنترلر میتواند دیسکهای بیشتری را با سرعت بالاتر مدیریت کند.
یک حافظه پرسرعت (معمولاً DDR) که دادهها قبل از نوشته شدن روی دیسک در آن ذخیره میشوند. Cache تأثیر چشمگیری بر سرعت نوشتن دارد؛ کنترلر داده را داخل Cache مینویسد و سریعاً به سیستمعامل تأیید میدهد که عملیات کامل شد، سپس در فرصت مناسب آن را روی دیسکهای فیزیکی منتقل میکند.
باتری پشتیبان (BBU)
یک باتری کوچک داخل قطعه که در صورت قطع ناگهانی برق، Cache را برای چندین ساعت روشن نگه میدارد تا دادههای داخل آن خراب نوشند یا از بین نروند. بدون BBU، در صورت قطع برق هنگام نوشتن، ممکن است دادههای Cache پاک شده و اطلاعات خراب شوند.
پورتهای فیزیکی که دیسکها به آنها متصل میشوند. تعداد این کانکتورها مشخص میکند که کنترلر از چند دیسک میتواند پشتیبانی کند.
RAID سختافزاری در مقابل RAID نرمافزاری
یکی از تصمیمات مهم هنگام پیادهسازی RAID این است که از کنترلر سختافزاری استفاده کنید یا RAID نرمافزاری را روی سیستمعامل پیاده کنید. هرکدام مزایا و معایب خاص خودشان را دارند:
RAID سختافزاری یک کنترلر فیزیکی اختصاصی (کارت RAID) دارد که یک پردازنده و حافظه cache مخصوص خودش را دارد . تمام محاسبات مربوط به RAID—شامل محاسبه Parity برای RAID 5 و ۶—توسط همین پردازنده انجام میشود و بار اضافی روی CPU اصلی سرور وارد نمیکند . کنترلرهای سختافزاری معمولاً یک باتری پشتیبان (BBU) هم دارند که در صورت قطع برق، دادههای داخل cache را حفظ میکند. همچنین، RAID سختافزاری مستقل از سیستمعامل عمل میکند و میتوانید از آن برای بوت کردن سرور هم استفاده کنید . قیمت بالاتر و نیاز به تعویض کامل کنترلر در صورت خرابی، از معایب این روش است.
RAID نرمافزاری توسط خود سیستمعامل مدیریت میشود و نیاز به سختافزار اضافی ندارد . مزیت بزرگش هزینه صفر یا بسیار پایین آن است. همچنین، RAID نرمافزاری معمولاً میتواند بین کنترلرهای مختلف جابهجا شود و به یک مدل خاص وابسته نیست. اما عیب اصلی آن مصرف CPU سرور است—بهخصوص در RAID 5 و ۶ که محاسبات Parity سنگین است . همچنین، نمیتوان از RAID نرمافزاری برای بوت سیستمعامل استفاده کرد و باید حتماً یک دیسک جداگانه برای boot داشته باشید.
بهطور کلی، اگر بودجه کافی دارید و به کارایی بالا و پایداری نیاز دارید—مثلاً برای یک سرور دیتابیس پرتراکنش—RAID سختافزاری انتخاب بهتری است. اما اگر بودجه محدود است یا دارید یک سرور آزمایشی راهاندازی میکنید، RAID نرمافزاری میتواند کاملاً جوابگو باشد.
وظایف مدیریتی یک کنترلر RAID
یک کنترلر RAID فقط دادهها را بین دیسکها پخش نمیکند—وظایف مدیریتی متعددی هم بر عهده دارد که برای حفظ سلامت آرایه حیاتی هستند:
| ساخت و پیکربندی آرایه (Array Configuration) | بازسازی (Rebuild) |
| Hot Spare (دیسک آمادهبهکار) | Patrol Read (خوانش گشتی) |
| Consistency Check (بررسی یکپارچگی) | RAID Level Migration و Online Capacity Expansion |
ساخت و پیکربندی آرایه (Array Configuration)
اولین کاری که با یک کنترلر انجام میدهید، تعریف یک یا چند Logical Drive یا Virtual Drive روی مجموعه دیسکهای فیزیکی است. در این مرحله، سطح RAID، اندازه Stripe و تنظیمات Cache را مشخص میکنید.
بازسازی (Rebuild)
وقتی یک دیسک خراب میشود و آن را با یک دیسک سالم تعویض میکنید، کنترلر فرآیند Rebuild را شروع میکند. در این فرآیند، دادههای از دست رفته با استفاده از دادههای موجود روی دیسکهای سالم (و Parity در RAID 5/6) دوباره ساخته میشوند .
Hot Spare (دیسک آمادهبهکار)
میتوانید یک یا چند دیسک را بهعنوان Hot Spare تعریف کنید. این دیسکها در حالت آمادهباش باقی میمانند و بهمحض اینکه یکی از دیسکهای اصلی خراب شود، کنترلر بهطور خودکار فرآیند Rebuild را با Hot Spare شروع میکند، بدون نیاز به دخالت دستی .
Patrol Read (خوانش گشتی)
این یک فرآیند پیشگیرانه است که کنترلر بهطور دورهای تمام بلوکهای داده روی دیسکها را میخواند و سلامت آنها را بررسی میکند. اگر بلوک خرابی پیدا شود، کنترلر آن را با استفاده از دادههای سالم بازسازی میکند. این کار از خرابیهای خاموش که ممکن است ماهها پنهان بمانند، جلوگیری میکند .
Consistency Check (بررسی یکپارچگی)
این عملیات صحت دادههای Parity یا Mirror را تأیید میکند. اگر مغایرتی پیدا شود—مثلاً یک بلوک داده با Parity همخوانی نداشته باشد—کنترلر آن را اصلاح میکند .
RAID Level Migration و Online Capacity Expansion
کنترلرهای پیشرفته اجازه میدهند که سطح RAID را بدون از دست دادن داده تغییر دهید (مثلاً از RAID 1 به RAID 5 مهاجرت کنید) یا بهصورت آنلاین دیسک جدیدی به آرایه اضافه کنید و ظرفیت آن را افزایش دهید .
انتخاب بستگی به تعداد دیسکها و میزان ریسکی دارد که میپذیرید. اگر ۳ یا ۴ دیسک دارید و بودجه برایتان مهم است، RAID 5 با تحمل خرابی یک دیسک و ظرفیت مفید (n-1) گزینه مناسبی است. اما اگر ۵ دیسک یا بیشتر دارید—مخصوصاً با ظرفیتهای بالا (مثلاً ۸ ترابایت به بالا)—RAID 6 را انتخاب کنید. دلیلش این است که در آرایههای بزرگ، زمان بازسازی (Rebuild) طولانی میشود و احتمال خرابی دیسک دوم در حین بازسازی افزایش مییابد. RAID 6 با تحمل خرابی همزمان دو دیسک، خیال شما را راحت میکند.
اگر BBU (باتری پشتیبان Cache) خراب شود، کنترلر بهطور خودکار سیاست Write Cache را از Write-Back به Write-Through تغییر میدهد تا از دست رفتن دادهها در صورت قطع برق جلوگیری کند. این یعنی سرعت نوشتن بهشدت افت میکند. پس بله، باید در اسرع وقت باتری را تعویض کنید. تا قبل از تعویض، سرور همچنان کار میکند و دادهها محافظت میشوند، اما عملکرد کاهش مییابد. در برخی کنترلرها میتوانید موقتاً Write Cache را بهزور فعال کنید، اما این کار را فقط در صورتی انجام دهید که UPS مطمئن دارید.
ابتدا مطمئن شوید که یک نسخه بکاپ کامل و سالم از همه دادهها دارید (این مهمترین قدم است). سپس وارد ابزار مدیریتی کنترلر RAID شوید (مثلاً HPE Smart Storage Administrator). اگر Hot Spare دارید، کنترلر بهطور خودکار Rebuild را شروع میکند. اگر ندارید، دیسک خراب را بهصورت فیزیکی با یک دیسک سالم و همظرفیت (یا بزرگتر) تعویض کنید، سپس در نرمافزار مدیریتی، دیسک جدید را به آرایه اختصاص دهید. فرآیند Rebuild بهطور خودکار شروع میشود و بسته به ظرفیت دیسک و بار کاری سرور، ممکن است چندین ساعت طول بکشد. در این مدت، سرور به کار خود ادامه میدهد اما بهتر است بار سنگین روی آن اعمال نکنید.
نتیجهگیری
RAID یکی از پایههای اصلی هر زیرساخت ذخیرهسازی حرفهای است. انتخاب سطح RAID مناسب به اولویتهای شما بستگی دارد: اگر سرعت برایتان در درجه اول اهمیت است، RAID 0 یا ۱۰ را انتخاب کنید. اگر امنیت دادهها اولویت دارد، RAID 1، ۵ یا ۶ گزینههای بهتری هستند. کنترلرهای سختافزاری با پردازنده و cache اختصاصی، کارایی بالاتری دارند و برای سرورهای تولیدی مناسبترند، درحالیکه RAID نرمافزاری میتواند برای محیطهای کوچک یا آزمایشی گزینه کمهزینهای باشد.
هر سطح RAID نقاط قوت و ضعف خودش را دارد و هیچکدام بهتنهایی برای همه سناریوها عالی نیست. نکته مهم این است که RAID جایگزین backup نیست—حتی با RAID 6 هم باید حتماً از دادههایتان نسخه پشتیبان تهیه کنید. با درک مفاهیمی که در این مطلب گفتیم، حالا میتوانید با آگاهی بیشتری برای زیرساخت خودتان تصمیمگیری کنید.
- admin
- 25 اسفند 1403
- 244 بازدید



