سلام هابر! در این مقاله به شما خواهیم گفت که آیا ارزش سازماندهی آرایه های RAID بر اساس راه حل های حالت جامد SATA SSD و NVMe SSD را دارد و آیا از این کار سود جدی به همراه خواهد داشت؟ ما تصمیم گرفتیم با در نظر گرفتن انواع و انواع کنترلرهایی که امکان انجام این کار را فراهم می کنند و همچنین دامنه کاربرد چنین تنظیماتی، به این موضوع بپردازیم.
به هر حال، هر یک از ما حداقل یک بار در زندگی خود تعاریفی مانند "RAID"، "RAID-array"، "RAID-controller" را شنیده ایم، اما بعید به نظر می رسد که اهمیت جدی به این داشته باشیم، زیرا همه اینها بعید است برای بویار کامپیوتر معمولی جالب است. اما همه از درایوهای داخلی سرعت بالا و عملکرد بدون مشکل می خواهند. از این گذشته، مهم نیست که سخت افزار رایانه چقدر قدرتمند باشد، سرعت درایو زمانی که صحبت از عملکرد ترکیبی رایانه شخصی و سرور به میان می آید، به یک گلوگاه تبدیل می شود.
این دقیقاً مورد بود تا زمانی که هارد دیسک های سنتی با SSD های مدرن NVMe با ظرفیت های قابل مقایسه 1 ترابایت یا بیشتر جایگزین شدند. و اگر قبلاً در رایانه های شخصی اغلب ترکیبی از SATA SSD + چند هارد HDD بزرگ وجود داشت ، امروز آنها شروع به جایگزینی با راه حل دیگری می کنند - NVMe SSD + چند عدد SATA SSD بزرگ. اگر در مورد سرورهای شرکتی و "ابرها" صحبت کنیم، بسیاری از آنها قبلاً با موفقیت به SSD های SATA منتقل شده اند، فقط به این دلیل که سریعتر از "قطعات حلبی" معمولی هستند و قادر به پردازش تعداد بیشتری از عملیات I/O به طور همزمان هستند.
با این حال، تحمل خطای سیستم هنوز در سطح نسبتاً پایینی است: ما نمیتوانیم، مانند «نبرد روانشناسان»، با دقت حتی تا یک هفته پیشبینی کنیم که یک درایو حالت جامد خاص از بین میرود. و اگر HDD ها به تدریج "بمیرند"، به شما امکان می دهند علائم را مشاهده کنید و اقدام کنید، SSD ها فورا و بدون هشدار "می میرند". و اکنون زمان آن رسیده است که بفهمیم چرا اصلاً این همه مورد نیاز است؟ آیا ارزش سازماندهی آرایههای RAID بر اساس راهحلهای حالت جامد SATA SSD و NVMe SSD را دارد و آیا از این کار سود جدی به همراه خواهد داشت؟
چرا به آرایه RAID نیاز دارید؟
خود کلمه "آرایه" نشان می دهد که چندین درایو (HDD و SSD) برای ایجاد آن استفاده شده است که با استفاده از یک کنترلر RAID ترکیب شده و توسط سیستم عامل به عنوان یک ذخیره سازی داده واحد شناخته می شود. وظیفه جهانی که آرایه های RAID می توانند حل کنند، به حداقل رساندن زمان دسترسی به داده ها، افزایش سرعت خواندن/نوشتن و قابلیت اطمینان است که به لطف توانایی بازیابی سریع در صورت خرابی به دست می آید. به هر حال، استفاده از RAID برای پشتیبان گیری از خانه اصلاً ضروری نیست. اما اگر سرور خانگی خود را دارید که نیاز به دسترسی مداوم به آن 24/7 دارید، موضوع متفاوت است.
بیش از دوازده سطح از آرایه های RAID وجود دارد که هر کدام از نظر تعداد درایوهای استفاده شده در آن متفاوت است و مزایا و معایب خاص خود را دارد: به عنوان مثال، RAID 0 به شما امکان می دهد بدون تحمل خطا عملکرد بالایی داشته باشید، RAID 1 به شما اجازه می دهد تا به طور خودکار داده ها را بدون افزایش سرعت منعکس می کند و RAID 10 ترکیبی از امکانات فوق است. RAID 0 و 1 ساده ترین هستند (از آنجایی که نیازی به محاسبات نرم افزاری ندارند) و در نتیجه محبوب ترین هستند. در نهایت، انتخاب به نفع یک یا دیگری سطح RAID بستگی به وظایف اختصاص داده شده به آرایه دیسک و قابلیت های کنترل کننده RAID دارد.
RAID خانگی و شرکتی: تفاوت چیست؟
اساس هر کسب و کار مدرن، حجم زیادی از داده است که باید به طور ایمن در سرورهای شرکت ذخیره شود. و همچنین، همانطور که در بالا اشاره کردیم، باید به آنها دسترسی ثابت 24/7 ارائه شود. واضح است که در کنار سخت افزار، بخش نرم افزاری نیز مهم است، اما در این مورد هنوز در مورد تجهیزاتی صحبت می کنیم که ذخیره و پردازش قابل اعتماد اطلاعات را تضمین می کند. اگر سخت افزار وظایف محول شده به آن را برآورده نکند، هیچ نرم افزاری شرکتی را از نابودی نجات نخواهد داد.
برای این کارها، هر سازنده سخت افزاری دستگاه های به اصطلاح سازمانی را ارائه می دهد. کینگستون راه حل های قدرتمند حالت جامد در قالب مدل های SATA دارد
برای بازار مصرف (یعنی برای رایانه های شخصی خانگی و سرورهای NAS)، درایوهایی مانند
انواع و انواع کنترلرهای RAID
بر اساس اصول پیاده سازی آرایه های RAID سه نوع کنترلر RAID وجود دارد:
1. نرم افزاری که در آن مدیریت آرایه بر روی CPU و DRAM قرار می گیرد (یعنی کد برنامه روی پردازنده اجرا می شود).
2. یکپارچه، یعنی در مادربردهای یک کامپیوتر شخصی یا سرور NAS تعبیه شده است.
3. سخت افزار (مژولار)، که کارت های توسعه گسسته برای اتصالات PCI/PCIe روی مادربردها هستند.
تفاوت اساسی آنها با یکدیگر چیست؟ کنترلرهای RAID نرم افزاری از نظر عملکرد و تحمل خطا نسبت به یکپارچه و سخت افزاری پایین تر هستند، اما برای کار کردن به تجهیزات خاصی نیاز ندارند. با این حال، مهم است که اطمینان حاصل شود که پردازنده سیستم میزبان به اندازه کافی قدرتمند است که بتواند نرم افزار RAID را بدون تأثیر منفی بر عملکرد برنامه هایی که روی هاست اجرا می شوند، اجرا کند. کنترلرهای مجتمع معمولاً به حافظه کش مخصوص به خود مجهز هستند و از مقدار مشخصی از منابع CPU استفاده می کنند.
اما سخت افزارها هم حافظه کش مخصوص به خود دارند و هم یک پردازنده داخلی برای اجرای الگوریتم های نرم افزاری. به طور معمول، آنها به شما اجازه می دهند انواع سطوح RAID را پیاده سازی کنید و چندین نوع درایو را به طور همزمان پشتیبانی کنید. به عنوان مثال، کنترلرهای سخت افزاری مدرن Broadcom می توانند به طور همزمان دستگاه های SATA، SAS و NVMe را متصل کنند، که به شما امکان می دهد هنگام ارتقاء سرورها، کنترلر را تغییر ندهید: به ویژه، هنگام انتقال از SATA SSD به NVMe SSD، کنترلرها نیازی به تغییر ندارند.
در واقع، در این یادداشت به نوع شناسی خود کنترل کننده ها می رسیم. اگر سه حالته وجود دارد، آیا باید چند حالت دیگر وجود داشته باشد؟ در این صورت پاسخ این سوال مثبت خواهد بود. بسته به عملکرد و قابلیت ها، کنترلرهای RAID را می توان به چند نوع تقسیم کرد:
1. کنترلرهای معمولی با عملکرد RAID
در کل سلسله مراتب، این ساده ترین کنترلری است که به شما امکان می دهد HDD و SSD را در آرایه های RAID سطوح "0"، "1" یا "0+1" ترکیب کنید. این به صورت برنامه نویسی در سطح سیستم عامل اجرا می شود. با این حال، به سختی می توان چنین دستگاه هایی را برای استفاده در بخش شرکتی توصیه کرد، زیرا آنها حافظه پنهان ندارند و از آرایه های سطوح "5"، "3" و غیره پشتیبانی نمی کنند. اما برای یک سرور خانگی سطح ورودی کاملاً مناسب هستند.
2. کنترلرهایی که به صورت پشت سر هم با دیگر کنترلرهای RAID کار می کنند
این نوع کنترلر را می توان با کنترلرهای مادربرد یکپارچه جفت کرد. این بر اساس اصل زیر اجرا می شود: یک کنترل کننده RAID گسسته از حل مشکلات "منطقی" مراقبت می کند و داخلی وظایف تبادل داده بین درایوها را بر عهده می گیرد. اما یک نکته ظریف وجود دارد: عملکرد موازی چنین کنترلرهایی فقط در مادربردهای سازگار امکان پذیر است، به این معنی که دامنه کاربرد آنها به طور جدی محدود است.
3. کنترلرهای RAID مستقل
این راهحلهای مجزا شامل تمام تراشههای لازم برای کار با سرورهای کلاس سازمانی هستند که بایوس، حافظه نهان و پردازنده مخصوص به خود را برای تصحیح سریع خطا و محاسبات جمعسنجی دارند. علاوه بر این، آنها استانداردهای بالایی از قابلیت اطمینان را از نظر ساخت دارند و دارای ماژول های حافظه با کیفیت بالا هستند.
4. کنترلرهای RAID خارجی
حدس زدن اینکه همه کنترلرهای ذکر شده در بالا داخلی هستند و از طریق کانکتور PCIe مادربرد برق دریافت می کنند، دشوار نیست. این یعنی چی؟ و این خرابی مادربرد می تواند منجر به خطا در عملکرد آرایه RAID و از دست دادن اطلاعات شود. کنترلکنندههای خارجی از این سوء تفاهم رها میشوند، زیرا در یک کیس جداگانه با منبع تغذیه مستقل قرار میگیرند. از نظر قابلیت اطمینان، چنین کنترل کننده هایی بالاترین سطح ذخیره سازی داده ها را فراهم می کنند.
حالت های عملیاتی کنترلرهای RAID SAS/SATA/NVMe
هدف اصلی کنترلرهای سه حالته HBA و RAID (یا کنترلرهایی با عملکرد Tri-Mode) ایجاد RAID سخت افزاری مبتنی بر NVMe است. کنترلرهای سری 9400 Broadcom می توانند این کار را انجام دهند:
رابط اتصال PCI Express x8 نسخه 3.1 است که امکان خروجی 64 گیگابیت بر ثانیه را فراهم می کند (انتظار می رود که کنترلرهای PCI Express 2020 در سال 4.0 ظاهر شوند). کنترلر 16 پورت مبتنی بر یک تراشه 2 هسته ای است
فناوری سه حالته مبتنی بر تابع تبدیل داده SerDes است: تبدیل نمایش سریال داده ها در رابط های SAS/SATA به شکل موازی در PCIe NVMe و بالعکس. یعنی کنترل کننده سرعت ها و پروتکل ها را برای کار یکپارچه با هر یک از سه نوع دستگاه ذخیره سازی مذاکره می کند. این روش یکپارچه برای مقیاسسازی زیرساختهای مرکز داده فراهم میکند: کاربران میتوانند از NVMe بدون ایجاد تغییرات قابل توجه در پیکربندیهای دیگر سیستم استفاده کنند.
با این حال، هنگام برنامه ریزی پیکربندی با درایوهای NVMe، باید در نظر گرفت که راه حل های NVMe از 4 خط PCIe برای اتصال استفاده می کنند، به این معنی که هر درایو از تمام خطوط پورت SFF-8643 استفاده می کند. به نظر می رسد که تنها چهار درایو NVMe را می توان مستقیماً به کنترلر MegaRAID 9460-16i متصل کرد. یا خود را به دو راه حل NVMe محدود کنید در حالی که همزمان هشت درایو SAS را متصل می کنید (نمودار اتصال زیر را ببینید).
شکل استفاده از کانکتور "0" (C0 / کانکتور 0) و کانکتور "1" برای اتصالات NVMe و همچنین کانکتورهای "2" و "3" برای اتصالات SAS را نشان می دهد. این ترتیب را می توان معکوس کرد، اما هر درایو x4 NVMe باید با استفاده از خطوط مجاور متصل شود. حالت های عملکرد کنترلر از طریق ابزارهای پیکربندی StorCLI یا Human Interface Infrastructure (HII) که در محیط UEFI کار می کند، تنظیم می شوند.
حالت پیش فرض نمایه "PD64" است (فقط از SAS/SATA پشتیبانی می کند). همانطور که در بالا گفتیم، در مجموع سه پروفایل وجود دارد: حالت "فقط SAS/SATA" (PD240 / PD64 / PD 16)، حالت "فقط NVMe" (PCIe4) و یک حالت ترکیبی که در آن انواع درایوها وجود دارد. می تواند کار کند: "PD64 -PCIe4" (پشتیبانی از 64 دیسک فیزیکی و مجازی با 4 درایو NVMe). در حالت ترکیبی، مقدار نمایه مشخص شده باید "ProfileID=13" باشد. به هر حال، نمایه انتخاب شده به عنوان اصلی ذخیره می شود و حتی در هنگام بازگشت به تنظیمات کارخانه از طریق دستور Set Factory Defaults بازنشانی نمی شود. فقط به صورت دستی قابل تغییر است.
آیا ارزش ایجاد یک آرایه RAID روی SSD را دارد؟
بنابراین، ما قبلاً فهمیدهایم که آرایههای RAID کلید کارایی بالا هستند. اما آیا ارزش ساخت RAID از SSD برای مصارف خانگی و شرکتی را دارد؟ بسیاری از شکاکان می گویند که افزایش سرعت آنقدر قابل توجه نیست که در درایوهای NVMe زیاد شود. اما آیا واقعا اینطور است؟ به ندرت. بزرگترین محدودیت برای استفاده از SSD در RAID (چه در سطح خانگی و چه در سطح سازمانی) ممکن است فقط قیمت باشد. هر چه می توان گفت، هزینه یک گیگابایت فضای روی هارد دیسک بسیار ارزان تر است.
اتصال چند "درایو" حالت جامد به یک کنترلر RAID برای ایجاد یک آرایه SSD می تواند تأثیر زیادی بر عملکرد در پیکربندی های خاص داشته باشد. با این حال، فراموش نکنید که حداکثر عملکرد توسط کنترلر RAID محدود می شود. سطح RAID که بهترین عملکرد را ارائه می دهد RAID 0 است.
یک RAID 0 معمولی با دو SSD، که از روشی برای تقسیم دادهها به بلوکهای ثابت و جداسازی آنها در فضای ذخیرهسازی حالت جامد استفاده میکند، در مقایسه با یک SSD منفرد، عملکردی دوبرابر خواهد داشت. با این حال، یک آرایه RAID 0 با چهار SSD در حال حاضر چهار برابر سریعتر از کندترین SSD در آرایه خواهد بود (بسته به محدودیت پهنای باند در سطح کنترلر RAID SSD).
بر اساس محاسبات ساده، یک SATA SSD حدود 3 برابر سریعتر از یک هارد SATA سنتی است. راه حل های NVMe حتی کارآمدتر هستند - 10 برابر یا بیشتر. به شرطی که دو هارد دیسک در یک RAID سطح صفر عملکرد دو برابری را نشان دهند و آن را 50 درصد افزایش دهند، دو هارد SSD 6 برابر و دو SSD NVMe 20 برابر سریعتر خواهند بود. به طور خاص، یک درایو Kingston KC2000 NVMe PCIe می تواند به سرعت خواندن و نوشتن متوالی تا 3200 مگابایت بر ثانیه دست یابد که در فرمت RAID 0 به 6 گیگابایت در ثانیه می رسد. و سرعت خواندن/نوشتن بلوک های تصادفی 4 کیلوبایتی از 350 IOPS به 000 IOPS تبدیل می شود. اما... در عین حال، RAID "صفر" افزونگی را برای ما فراهم نمی کند.
میتوان گفت که در محیطهای خانگی معمولاً نیازی به افزونگی فضای ذخیرهسازی نیست، بنابراین مناسبترین پیکربندی RAID برای درایوهای SSD واقعاً RAID 0 میشود. این روشی مطمئن برای بهبود عملکرد قابل توجه به عنوان جایگزینی برای استفاده از فناوریهایی مانند Intel Optane-based است. SSD ها اما ما در مورد نحوه عملکرد راه حل های SSD در محبوب ترین انواع RAID ("1"، "5"، "10، "50") در مقاله بعدی خود صحبت خواهیم کرد.
این مقاله با حمایت همکاران ما در Broadcom تهیه شده است که کنترلرهای خود را برای آزمایش با درایوهای SATA/SAS/NVMe کلاس سازمانی در اختیار مهندسان Kingston قرار می دهند. به لطف این همزیستی دوستانه، مشتریان لازم نیست در قابلیت اطمینان و پایداری درایوهای کینگستون با کنترلرهای HBA و RAID از تولید شک کنند.
برای اطلاعات بیشتر در مورد محصولات کینگستون، لطفاً به سایت مراجعه کنید
منبع: www.habr.com