انتخابهای عملی RAID برای آرایههای مبتنی بر دیسک دوار
مقدار واقعاً عظیمی از اطلاعات در رابطه با سیستمهای ذخیرهسازی RAID وجود دارد که موضوعاتی مثل ریسک، عملکرد، ظرفیت، روندها، رویکردها و بیشتر را بررسی میکند. در حالی که کار در این موضوع تقریباً گیجکننده است، اطلاعات میتوانند به تعداد کمی از رویکردهای ذخیرهسازی رایج و عملی تقطیر شوند که تقریباً تمام موارد استفاده را پوشش میدهد. هدف من در اینجا ارائه یک راهنمای مفید است که به یک متخصص غیر-ذخیرهسازی اجازه میدهد تصمیمگیری RAID را به شیوهای عملی و مهمتر از همه، ایمن انجام دهد.
برای اهداف این راهنما، فرض میکنیم پروژههای ذخیرهسازی با حداکثر بیست و پنج دیسک سنتی (دیسکهای پلاتر دوار که بهدرستی به عنوان دیسکهای Winchester شناخته میشوند.) این دیسکها میتوانند SFF (2.5 اینچ) یا LFF (3.5 اینچ)، SATA یا SAS، مصرفکننده یا سازمانی باشند. به دیسکهای حالت جامد نمیپردازیم زیرا اینها ویژگیهای بسیار متفاوتی دارند و به راهنمایی خاص خود نیاز دارند. سیستمهای ذخیرهسازی بزرگتر از تقریباً بیست و پنج اسپیندل نباید از راهنمایی استاندارد کار کنند بلکه باید عمیقتر به نیازهای ذخیرهسازی خاص برای اطمینان از برنامهریزی مناسب بپردازند.
راهنمایی در اینجا برای سیستمهای استاندارد در سال ۲۰۱۵ نوشته شده است. طی دو دهه گذشته، رویکردهای رایج به ذخیرهسازی RAID بهطور چشمگیری تغییر کردهاند و در حالی که پیشبینی نمیشود عوامل کلیدی که بر این تصمیمات تأثیر میگذارند در آینده به اندازه کافی تغییر کنند تا این توصیهها را تغییر دهند، بسیار ممکن است که تغییر کنند. طراحی خوب RAID در ۱۹۹۸ امروز طراحی بسیار بدی است. نرخ تغییر در صنعت از آن زمان بهطور قابل توجهی کاهش یافته است و این توصیهها احتمالاً برای مدت بسیار طولانی، بسیار احتمالاً تا زمانی که ذخیرهسازی دیسک مبتنی بر اسپیندل دیگر در دسترس نیست یا حداقل محبوب نیست، باقی خواهند ماند، اما مثل همه چیز، پیشبینیها مشمول تغییرات زیادی هستند.
بهطور کلی از رویکردی استفاده میکنیم که «یک آرایه بزرگ» نامیده میشود. یعنی یک آرایه RAID واحد که روی آن تمام پارتیشنهای سیستم و داده ایجاد میشوند. نیاز یا تمایل به تقسیم ذخیرهسازی به چندین آرایه فیزیکی امروزه عمدتاً از بین رفته و باید فقط در شرایط غیر-عمومی انجام شود. فقط در موقعیتهایی که مطالعه دقیق نیازهای ذخیرهسازی و تحلیل سنگین انجام میشود باید به تقسیم آرایه نگاه کنیم. تقسیم آرایه بسیار بیشتر احتمال ایجاد آسیب دارد تا خیر. در هنگام شک، از آرایههای تقسیمشده اجتناب کنید. هدف این راهنما قوانین کلی است تا به هر متخصص IT اجازه دهد یک سیستم ذخیرهسازی ایمن و قابل اطمینان بسازد. قوانین کلی نمیتوانند و نمیتوانند هر سناریویی را پوشش دهند، استثناها همیشه وجود دارند. اما ایده اینجا پوشش دادن اکثریت قریب به اتفاق موارد با رویکردهای آزمودهشده است که برای تجهیزات، موارد استفاده و نیازهای مدرن طراحی شدهاند در حالی که مراقب هستیم که در جهت ایمنی اشتباه کنیم — وقتی یک انتخاب کمتر از ایدهآل است، همچنان ایمن است. هیچیک از این انتخابها به هیچ وجه بیملاحظه نیستند، در بدترین حالت بیش از حد محافظهکارانه هستند.
اولین سناریویی که باید در نظر بگیریم این است که آیا دادههای شما اهمیت ندارند. این ممکن است یک چیز عجیب برای در نظر گرفتن به نظر برسد، اما یک سناریوی بسیار مهم است. موارد زیادی وجود دارد که دادههای ذخیرهشده روی دیسک موقتی در نظر گرفته میشوند و نیازی به محافظت ندارند. این برای دادههای قابل بازسازی مانند فضای کاری برای رندرینگ، فضاهای محاسباتی میانی یا کشها رایج است — موقعیتهایی که خرج کردن برای محافظت از دادهها هدر رفت است و پذیرفتنی است که بهسادگی دادههای از دست رفته را دوباره ایجاد کنیم به جای محافظت از آن. این میتواند موردی باشد که توقف مشکلی نیست و دادهها ثابت یا تقریباً ثابت هستند و به جای خرج کردن برای کاهش توقف، فقط نگران محافظت از دادهها از طریق مکانیزمهای پشتیبانگیری هستیم تا اگر آرایهای خراب شد، بهسادگی آرایه را کاملاً بازیابی کنیم. در این موارد انتخاب واضح RAID 0 است. بسیار سریع، بسیار ساده و مقرونبهصرفهترین ظرفیت را ارائه میدهد. تنها معایب RAID 0 این است که شکننده است و هیچ محافظتی در برابر از دست دادن داده در صورت خرابی دیسک یا حتی URE ارائه نمیدهد (که میتواند مانند دسکتاپ با خرابی داده مواجه شود.)
باید توجه داشت که استثنایی از رویکرد «یک آرایه بزرگ» که رایج خواهد بود در سیستمهایی است که از RAID 0 برای داده استفاده میکنند. استدلال بسیار خوبی برای یک آرایه دیسک کوچک اختصاصیافته به سیستمعامل و دادههای برنامه که نصب مجدد آنها در صورت از دست رفتن آرایه دشوار است روی RAID 1 وجود دارد و آرایه داده RAID 0 جداگانه از آن باشد. به این ترتیب بازیابی میتواند بسیار سریع باشد به جای اینکه نیاز باشد کل سیستم را از صفر بازسازی کنیم به جای صرفاً بازسازی دادهها.
با فرض اینکه موارد را که در آنها داده به محافظت نیاز ندارند حذف کردهایم، برای تمام موارد باقیمانده فرض میکنیم که دادهها بسیار مهم هستند و میخواهیم با هزینهای از آنها محافظت کنیم. فرض میکنیم که محافظت از دادهها همانطور که روی ذخیرهسازی زنده وجود دارد مهم است، بهطور کلی زیرا میخواهیم از توقف جلوگیری کنیم یا زیرا میخواهیم یکپارچگی دادهها را تضمین کنیم زیرا دادههای روی دیسک ثابت نیستند و خرابی آرایه همچنین از دست دادن داده محسوب میشود. با این فرض ادامه میدهیم.
اگر آرایهای از فقط دو دیسک داریم، جواب بسیار ساده است، RAID 1 انتخاب میکنیم. در این اندازه گزینه دیگری وجود ندارد، بنابراین هیچ تصمیمی لازم نیست. از نظر تئوری باید آرایههایمان را بهصورت جامع برنامهریزی کنیم و نه بعد از اینکه تعداد دیسکها تعیین شد، تعداد دیسکها و نوع آرایه انتخابشده باید با هم انجام شوند نه اینکه دیسکها خریداری شوند و سپس استفاده بر اساس آن عدد خودسرانه تعیین شود، اما شاسیهای دو دیسکی بسیار رایج هستند که ارزش ذکر به عنوان یک مورد را دارند.
به همین ترتیب، با یک آرایه چهار دیسکی تنها انتخاب واقعی برای در نظر گرفتن RAID 10 است. نیازی به ارزیابی بیشتر نیست. بهسادگی RAID 10 را انتخاب کنید و ادامه دهید.
یک مورد ناخوشایند آرایه سه دیسکی است. بسیار، بسیار نادر است که به سه دیسک محدود شویم زیرا تنها شاسی رایج محدود به سه دیسک Apple Xserve بود و این برای مدتی از بازار خارج شده است، بنابراین نیاز به تصمیمگیری در مورد آرایههای سه اسپیندل باید بسیار بعید باشد. در مواردی که سه دیسک داریم، اغلب بهترین کار این است که راهنمایی بگیریم، اما رایجترین رویکردها اضافه کردن یک دیسک چهارم و در نتیجه انتخاب RAID 10، یا اگر ظرفیتی بیش از ارزش یک دیسک مورد نیاز نیست، قرار دادن هر سه دیسک در یک RAID 1 سهگانه هستند.
بنابراین برای تمام موارد دیگر، با پنج تا بیست و پنج دیسک سروکار داریم. از آنجا که موقعیتهایی را که RAID 0 و RAID 1 اعمال میشوند حذف کردهایم، با تمام سناریوهای رایج مواجه هستیم که به RAID 6 و RAID 10 میرسند، و اینها اکثریت قریب به اتفاق موارد را تشکیل میدهند. انتخاب بین RAID 6 و RAID 10 بزرگترین چالشی میشود که با آن روبهرو خواهیم بود زیرا باید صرفاً به نیازهای «نرم» ما از نظر قابلیت اطمینان، عملکرد و ظرفیت نگاه کنیم.
انتخاب بین RAID 6 و RAID 10 نباید بسیار دشوار باشد. RAID 10 برای موقعیتهایی که عملکرد و ایمنی اولویت هستند ایدهآل است. RAID 10 عملکرد نوشتن بسیار سریعتری دارد و صرفنظر از نوع دیسک استفادهشده ایمن است (دیسکهای مصرفکننده کمهزینه همچنان میتوانند حتی در آرایههای بزرگ بسیار ایمن باشند.) RAID 10 به اندازههای بسیار بزرگ بهخوبی مقیاس میدهد، بسیار بزرگتر از آنچه باید با استفاده از قوانین کلی پیادهسازی شود! RAID 10 ایمنترین در میان همه انتخابهاست، سریع و ایمن است. معایب واضح این است که RAID 10 ظرفیت ذخیرهسازی کمتری از همان دیسکها دارد و بر اساس ظرفیت پرهزینهتر است. باید ذکر شود که RAID 10 فقط میتواند از تعداد زوج دیسکها استفاده کند، دیسکها به صورت جفتی اضافه میشوند.
RAID 6 بهطور کلی ایمن و سریع است اما هرگز به اندازه RAID 10 ایمن یا سریع نیست. RAID 6 بهطور خاص از عملکرد نوشتن رنج میبرد بنابراین برای حجم کاریهایی مانند پایگاه داده و بارهای ترکیبی سنگین مثل سیستمهای مجازیسازی بزرگ بسیار نامناسب است. RAID 6 مقرونبهصرفه است و تمرکز سنگینی بر ظرفیت موجود در مقایسه با RAID 10 دارد. وقتی بودجهها محدود هستند یا نیازهای ظرفیت بر عملکرد غلبه میکنند، RAID 6 انتخاب ایدهآل است. بهندرت تفاوت در ایمنی بین RAID 10 و RAID 6 نگرانکننده است به جز در سیستمهای بسیار بزرگ با دیسکهای درجه مصرفکننده. RAID 6 در معرض ریسک اضافی با دیسکهای درجه مصرفکننده است که RAID 10 تحت تأثیر آن نیست که میتواند نگرانیهایی در مورد قابلیت اطمینان در سیستمهای بزرگتر RAID 6 مانند آنهایی که بالای تقریباً ۴۰ ترابایت هستند هنگامی که دیسکهای مصرفکننده استفاده میشوند ایجاد کند.
بهویژه در فضای کسبوکارهای کوچک، اکثریت سیستمها از RAID 10 استفاده خواهند کرد صرفاً به این دلیل که آرایهها بهندرت باید بزرگتر از چهار دیسک باشند. وقتی آرایهها بزرگتر هستند، RAID 6 به دلیل بودجههای نسبتاً محدود و نگرانی عمومی کم در مورد عملکرد انتخاب رایجتر است. هر دو RAID 6 و RAID 10 راهحلهای ایمن و مؤثری برای تقریباً تمام سناریوهای استفاده هستند که RAID 10 زمانی غالب است که عملکرد یا قابلیت اطمینان فوقالعاده کلیدی است و RAID 6 زمانی غالب است که هزینه و ظرفیت کلیدی هستند. و البته، وقتی نیازهای ذخیرهسازی بسیار منحصربهفرد یا بسیار بزرگ هستند، مانند بزرگتر از بیست و پنج اسپیندل در یک آرایه، فراموش نکنید از یک مشاور ذخیرهسازی کمک بگیرید زیرا سناریو میتواند بهراحتی بسیار پیچیده شود. ذخیرهسازی یکی از جاهایی است که صرف وقت اضافی ارزش دارد زیرا بسیاری از چیزها به آن وابسته هستند، اشتباهات بسیار آسان به نظر میرسند و انعطافپذیری برای تغییر آن بعداً بسیار کم است.
