تاریخچه تقسیم آرایه
بخش زیادی از دانش حفظی حوزه IT، به ویژه حوزه SMB، در اواخر دهه ۱۹۹۰ بر اساس عوامل متنوعی شکل گرفت. بزرگترین عوامل این بودند که ناگهان کسبوکارهای کوچکتر و کوچکتر برای رایانهای شدن هجوم آوردند، Microsoft موفق شده بود Windows NT 4 را به قدری پایدار کند که پایه استانداردی برای تمام IT در حوزه SMB وجود داشت، دوران اینترنت سرانجام جا افتاده بود و Microsoft برنامههای گواهینامه و آموزشی خود را معرفی کرد که نحوه انتشار دانش در صنعت را تغییر داد. روی هم رفته، این امر هم نیازی به آموزش جدید و بهترین شیوهها ایجاد کرد و هم موجب انفجار عظیمی از تفکر جدید، نوشتن، مستندسازی، آموزش، بهترین شیوهها، قوانین سرانگشتی و غیره شد.
برای چند سال تقریباً کل حوزه روی همان مجموعه دانش کوچکی آموزش دید و بسیاری از قوانین سرانگشتی به استانداردهای de facto تبدیل شدند و بسیاری از دانشهای آن زمان به صورت حفظی یاد گرفته و از مربی به کارآموز در چرخهای منتقل شد که بسیاری از دانش فنی ۱۹۹۸ را به فرآیندهای بدون سوال و ثابت ۲۰۱۲ تبدیل کرد. در آن زمان این کار مؤثر بود چون شیوهها مرتبط بودند اما آن پانزده سال پیش بود، فناوری، اقتصاد، موارد استفاده و دانش از آن زمان به طور قابل توجهی تغییر کردهاند.
یکی از بهترین نمونههای این موضوع، توصیه معروف Microsoft SQL Server از RAID 1 برای سیستم عامل، RAID 5 برای فایلهای پایگاه داده و RAID 1 دیگری برای لاگها بود. این تنظیم تقریباً در طول تمام عمر محصول ادامه یافته و به قدری خوب ترویج شده که تقریباً در تمام جنبههای طراحی سرور در فضای SMB گسترش یافته است. استفاده از RAID 1 برای سیستم عامل و RAID 5 برای دادهها آنقدر فراگیر است که اغلب بدون هیچ توجهی به اینکه چرا این در آن زمان توصیه شده بود، فرض میشود.
بیایید تاریخچه را بررسی کنیم و ببینیم چرا R1/5/1 در ۱۹۹۸ خوب بود و چرا امروز نباید وجود داشته باشد. برخی دیدگاهها را در ذهن داشته باشید، شکاف بین زمانی که این توصیهها اول بیرون آمدند (به اندازه ۱۹۹۵) در مقایسه با امروز عظیم است. به ذهن خود برگردید به ۱۹۹۵ و درباره شکاف معادل آن زمان فکر کنید. این مثل استفاده از توصیههایی در عصر اولیه اینترنت بر اساس نیازهای رایانه خانگی برای اولین نسل صاحبان Apple ][ بود! دوران رایانه خانگی ۸ بیتی تازه در ۱۹۷۸ شروع شده بود. Commodore هنوز دو سال مانده بود تا اولین رایانه خانگی خود (VIC-20) را عرضه کند و تمام دوران Commodore و Commodore Amiga را طی میکرد و ورشکسته میشد و ناپدید میشد همه قبل از ۱۹۹۵. Apple ][+ هنوز یک سال مانده بود. مردم میخواستند از درایوهای نوار آنالوگ به عنوان ذخیرهسازی استفاده کنند. COBOL و Fortran تنها زبانهای تجاری جدی در استفاده بودند. اساساً شکاف باورنکردنی است. چیزها تغییر میکنند.
اول، باید به عواملی که در اواخر دهه ۱۹۹۰ وجود داشتند و نیاز به تنظیم تاریخی ما را ایجاد کردند نگاه کنیم.
- درایوها کوچک بودند، بسیار کوچک. یک آرایه پایگاه داده بزرگ ممکن بود چهار درایو SCSI 2.1 گیگابایتی در یک آرایه R5 برای فقط ~6 گیگابایت فضای ذخیرهسازی قابل استفاده روی یک آرایه واحد باشد. حوزه خرابی برای خرابی RAID توازنبند ناچیز بود (در مقایسه با چیزهایی مثل نرخ خرابی URE.)
- فناوریهای اتصال درایو موازی و کند بودند. هارد درایوهای آن زمان تنها کمی کندتر از درایوهای امروزی بودند اما فناوریهای اتصال گلوگاه قابل توجهی را نشان میدادند. تقسیم ترافیک برای کاهش گلوگاههای شین رایج بود.
- فناوری درایو SCSI تنها فناوری مورد استفاده برای سرورها بود. استفاده از PATA (که در آن زمان IDE نامیده میشد) در یک سرور غیرقابل تصور بود.
- درایوها به ازای هر گیگابایت گران بودند بنابراین صرفهجویی در هزینه موضوع اصلی بود، در حالی که ظرفیت برای تقریباً همه کسبوکارها حفظ میشد.
- فایلسیستمها شکننده بودند و بیشتر از درایوها خراب میشدند.
- RAID سختافزاری ضروری بود و تنها سطوح اولیه RAID 1 و 5 به طور معمول در دسترس بودند. RAID 6 و RAID 10 سالها با دسترس بودن برای اکثر کسبوکارها فاصله داشتند. RAID 0 کنار گذاشته میشود زیرا هیچ افزونگی ندارد.
- سیستمهای ذخیرهسازی به ندرت، اگر اصلاً، بین سرورها به اشتراک گذاشته میشدند بنابراین دسترسی تقریباً همیشه به یک صف درخواست واحد اختصاصی بود.
- حافظهپنهان ذخیرهسازی ناچیز بود یا وجود نداشت که محدودیتهای دسترسی درایو را مستقیماً به سیستم عامل منتقل میکرد. این به معنای داشتن آرایههای مختلف با ویژگیهای متفاوت برای مدیریت ترکیبهای مختلف خواندن/نوشتن یا دسترسی تصادفی/ترتیبی بود.
- خرابی درایو رایج بود و نگرانی اصلی طراحی سیستم ذخیرهسازی بود.
- اغلب اندازه آرایه درایو توسط محدودیتهای فیزیکی محدود میشد بنابراین اغلب تصمیمات تقسیم آرایه از روی ضرورت، نه انتخاب، گرفته میشد.
- ترکیبی از عوامل فوق به این معنا بود که RAID 1 برای برخی قسمتهای سیستم که اندازه کوچک قابل قبول بود و دسترسی بسیار ترتیبی یا نوشتن سنگین بود بهترین بود و RAID 5 برای سایرین که ظرفیت بر قابلیت اطمینان اولویت داشت و دسترسی بسیار تصادفی و خواندن سنگین بود بهترین بود.
در تقریباً دو دهه از زمانی که توصیههای اولیه منتشر شدند، همه این عوامل تغییر کردهاند. در برخی موارد تغییرات آبشاری هستند که جایی که حرکت از RAID 5 برای استفاده عمومی به RAID 10 برای استفاده عمومی باعث شده آنچه دو نوع آرایه رایج بودند، RAID 1 و RAID 10، ویژگیهای دسترسی مشترکی داشته باشند بنابراین نیاز یا خواسته برای استفاده از یکی یا دیگری بسته به نوع بار از بین رفته است.
- درایوها اکنون عظیم هستند. به جای تلاش برای فشردن آنچه نیاز داریم روی آنها، معمولاً ظرفیت اضافی داریم. درایوهای منفرد بیش از یک ترابایت رایج هستند، حتی در سرورها. حوزههای خرابی برای توازن بزرگ هستند (در مقایسه با چیزهایی مثل نرخ خرابی URE.)
- اتصالات درایو سریال و سریع هستند. اتصالات درایو دیگر گلوگاه نیستند.
- SATA اکنون در سرورها رایج است که خطرات بالقوه برای URE را به روشی که قبلاً وجود نداشت کج میکند.
- ظرفیت اکنون ارزان است اما عملکرد و قابلیت اطمینان اکنون نگرانیهای اصلی برای پول هزینه شده هستند.
- فایلسیستمها امروزه بسیار مقاوم هستند و خرابیهای فایلسیستم «سروصدای پسزمینه» در تصویر بزرگتر قابلیت اطمینان آرایه هستند.
- RAID سختافزاری و RAID نرمافزاری هر دو امروزه گزینهها هستند و سطوح RAID موجود شامل گزینههای بسیاری هستند اما، مهمتر از همه، RAID 10 در همه جا در دسترس است.
- سیستمهای ذخیرهسازی معمولاً به اشتراک گذاشته میشوند که دسترسی ترتیبی را حتی کمتر رایج میکند.
- حافظههای پنهان ذخیرهسازی معمولاً و اغلب بسیار بزرگ هستند. حافظههای پنهان 512 مگابایت و 1 گیگابایت امروزه عادی تلقی میشوند که بسیاری از آرایههای ۱۹۹۵ را کاملاً در حافظه روی کنترلر RAID امروزی جای میدهند. با رشد سریع حافظههای پنهان نسبت به ظرفیت ذخیرهسازی و افزوده شدن اخیر درایوهای solid state به عنوان حافظه پنهان L2 در ذخیرهسازی در دو سال گذشته، دور از انتظار نیست که حتی یک کسبوکار کوچک پایگاه دادهها و سایر برنامههای حساس به عملکرد را کاملاً از حافظه پنهان اجرا کند.
- خرابی درایو غیررایج است و نگرانی ناچیزی برای طراحی سیستم ذخیرهسازی دارد (در مقایسه با سایر انواع خرابی.)
- اندازه آرایه درایو به ندرت توسط محدودیتهای فیزیکی محدود میشود.
- استفاده از RAID 1 و RAID 10 به عنوان انواع آرایه اصلی امروزه به این معنی است که هیچ مزیتی از استفاده از سطوح آرایه مختلف برای تنظیم عملکرد وجود ندارد.
این عوامل برجسته میکنند که چرا سیستم آرایه تقسیم شده ۱۹۹۵ در آن زمان کاملاً منطقی بود و چرا امروز منطقی نیست. OBR10، استاندارد امروزی، در آن زمان در دسترس نبود و از نظر هزینه ممنوع بود. RAID 5 در ۱۹۹۵ نسبتاً ایمن بود، اما امروز نه. تقریباً هر عاملی در فرآیند تصمیمگیری در هفده سال گذشته به شکل چشمگیری تغییر کرده و با رایجتر شدن SSD همراه با auto-tiering، حافظههای پنهان حتی بزرگتر و سیستمهای ذخیرهسازی خالص SSD به تغییر ادامه خواهد داد.
تغییر در طراحی ذخیرهسازی در دو دهه گذشته همچنین خطراتی را که IT با آنها روبروست برجسته میکند، زیرا بخش زیادی از حوزه همانطور که در مهندسی رایج است، «قوانین سرانگشتی» اولیه یا «بهترین شیوهها» را بدون لزوم درک اصول زیربنایی که این تصمیمات را هدایت میکنند یاد میگیرد، که تشخیص زمانی که این بهترین شیوهها را نباید به کار برد یا، مهمتر از همه، زمانی که باید بشناسند که قانون دیگر کاربرد ندارد را دشوار میکند. برخلاف مهندسی مکانیک یا عمران سنتی که پیشرفتهای جدید و تغییرات قابل توجه عوامل ممکن است یک بار یا احتمالاً هرگز در طول یک دوره کاری اتفاق بیفتند، IT هنوز به اندازه کافی سریع تغییر میکند که «بازنگری کامل» قوانین اولیه سرانگشتی چندین بار در طول یک دوره کاری ضروری است. شاید نه سالانه، اما یک بار در هر دهه یا بیشتر تقریباً همیشه ضروری است.
حرکت فعلی از معماریهای تکپردازشی به معماریهای چندنخی تغییر مشابه و قابل توجه دیگری است که نیازمند تغییر کامل نحوه طراحی سیستم در حوزه IT است.
