مصالحه در ذخیرهسازی رید (RAID): توازن تحمل خرابی دیسک در برابر سرعت نوشتن و سربار ظرفیت
انتخاب پیکربندی آرایه اضافی از دیسکهای مستقل (RAID) مستلزم ایجاد توازن بین نیاز به حفاظت از دادهها و هزینه از دست دادن ظرفیت ذخیرهسازی و کاهش سرعت نوشتن است. این راهنما سطوح RAID ٠، ١، ٥، ٦ و ١٠ را مقایسه میکند تا جریمههای دقیق عملکرد و الزامات سختافزاری هر تنظیم را کمیسازی کند.
به قلم نادر حیدری
این خبر را به اشتراک بگذارید
- آرشیوهای بهینهسازی شده برای ظرفیت
- به حداکثر رساندن ترابایت قابل استفاده و تحمل خطا برای ذخیرهسازی در مقیاس بزرگ را اولویت میدهد.
- حجمهای کاری با اولویت عملکرد
- حداکثر سرعت خواندن/نوشتن و IOPS را بر کارایی ظرفیت خام اولویت میدهد.
- افزونگی در مقیاس کوچک
- آینهسازی ساده و مقرون به صرفه ١:١ را برای دادههای محلی حیاتی اولویت میدهد.
نکات کلیدی
- RAID ٠ حداکثر سرعت و ظرفیت را فراهم میکند اما تحمل خطای صفر دارد.
- RAID ١ و RAID ١٠ آینهسازی قوی ارائه میدهند اما ٥٠٪ از ظرفیت ذخیرهسازی خام را فدا میکنند.
- RAID ٥ ظرفیت و افزونگی تک دیسکی را متعادل میکند اما از جریمه سنگین عملکرد نوشتن رنج میبرد.
- RAID ٦ از دو خرابی همزمان دیسک جان سالم به در میبرد و آن را به استاندارد آرایههای مکانیکی بزرگ تبدیل میکند.
استفاده از یک آرایه ذخیرهسازی چند دیسکی، مصالحهای ثابت و ریاضی بین میزان دادهای که روی سختافزار جا میشود و سرعت نوشتن روی دیسکها را تحمیل میکند. خریداری که چهار دیسک ١٠ ترابایتی میخرد، ٤٠ ترابایت ظرفیت خام به دست میآورد، اما پیکربندی آنها برای افزونگی فوراً فضای قابل استفاده را بسته به معماری انتخابی، به ٢٠ یا ٣٠ ترابایت کاهش میدهد. استاندارد آرایه اضافی از دیسکهای مستقل (RAID) این جریمههای دقیق را دیکته میکند و دادهها را در چندین دیسک فیزیکی توزیع میکند تا از نابودی پایگاه داده یا آرشیو رسانهای در اثر خرابی مکانیکی یک دیسک جلوگیری کند.[1][4]
پیکربندیهای پایه، نشاندهنده نقاط انتهایی این مصالحه هستند. RAID ٠، که به نواربندی دیسک (disk striping) معروف است، دادهها را به طور مساوی بین دو یا چند دیسک تقسیم میکند تا سرعت خواندن و نوشتن را به حداکثر برساند و ١٠٠٪ از ظرفیت خریداری شده را استفاده کند. انجمن ذخیرهسازی سازمانی (Enterprise Storage Forum) اشاره میکند که «RAID ٠ هیچ افزونگی یا تحمل خطایی ارائه نمیدهد»، به این معنی که اگر یک دیسک در یک آرایه چهار دیسکی RAID ٠ خراب شود، کل حجم برای همیشه از دست میرود. این سطح منحصراً برای دیسکهای موقت (scratch disks) استفاده میشود که در آنها سرعت تنها معیار مهم است.[1][3]
در مقابل، RAID ١ دادهها را به طور یکسان در دو دیسک آینهسازی (mirror) میکند. این تضمین میکند که سیستم بدون وقفه از خرابی یک دیسک جان سالم به در میبرد، اما جریمه سخت ٥٠ درصدی ظرفیت را تحمیل میکند. هر بلوک داده باید دو بار نوشته شود، که ذاتاً سرعت نوشتن را به عملکرد یک دیسک محدود میکند. برای استقرار در مقیاس کوچک مانند یک دستگاه ذخیرهساز متصل به شبکه (NAS) دو دیسکی که سوابق مالی حیاتی را نگهداری میکند، RAID ١ سادهترین و مطمئنترین پشتیبانگیری در سطح سختافزار را فراهم میکند.[2][4]
برای محیطهایی که هم به ظرفیت و هم به حفاظت نیاز دارند، RAID ٥ مفهوم توازن توزیع شده (distributed parity) را معرفی میکند. RAID ٥ که حداقل به سه دیسک نیاز دارد، دادهها را در سراسر آرایه مینویسد در حالی که یک بلوک توازن ریاضی را محاسبه میکند که میتواند دادههای از دست رفته را در صورت از کار افتادن یک دیسک بازسازی کند. این پیکربندی صرف نظر از اندازه آرایه، دقیقاً به اندازه ظرفیت یک دیسک هزینه دارد. یک تنظیم سه دیسکی ٦٦٪ فضای قابل استفاده و یک تنظیم چهار دیسکی ٧٥٪ فضای قابل استفاده را به دست میدهد.[1][5]
در حالی که سرعت خواندن در RAID ٥ با افزودن هر دیسک به طور مؤثر افزایش مییابد، سربار محاسباتی محاسبه توازن، عملکرد نوشتن را جریمه میکند. هر عملیات نوشتن مستلزم آن است که کنترلر دادههای موجود را بخواند، توازن موجود را بخواند، توازن جدید را محاسبه کند، و سپس هم داده جدید و هم توازن جدید را روی دیسکها بنویسد. این «جریمه نوشتن» (write penalty) باعث میشود RAID ٥ برای برنامههای پایگاه داده با حجم نوشتن بالا که هزاران تراکنش کوچک در ثانیه را پردازش میکنند، مناسب نباشد.[3][5]
در حالی که سرعت خواندن در RAID ٥ با افزودن هر دیسک به طور مؤثر افزایش مییابد، سربار محاسباتی محاسبه توازن، عملکرد نوشتن را جریمه میکند.
همزمان با افزایش اندازه هارد دیسکهای تکی به بیش از ٢٠ ترابایت در دهه ٢٠٢٠، زمان لازم برای بازسازی یک آرایه RAID ٥ خراب شده از ساعتها به روزها کشیده شد. در طول این پنجره بازسازی، دیسکهای باقیمانده تحت حداکثر بار پایدار کار میکنند. اگر دیسک دومی در طول این فرآیند فشرده خراب شود، کل آرایه از بین میرود. این آسیبپذیری، که به عنوان خطای خواندن غیرقابل بازیابی (URE) در طول بازسازی شناخته میشود، اساساً استراتژیهای ذخیرهسازی سازمانی را از RAID ٥ برای دیسکهای مکانیکی با ظرفیت بالا دور کرد.[4][6]
RAID ٦ این آسیبپذیری بازسازی را با نوشتن دو بلوک توازن مستقل در حداقل چهار دیسک کاهش میدهد. این معماری توازن دوگانه به سیستم اجازه میدهد تا از خرابی همزمان دو دیسک جان سالم به در ببرد. هزینه آن، جریمه ظرفیت دو دیسک و کاهش بیشتر سرعت نوشتن به دلیل محاسبه توازن دوگانه است. در یک آرایه هشت دیسکی، RAID ٦، ٢٥٪ از ظرفیت خام را برای توازن ذخیره میکند، در مقایسه با ١٢.٥٪ برای RAID ٥، اما حاشیه ایمنی لازم را برای استخرهای ذخیرهسازی عظیم فراهم میکند.[4][6]
طبق گزارش فنی HPE، «RAID ٦ انتخاب عملی برای ذخیرهسازی استاندارد سازمانی است»، و این پیکربندی را عمدتاً به سمت نقشهای آرشیوی و پشتیبانگیری با ظرفیت بالا سوق میدهد که در آنها قابلیت اطمینان خواندن بر سرعت نوشتن اولویت دارد. جریمه سنگین نوشتن ناشی از محاسبات توازن دوگانه اغلب در سیستمهای مدرن توسط کنترلرهای سختافزاری اختصاصی RAID که مجهز به گیگابایت حافظه کش داخلی هستند، جبران میشود. این کشها دادههای ورودی را جذب میکنند در حالی که پردازنده بلوکهای توازن را در پسزمینه محاسبه میکند.[5][6]
حجمهای کاری که هم تحمل خطای بالا و هم حداکثر عملکرد نوشتن را طلب میکنند، به طور کامل توازن را کنار گذاشته و به نفع RAID ١٠ عمل میکنند. RAID ١٠ با ترکیب آینهسازی RAID ١ با نواربندی RAID ٠ در حداقل چهار دیسک، سرعتهای خواندن و نوشتن استثنایی را ارائه میدهد. این سطح میتواند از خرابیهای متعدد دیسک جان سالم به در ببرد، مشروط بر اینکه خرابیها در یک جفت آینهسازی شده رخ ندهند. از آنجایی که توازن را محاسبه نمیکند، جریمه نوشتن از بین میرود.[2][3]
مانع مالی RAID ١٠، جریمه ٥٠ درصدی ظرفیت آن باقی میماند و خریداران را ملزم میکند دو برابر ظرفیت خام مورد نظر خود را خریداری کنند. یک آرایه خام ٤٠ ترابایتی تنها ٢٠ ترابایت فضای قابل استفاده میدهد. اتاقهای ویرایش ویدئو، میزبانهای مجازیسازی و پایگاههای داده با تراکنش بالا، این هزینه را برای حفظ سرعت نوشتن تحت بار سنگین توجیه میکنند. این تصمیم سقف عملکرد و آستانه خرابی آرایه را در لحظه فرمت شدن حجم تثبیت میکند و قابلیتهای سختافزار را برای کل طول عمر عملیاتی آن دیکته میکند.[1][2]
چرا مهم است
خرابی یک هارد دیسک در یک آرایه بدون محافظت، دادهها را فوراً از بین میبرد، در حالی که یک تنظیم با افزونگی بیش از حد میتواند ظرفیت قابل استفاده را نصف کرده و سرعت برنامه را کاهش دهد. تطبیق سطح RAID صحیح با حجم کاری خاص، هم از دست رفتن فاجعهبار دادهها و هم هزینههای سختافزاری غیرضروری را جلوگیری میکند.
منابع
[1]Enterprise Storage Forumآرشیوهای بهینهسازی شده برای ظرفیتUltimate Guide to RAID Levels: Definition, Types, and Uses
مطالعه در Enterprise Storage Forum →
[2]Trenton Systemsحجمهای کاری با اولویت عملکردRAID Levels 0, 1, 5, 6 and 10 & RAID Types (Software vs. Hardware)
مطالعه در Trenton Systems →
[3]Boolean Worldحجمهای کاری با اولویت عملکردRAID levels 0, 1, 4, 5, 6, 10 explained
مطالعه در Boolean World →
[4]Wikipediaآرشیوهای بهینهسازی شده برای ظرفیتStandard RAID levels
مطالعه در Wikipedia →
[5]HPE Communityآرشیوهای بهینهسازی شده برای ظرفیتRaid Levels Technology Brief
مطالعه در HPE Community →
[6]Enterprise Storage Forumآرشیوهای بهینهسازی شده برای ظرفیتRAID 5 vs. RAID 6
مطالعه در Enterprise Storage Forum →
[7]تیم سردبیری کوهستانافزونگی در مقیاس کوچکتحلیل تیم سردبیری کوهستان
مطالعه در تیم سردبیری کوهستان →
نظرات
هر زاویه. هر روز.
دریافت راهنماها اخبار همراه با پوشش کامل منابع و تحلیل دیدگاهها، مستقیم در صندوق ورودی شما.

