RAID سختافزاری و RAID نرمافزاری
سیستمهای RAID (آرایه افزونهای از دیسکهای ارزانقیمت) به یکی از دو روش اساسی پیادهسازی میشوند: نرمافزاری یا سختافزاری اختصاصی. هر دو روش کاملاً عملی هستند و مزایای خاص خود را دارند.
در فضای کسبوکارهای کوچک، که سیستمهای معماری Intel و AMD و سیستمعاملهای Windows بر آن حکمفرمایی دارند، RAID سختافزاری آنقدر رایج است که سردرگمی زیادی درباره RAID نرمافزاری به وجود آمده است؛ همانطور که خواهیم دید، بخش قابل توجهی از این سردرگمی ناشی از انبوهی از محصولات RAID نرمافزاری کلاهبردارانهای است که به عنوان سختافزار اختصاصی تبلیغ میشوند و به نام “RAID جعلی” شناخته میشوند.
هنگامی که RAID برای اولین بار توسعه یافت، در قالب نرمافزاری بر روی سرورهای سازمانی سطح بالا که سیستمعاملهای اختصاصی UNIX اجرا میکردند استفاده میشد؛ سیستمهایی که بسیار پایدار بودند و سختافزار بسیار قدرتمند و مستحکمی داشتند که RAID نرمافزاری را بسیار کارآمد میکرد. RAID اولیه عمدتاً بر روی RAID آینهای یا RAID با پریتی بسیار ساده (مانند RAID 2) متمرکز بود که سربار کمی داشت.
با گسترش نیاز به RAID به فضای سرورهای کوچکتر و با رشد محبوبیت RAID پریتی که به قدرت پردازشی بیشتری نیاز داشت، مشخص شد که پردازندههای کمتوان در فضای x86 به طور قابل توجهی تحت تأثیر بار پردازشی RAID قرار میگیرند، به خصوص RAID 5. این موضوع، همراه با عدم وجود پیادهسازیهای RAID نرمافزاری در تقریباً تمام سیستمعاملهای پرکاربرد این پلتفرمها، منجر به توسعه طبیعی RAID سختافزاری شد؛ یک برد پردازنده برونسپاری (مشابه GPU برای گرافیک) که کامپیوتر کاملی با CPU، حافظه و فریمور خاص خودش داشت.
RAID سختافزاری در حل مشکل سربار RAID در فضای سرور x86 بسیار موفق بود. با افزایش قدرت CPU و کاهش کمبود حافظه، سیستمعاملهای محبوب x86 مانند Windows Server شروع به ارائه گزینههای RAID نرمافزاری کردند. به طور خاص، RAID نرمافزاری Windows به عنوان یک پیادهسازی ضعیف RAID شناخته میشد و فقط در نسخههای سیستمعامل سرور در دسترس بود که باعث کمبود قدرشناسی برای RAID نرمافزاری در جامعه مدیران سیستمی که عمدتاً با Windows کار میکردند، شد.
به دلیل پیادهسازیهای تاریخی در فضای سرور سازمانی و فضای کالایی x86، یک جدایی طبیعی میان دو بازار به وجود آمد که ابتدا توسط فناوری و سپس کاملاً توسط ایدئولوژی پشتیبانی میشد. اگر با یک مدیر سیستم در فضای کالایی صحبت کنید، تقریباً همیشه خواهید شنید که RAID سختافزاری تنها گزینه است. برعکس، اگر با یک مدیر سیستم در فضای سرور مینفریم، RISC (Sparc، Power، ARM) یا EPIC (Itanium) (که گاهی سرور UNIX نامیده میشود) صحبت کنید، اغلب با تعجب روبرو خواهید شد زیرا RAID سختافزاری برای آن دسته از سیستمها در دسترس نیست - RAID نرمافزاری صرفاً یک نتیجهگیری پیشفرض است. به نظر میرسد هیچیک از دو گروه آگاهی واقعی از وضعیت گروه مقابل ندارند و تقاطع مهارتها میان این دو تا اخیراً نسبتاً نادر بود، چرا که پلتفرمهای سازمانی UNIX مانند Linux، Solaris و FreeBSD شروع به محبوبیت بسیار زیاد و درک خوب در پلتفرمهای سختافزار کالایی کردهاند.
برای پیچیدهتر کردن اوضاع در فضای سرور کالایی، به منظور پر کردن خلأ ناشی از عدم وجود RAID نرمافزاری توسط فروشنده سیستمعامل غالب برای بازار سیستمعامل غیر-سرور، در حالی که تلاش میکردند به مخاطبان کمتر فنی دست پیدا کنند، تعداد زیادی از فروشندگان شروع به فروش کارتهای کنترلر غیر-RAID همراه با یک “درایور” که در واقع RAID نرمافزاری بود کردند و ادعا میکردند که محصول حاصل واقعاً RAID سختافزاری است. این سردرگمی زیادی در بهترین حالت ایجاد کرد و در بدترین حالت منجر به تحقیر باورنکردنی RAID نرمافزاری شد، زیرا تقریباً هر سیستمی که عملکرد اصلی آن حفاظت از دادهها است و بازار آن بر فریب و سردرگمی بنا شده باشد، به فاجعه ختم خواهد شد. سیستمهای RAID جعلی به طور معمول مشکلات عملکردی و قابلیت اطمینانی دارند. در حالی که از نظر تئوری یک بسته RAID نرمافزاری شخص ثالث گزینه معقولی است، واقعیت بازار RAID نرمافزاری این است که تقریباً تمام پیادهسازیهای باکیفیت RAID نرمافزاری اجزای بومی یا سیستمعامل خود (Linux، Mac OSX، Solaris، Windows) یا سیستم فایل (ZFS، VxFS، BtrFS) هستند و توسط فروشندگان اصلی ارائه و نگهداری میشوند که جای کمی برای محصولات شخص ثالث باقی میگذارد، به جز در فضای دسکتاپ Windows که چند بازیگر کوچک و قانونی RAID نرمافزاری وجود دارند اما اغلب تحتالشعاع بازیگران RAID جعلی قرار میگیرند.
امروزه تقریباً هیچ نیازی به RAID سختافزاری وجود ندارد چرا که پلتفرمهای کالایی فوقالعاده قدرتمند هستند و تقریباً همیشه مازاد چشمگیری از منابع محاسباتی و حافظه وجود دارد. RAID سختافزاری به جای آن بیشتر بر اساس ویژگیها رقابت میکند تا کاهش بار منابع. انتخاب RAID سختافزاری در مقابل RAID نرمافزاری در فضای سرور کالایی تقریباً کاملاً بر اساس ترجیح و اینرسی بازار است نه عملکرد یا ویژگیهای خاص - هر دو پلتفرم اساساً برابر هستند و پیادهسازیهای فردی در مقایسه با رویکردهای سختافزاری و نرمافزاری به تنهایی بسیار مهمترند.
امروزه پیشنهادات RAID سختافزاری تمایل به “عمومیتر” بودن با پیادهسازیهای نسبتاً ساده از سطوح استاندارد RAID دارند. RAID سختافزاری معمولاً ارزش خود را از طریق کاهش استفاده از منابع (برونسپاری CPU و حافظه)، توانایی تعویض “کور” درایوهای خراب، مدیریت سادهشده ذخیرهسازی، ذخیرهسازی بلوکی که به صورت انتزاعی از سیستمعامل جدا شده، کش سریع نزدیک به درایوها و کش با پشتیبانی باتری یا فلش کسب میکند. RAID نرمافزاری معمولاً ارزش خود را از طریق مصرف برق پایینتر، هزینه اقتصادی کمتر، مدیریت یکپارچه با سیستمعامل، ویژگیهای منحصربهفرد یا پیشرفته RAID (مانند RAIDZ از ZFS که مشکل حفره نوشتن RAID 5 استاندارد را ندارد) و عملکرد کلی بهتر کسب میکند. این واقعاً بحثی درباره بهتر یا بدتر نیست بلکه درباره بهتر یا بدتر برای یک وضعیت بسیار خاص است که مهمترین عامل اغلب آشنایی و راحتی و/یا پیشنهاد پیشفرض فروشنده است.
یکی از مهمترین اما نادیدهگرفتهترین تفاوتهای بین RAID سختافزاری و نرمافزاری تغییر در نقش شغلی مرتبط با مدیریت آرایه RAID است. RAID سختافزاری مدیریت آرایه را به مدیر سرور (نقش پشتیبانی که روی سرور فیزیکی کار میکند و در مرکز داده مستقر است) منتقل میکند در حالی که RAID نرمافزاری مدیریت آرایه را به مدیر سیستم (نقش پشتیبانی که روی سیستمعامل و بالاتر کار میکند و به ندرت در مرکز داده حضور دارد) منتقل میکند. در بازار SMB این عامل ممکن است کاملاً نادیده گرفته شود اما در یک شرکت Fortune 500 تفاوت در نقش شغلی میتواند بسیار قابل توجه باشد. در بسیاری از موارد با RAID سختافزاری، تعویض دیسک و راهاندازی سیستم میتواند بدون نیاز به دخالت مدیر سیستم انجام شود. مدیران سرور مرکز داده میتوانند درایوهای خراب را از طریق هشدارها یا با نگاه کردن به “چراغهای کهربایی” در طول بازدیدها کشف کرده و بدون نیاز به تماس با کسی یا دانستن اینکه سرور چه اجرا میکند، تعویض را انجام دهند. RAID نرمافزاری تقریباً همیشه نیاز به دخالت مدیر سیستم در مدیریت آفلاین کردن یک دیسک خراب، هماهنگی فرآیند تعویض با مرکز داده و آنلاین کردن دیسک جدید پس از تکمیل فرآیند تعویض دارد.
به دلیل نحوه عملکرد برونسپاری CPU و عملکرد و برخی مزایا در نحوه بازسازی پریتی RAID در پیادهسازیهای غیراستاندارد، تمایلی وجود دارد که سطوح RAID آینهای به نفع RAID سختافزاری و سطوح RAID نرمافزاری به نفع RAID پریتی باشند. RAID پریتی به مراتب بیشتر از CPU استفاده میکند بنابراین دسترسی به منابع CPU مرکزی پرقدرت میتواند عامل مهمی در سرعت بخشیدن به محاسبات RAID باشد. اما با RAID آینهای که بازسازی RAID بسیار امنتر از RAID پریتی است و بازسازیهای خودکار مهمتر هستند، RAID سختافزاری مزیت امکان تعویض کور درایو را به راحتی میآورد.
یک جنبه از بحث RAID سختافزاری و نرمافزاری که بسیار متناقض است این است که همان بازاری که اغلب RAID نرمافزاری را به عنوان پستتر از RAID سختافزاری رد میکند، تقریباً کاملاً (میتوانید نمودار ون را در ذهن تصویر کنید) با بازاری همپوشانی دارد که فکر میکند فایلسرورها نسبت به دستگاههای NAS کالایی پستترند، با این حال آن دستگاههای NAS در محدوده SMB تقریباً همه بر اساس همان پیادهسازیهای RAID نرمافزاری هستند که به راحتی رد میشوند. بنابراین اغلب همزمان هم پستتر و هم برتر در نظر گرفته میشود. برخی از دستگاههای NAS در محدوده SMB و نرمافزار دستگاه NAS که مبتنی بر RAID نرمافزاری هستند عبارتند از: Netgear ReadyNAS، Netgear ReadyData، Buffalo Terastation، QNAP، Synology، OpenFiler FreeNAS، Nexenta و NAS4Free.
واقعاً هیچ “همیشه از یک روش استفاده کن” در مورد RAID سختافزاری و نرمافزاری وجود ندارد. حتی دستگاههای NAS و SAN سازمانی شش رقمی نیز در مورد کدام را استفاده کنند تصمیم نگرفتهاند و بخشی از صنعت به هر سمت میرود. پاسخ واقعی به وضعیت خاص شما بستگی دارد - جدایی نقش شغلی شما، نیازهای فنی شما، تجربه شما، بودجه شما و غیره. هر دو گزینه در هر سازمانی کاملاً قابل استفاده هستند.
