RAID 6 چیست؟

در دنیای ذخیرهسازی دادهها و مدیریت سرور، امنیت اطلاعات و پایداری سرویسها همواره در اولویت قرار دارند. با افزایش حجم دادهها و بزرگتر شدن ظرفیت هارددیسکها، احتمال بروز خطا و از دست رفتن اطلاعات نیز به شکل چشمگیری افزایش یافته است. برای مقابله با این چالشها، تکنولوژیهای مختلفی توسعه یافتهاند که یکی از مهمترین آنها معماری رید است. در این مقاله به بررسی دقیق و تخصصی یکی از منعطفترین سطوح رید، یعنی رید ۶ خواهیم پرداخت.
رید چیست
پیش از آنکه به جزئیات پیچیده رید ۶ بپردازیم، ضروری است بدانیم رید چیست و چرا در تجهیزات هاستینگ و سرورها تا این حد اهمیت دارد. واژه RAID مخفف عبارت Redundant Array of Independent Disks است که به معنای آرایهای افزونه از دیسکهای مستقل میباشد. به بیان ساده، این تکنولوژی چندین هارددیسک فیزیکی را با هم ترکیب میکند تا سیستمعامل آنها را به عنوان یک واحد منطقی واحد شناسایی کند.
هدف اصلی از پیادهسازی این سیستم، افزایش کارایی، بالا بردن ظرفیت ذخیرهسازی و مهمتر از همه، ایجاد پایداری در برابر خرابیهای سختافزاری است. در واقع رید به مدیران شبکه اجازه میدهد تا میان سرعت و امنیت دادهها تعادلی برقرار کنند. بسته به نوع چیدمان دیسکها، یک سیستم میتواند حتی پس از سوختن یک یا چند هارددیسک، بدون وقفه به فعالیت خود ادامه دهد.
آشنایی با انواع Raid
برای درک بهتر جایگاه رید ۶، باید ابتدا یک آشنایی با انواع Raid و مکانیزمهای عملکردی آنها داشته باشیم. به طور کلی، ریدها به سه دسته اصلی تقسیم میشوند: ریدهایی که بر پایه Mirroring یا آینهسازی هستند، ریدهایی که بر پایه Striping یا نواری کردن دادهها عمل میکنند و ریدهایی که از مکانیزم Parity یا کدی برای بازیابی خطا بهره میبرند.
مثلا رید ۰ با استفاده از مکانیزم نواری کردن، دادهها را میان دیسکها پخش میکند تا سرعت خواندن و نوشتن به حداکثر برسد، اما هیچ امنیتی در برابر خرابی دیسک ندارد. در مقابل، رید ۱ با کپی کردن دقیق دادهها روی دو دیسک، امنیت را تامین میکند اما ظرفیت را به نصف کاهش میدهد. رید ۵ نیز با استفاده از یک لایه محافظتی، تعادلی میان سرعت و امنیت ایجاد میکند. اما با ظهور دیسکهای با ظرفیت بالا، رید ۵ دیگر برای محیطهای حساس کافی نبود و همین نیاز منجر به پیدایش رید ۶ شد.
مفهوم تخصصی Raid 6 parity
رید ۶ که در متون فنی با نام Double Parity نیز شناخته میشود، در واقع نسخه تکاملیافته و امنتر رید ۵ است. تفاوت بنیادی در این سطح، نحوه مدیریت کدهای حفاظتی یا همان پارتی است. در این ساختار، دادههای محافظتی بر روی دو هارددیسک مختلف ذخیره میشوند. این یعنی سیستم نه تنها یک لایه، بلکه دو لایه محاسبات ریاضی پیچیده را برای هر بلوک از دادهها انجام میدهد.
استفاده از Raid 6 parity به این معناست که سیستم برای محاسبه و ذخیره اطلاعات حفاظتی، به توان پردازشی بیشتری نیاز دارد. در رید ۵، اگر یک دیسک دچار اختلال شود، سیستم همچنان پایدار میماند، اما اگر در حین بازسازی اطلاعات، دیسک دوم نیز از کار بیفتد، کل دادهها از دست میروند. رید ۶ دقیقا برای حل این معضل طراحی شده است. با ذخیره دوگانه پارتی، این آرایه میتواند خرابی همزمان دو هارددیسک را بدون کوچکترین وقفه در سرویسدهی یا از دست رفتن اطلاعات تحمل کند.
معماری و نحوه عملکرد رید ۶
در معماری رید ۶، دادهها به صورت نواری روی تمام دیسکهای موجود در آرایه پخش میشوند. اما برخلاف رید ۵ که فقط یک بلوک پارتی در هر ردیف دارد، رید ۶ از دو بلوک پارتی استفاده میکند که معمولا با نامهای P و Q شناخته میشوند. این دو بلوک با استفاده از الگوریتمهای متفاوت ریاضی محاسبه میشوند تا اطمینان حاصل شود که حتی در صورت حذف دو ضلع از این معادله، دادههای اصلی قابل بازیافت باشند.
به دلیل همین محاسبات دوگانه، بار پردازشی روی رید کنترلر افزایش مییابد. در واقع، هر بار که دادهای روی دیسک نوشته میشود، کنترلر باید دو بار عملیات محاسبه پارتی را انجام دهد و سپس آنها را در مکانهای مختلفی از آرایه بنویسد. این توزیع هوشمندانه باعث میشود که هیچ دیسک خاصی به عنوان گلوگاه عمل نکند و فشار کاری میان تمامی هارددیسکها تقسیم شود.
عملکرد و سرعت در رید ۶
یکی از مباحث چالشبرانگیز در انتخاب این سطح، تاثیر آن بر سرعت سیستم است. ارزیابیهای فنی و بنچمارکهای انجام شده نشان میدهند که میزان عملکرد در هنگام نوشتن دادهها در رید ۶ نسبت به رید ۵ حدود ۳۰ درصد کاهش مییابد. دلیل این اتفاق کاملا مشخص است: معماری پیچیده و نیاز به محاسبه و نوشتن دو لایه پارتی بر روی دیسکها.
در واقع هر عملیات نوشتن در رید ۶ شامل چندین مرحله خواندن و نوشتن متوالی است تا اطلاعات حفاظتی بهروزرسانی شوند. با این حال، در زمینه سرعت خواندن، رید ۶ عملکرد بسیار خوبی دارد و تقریبا با رید ۵ برابر است. از آنجایی که دادهها روی چندین دیسک پخش شدهاند، سیستم میتواند به طور همزمان از تمام دیسکها برای خواندن اطلاعات استفاده کند که این موضوع برای وبسایتهای پربازدید و اپلیکیشنهایی که نرخ خواندن بالایی دارند، بسیار ایدهآل است.
محاسبات ظرفیت و محدودیتهای سختافزاری
برای پیادهسازی رید ۶، محدودیتهای مشخصی در تعداد دیسکها وجود دارد. در حالی که رید ۵ با حداقل ۳ درایو قابل راهاندازی است، پیادهسازی رید ۶ به حداقل ۴ درایو نیاز خواهد داشت. دلیل این امر اختصاص یافتن ظرفیت دو درایو به طور انحصاری برای نگهداری دادههای پارتی است.
فرمول محاسبه فضای قابل استفاده در این رید به صورت N منهای دو تعریف میشود که در آن N تعداد کل درایوها است.
برای درک بهتر، یک مثال کاربردی را بررسی میکنیم. فرض کنید ۴ درایو با ظرفیت ۲۰۰ گیگابایت در اختیار داریم. در این حالت مجموع ظرفیت فیزیکی ۸۰۰ گیگابایت است. اما به دلیل ماهیت رید ۶، ۴۰۰ گیگابایت از این فضا برای امنیت و ذخیره پارتیها استفاده میشود و تنها ۴۰۰ گیگابایت فضای خالص برای ذخیرهسازی دادهها در دسترس کاربر قرار میگیرد. اگر تعداد دیسکها را به ۸ عدد افزایش دهیم، باز هم فقط ظرفیت ۲ دیسک کسر میشود و ظرفیت ۶ دیسک باقیمانده در دسترس خواهد بود. به همین دلیل، رید ۶ در آرایههایی با تعداد دیسک بالا، از نظر اقتصادی و بهرهوری فضا بسیار منطقیتر جلوه میکند.
چرا رید ۶ برای سرورهای مدرن ضروری است؟
امروزه هارددیسکهایی با ظرفیتهای خیرهکننده مانند ۱۸ یا ۲۲ ترابایت معمولا در سرورهای اختصاصی استفاده میشوند. مشکل بزرگ اینجاست که وقتی یک دیسک با چنین ظرفیتی در رید ۵ خراب میشود، عملیات بازسازی یا Rebuild ممکن است چندین روز طول بکشد. در طول این مدت، فشار زیادی روی دیسکهای باقیمانده وارد میشود و احتمال خرابی دیسک دوم به شدت بالا میرود.
در چنین سناریویی، رید ۵ عملا تسلیم شده و دادهها نابود میشوند. اما رید ۶ با داشتن لایه دوم حفاظتی، این ریسک را به حداقل میرساند. حتی اگر در حین بازسازی دیسک اول، دیسک دیگری هم با خطا مواجه شود، سیستم بدون مشکل به کار خود ادامه میدهد. به همین دلیل است که در تجهیزات هاستینگ حرفهای و سیستمهای ذخیرهسازی ابری، رید ۶ به عنوان استاندارد طلایی شناخته میشود.
مقایسه رید ۶ با سایر سطوح رید
انتخاب میان رید ۶ و رید ۱۰ یکی از سوالات متداول مدیران سرور است. رید ۱۰ سرعت نوشتن بسیار بالاتری دارد زیرا محاسبات پارتی در آن وجود ندارد، اما هزینه آن بسیار زیاد است چون نیمی از ظرفیت کل دیسکها از دست میرود. در مقابل، رید ۶ بهرهوری فضای بهتری در تعداد دیسکهای بالا دارد.
در مقایسه با رید ۵ نیز، همانطور که اشاره شد، رید ۶ امنیت را فدای بخشی از سرعت نوشتن میکند. برای دیتابیسهای سنگین که نرخ نوشتن در آنها بسیار زیاد است، شاید رید ۶ باعث تاخیر شود، اما برای فایلسرورها، آرشیو دادهها و سرویسهای هاستینگ اشتراکی که امنیت دادهها در درجه اول اهمیت قرار دارد، بهترین انتخاب ممکن است.
نکات مهم در نگهداری و مدیریت
استفاده از رید ۶ به معنای بینیازی از بکآپ نیست. هرچند این سیستم در برابر خرابی سختافزاری بسیار مقاوم است، اما در برابر خطاهای انسانی یا حملات بدافزاری حفاظتی ایجاد نمیکند. همچنین توصیه میشود در رید ۶ حتما از رید کنترلرهای سختافزاری دارای حافظه کش و باتری پشتیبان استفاده شود. این تجهیزات کمک میکنند تا کاهش ۳۰ درصدی عملکرد نوشتن تا حد زیادی جبران شود و ریسک Write Hole در هنگام قطع ناگهانی برق از بین برود.
در زمان انتخاب دیسک برای رید ۶، معمولا پیشنهاد میشود از دیسکهای سری Enterprise استفاده کنید که دارای نرخ خطای پایینتری هستند. همچنین ترکیب دیسکهایی از سریهای ساخت مختلف میتواند ریسک خرابی همزمان ناشی از عیوب کارخانهای را کاهش دهد.
سوالات متداول
در اکثر رید کنترلرهای حرفهای و پیشرفته، قابلیتی به نام Online Capacity Expansion وجود دارد که اجازه میدهد بدون ایجاد اختلال در دادهها، سطح رید را تغییر دهید. البته برای این کار باید حداقل یک دیسک جدید به مجموعه اضافه کنید و توجه داشته باشید که این فرایند به دلیل محاسبات سنگین پارتی جدید، ممکن است زمانبر باشد و فشار مضاعفی به دیسکها وارد کند.
بسیاری نگران هستند که محاسبات پیچیده این ساختار باعث تاخیر در پاسخگویی سرور شود. اما واقعیت این است که لود وبسایت عمدتا بر پایه عملیات خواندن دادهها انجام میشود و رید ۶ در این زمینه تفاوت محسوسی با رید ۵ ندارد. در واقع به دلیل توزیع دادهها روی چندین دیسک، سرعت خواندن در محیطهای پربازدید بسیار مطلوب باقی میماند و کاربر افت سرعتی را تجربه نخواهد کرد.
به دلیل اینکه رید ۶ از دو لایه محاسبات پارتی استفاده میکند، فشار پردازشی آن نسبت به سایر سطوح رید بیشتر است. در ریدهای نرمافزاری این بار بر عهده پردازنده اصلی سرور قرار میگیرد که ممکن است باعث کاهش کارایی کلی سیستم شود. اما یک کنترلر سختافزاری با داشتن پردازنده مستقل، این بار را از روی دوش سیستم برداشته و پایداری بیشتری فراهم میکند؛ به خصوص در زمان بازسازی دادهها که سیستم تحت فشار شدید است.
رید ۶ به گونهای طراحی شده است که حداکثر توان تحمل خرابی دو دیسک را به صورت همزمان دارد. اگر دیسک سوم پیش از جایگزینی و بازسازی دیسکهای معیوب قبلی از کار بیفتد، متاسفانه کل آرایه از دسترس خارج شده و دادهها از دست میروند. به همین دلیل استفاده از قابلیت Hot Spare برای جایگزینی سریع و خودکار دیسکهای خراب توصیه میشود تا زمان قرارگیری در وضعیت بحرانی به حداقل برسد.
از نظر تئوری محدودیت خاصی وجود ندارد، اما در محیطهای عملیاتی معمولا توصیه میشود که تعداد دیسکها در یک گروه رید ۶ از ۱۶ یا ۳۲ عدد فراتر نرود. دلیل این موضوع به زمان طولانی بازسازی یا Rebuild دیسکهای با ظرفیت بالا بازمیگردد؛ هرچه تعداد دیسکها بیشتر باشد، احتمال بروز خطای دوم یا سوم در طول فرایند بازسازی طولانیمدت افزایش مییابد و ریسک کل سیستم بالا میرود.
اگر اولویت مطلق شما سرعت نوشتن است، شاید رید ۶ به دلیل افت عملکرد حدودا ۳۰ درصدی در هنگام نوشتن، بهترین گزینه نباشد و رید ۱۰ پیشنهاد شود. اما اگر حجم دادهها بسیار زیاد است و امنیت آنها در برابر خرابی همزمان دو دیسک اهمیت بیشتری دارد، رید ۶ همچنان انتخاب معقولی است، به شرطی که از کنترلرهای مجهز به حافظه کش پرسرعت و باتری پشتیبان استفاده کنید تا تاخیر در نوشتن به حداقل برسد.





























شما میتوانید دیدگاه خود را در مورد این مطلب با ما با اشتراک بگذارید.