RAID 100 چیست؟
RAID 10 یکی از مهمترین و رایجترین سطوح RAID مورد استفاده امروز است. RAID 10 البته همان چیزی است که به عنوان RAID مرکب یا تو در تو شناخته میشود که در آن یک سطح RAID درون دیگری تو در تو میشود. در مورد RAID 10، “پایینترین” سطح RAID، آنکه دستگاههای فیزیکی را لمس میکند، RAID 1 است. نامگذاری RAID تو در تو به این صورت است که عدد سمت چپ همان است که دستگاههای فیزیکی را لمس میکند و هر عدد سمت راست RAID است که آن آرایهها را لمس میکند.
پس RAID 10 تعدادی از مجموعههای RAID 1 (آینه) است که در یک مجموعه RAID 0 (استرایپ بدون پریتی) با هم هستند. اصطلاح رایج خاصی گاهی اعمال میشود، که عمدتاً توسط HP مطرح شده، برای اشاره حتی به RAID 1 به عنوان صرفاً زیرمجموعهای از RAID 10 – یک آرایه RAID 10 که طول RAID 0 آن یک است. روشی عجیب برای فکر کردن به RAID 1، مطمئناً، اما در واقع بسیاری از بحثها و محاسبات مقایسهای را آسانتر میکند و برای اکثر پزشکان ذخیرهسازی به روشی عملی منطقی است. فکر کردن به RAID 1 به عنوان یک "نام خاص" برای کوچکترین اندازه ممکن استرایپ RAID 10 و اجازه دادن، سپس، به همه تغییرات RAID 10 برای وجود به عنوان یک پیوستار محاسباتی منطقی است.
به همین ترتیب، HP همچنین به دیسکهای تنها متصل به یک کنترلر RAID به عنوان مجموعههای RAID 0 از یک استرایپ از یک اشاره میکند. بنابراین اعمال آن اصطلاح به دنیای RAID 10 در واقع آشکارتر و معقولتر است وقتی در آن روشنایی نگاه میشود. با این حال نه HP و نه هیچ فروشنده دیگری امروز این عجیبی نامگذاری یکسان را به سایر انواع آرایه مانند RAID 5 که زیرمجموعه RAID 50 است یا RAID 6 که زیرمجموعه RAID 60 است اعمال نمیکند حتی اگر بتوانند دقیقاً به همان روشی که RAID 1 میتواند به RAID 10 باشد به آنها فکر کرد.
اگر همان منطق را بگیریم و آن را به سطح بعدی ببریم، به معنای واقعی و تحتاللفظی، میتوانیم چندین آرایه RAID 10 را در یک RAID 0 دیگر استرایپ کنیم. این عجیب به نظر میرسد اما میتواند منطقی باشد. نتیجه یک استرایپ از RAID 10ها یا برای نوشتن آن، یک استرایپ از استرایپهای آینهها است (ما به طور کلی RAID را از بالا به پایین بیان میکنیم اما نامگذاری از پایین به بالا است.) پس چون این RAID 1 روی دستگاههای فیزیکی است، یک استرایپ از آن آینهها و سپس یک استرایپ از آن آرایههای نتیجهشده، RAID 100 (R100) به دست میآید.
RAID 100 البته نادر و عجیب است. با این حال یک تولیدکننده کنترلر RAID بسیار مهم از R100 استفاده میکند و در نتیجه فروشنده یکپارچهسازی پاییندستی آنها نیز: یعنی LSI و Dell.
خوشبختانه چون استرایپهای بدون پریتی رفتارهای عجیب کمی ایجاد میکنند و سربار یا تأخیر نزدیک به صفر دارند این رویکرد واقعاً مشکلی نیست اگرچه میتواند منجر به سردرگمی زیادی شود. برای همه مقاصد عملی، RAID 100 دقیقاً مانند RAID 10 رفتار میکند وقتی هر زیرمجموعه RAID 10 با یکدیگر یکسان است.
در نظریه، یک RAID 100 میتوانست از بسیاری از مجموعههای RAID 10 ناهمگون با انواع مختلف دستگاه، تعداد دوک و سرعت تشکیل شده باشد. در نظریه یک RAID 10 میتوانست از مجموعههای RAID 1 ناهمگون تشکیل شده باشد اما این بسیار محدودتر در تنوع بالقوه یا احتمالی است. RAID 100 میتواند، در نظریه، اگر بدون کنترل رها شود کارهای بسیار عجیبی انجام دهد. در عمل، هرچند، هر پیادهسازی RAID 100 احتمالاً، همانطور که پیادهسازی LSI انجام میدهد، استانداردسازی را اجرا میکند و نیاز دارد که هر زیرمجموعه RAID 10 به یکسانی که یک کنترلر قادر به اجرا است باشد. پس هر کدام به طور موثر یکنواخت خواهند بود و رفتار کلی را همانند آن چیزی نگه میدارند که گویی همان دستگاهها به عنوان RAID 10 تنظیم شدهاند.
چون رفتار با RAID 10 یکسان میماند گرایش بسیار قویای برای اجتناب از سردرگمی صدا کردن آرایه RAID 100 و به سادگی اشاره به آن به عنوان RAID 10 وجود دارد. این خوب کار میکند به استثنای ویژگی نیمه ضروری نیاز به مشخص کردن هندسه زیرمجموعههای RAID 10 هنگام ساخت یک RAID 100. LSI، و بنابراین Dell، نیاز دارد که در زمان تنظیم یک مجموعه RAID 100 هندسه زیرمجموعه RAID 10 را مشخص کنید اما چون آرایه به عنوان RAID 10 برچسبگذاری شده، این معنایی ندارد. یک وضعیت عجیب واقعاً.
برای پیچیدهتر کردن موضوعات، به دلیل تمایل به حفظ ظاهر استفاده از RAID 10 به جای RAID 100، اصطلاح مناسب نادیده گرفته میشود و به جای اشاره به اعضای RAID 10 زیرین به عنوان "آرایههای RAID 10" یا "زیرمجموعههای RAID 10" به سادگی "اسپن" نامیده میشوند. اسپن، هرچند، اصطلاحی است که برای چیز دیگری در ذخیرهسازی استفاده میشود که اینجا به درستی کاربرد ندارد. اسپن، به هیچ وجه، یک توصیف مناسب برای یک مجموعه RAID 10 تحت هیچ شرایطی نیست.
اما اگر موافق باشیم که از اصطلاح اسپن برای اشاره به یک زیرمجموعه RAID 10 از یک آرایه RAID 100 استفاده کنیم، میتوانیم به راحتی پیش برویم. هر جا که ممکن باشد، پس میخواهیم تا جای ممکن اسپنهای بیشتری داشته باشیم تا زیرمجموعههای RAID 10 زیرین را تا حد امکان کوچک نگه داریم. اگر آنها را به اندازه کافی کوچک کنیم در واقع به مجموعههای RAID 1 تبدیل میشوند (RAID 10 عجیب HPE با اندازه استرایپ یک) و RAID 100 ما به یک RAID 10 تبدیل میشود که استرایپ میانی، نه استرایپ بیرونی، آنی است که ناپدید میشود! عجیب است، بله، اما عملی.
پس چگونه این را در زندگی واقعی اعمال میکنیم؟ خیلی به راحتی. در یک آرایه RAID 100 باید تعداد اسپنهایی که باید استفاده شود را مشخص کنیم. چون میخواهیم هر اسپن دو دستگاه دیسک فیزیکی داشته باشد تا هر اسپن یک RAID 1 ساده باشد، به سادگی باید کل تعداد دستگاهها در آرایه RAID 100 خود را که N مینامیم، بر دو تقسیم کنیم. پس تعداد اسپن مطلوب برای یک آرایه RAID 100 عادی به سادگی N/2 است. این به این معنی است که اگر یک آرایه دو دستگاهه دارید، یک اسپن میخواهید. چهار دستگاه، دو اسپن. شش دستگاه، سه اسپن. بیست و چهار دستگاه، دوازده اسپن. و همینطور ادامه میدهد.
از RAID 100 نترسید. برای کاربران عادی تنها به دانش اضافی از نحوه انتخاب تعداد مناسب اسپنها نیاز دارد. ایدهآل این بود که این به طور خودکار محاسبه میشد و پنهان میماند و به کاربران نهایی اجازه میداد به آرایهها به عنوان RAID 10 فکر کنند. یا به صورت ثابت به عنوان RAID 100 برچسبگذاری شود تا روشن شود که اسپن چه چیزی باید نشان دهد. یا البته به سادگی از RAID 10 به جای RAID 100 استفاده شود. اما با توجه به وضعیت عملی واقعیت، برخورد با RAID 100، وقتی فهمیده شود، آسان است.
