آشنایی با RAID نرم افزاری :
در ابتدا بهتر است در مورد نحوه ایجاد و عملکرد آرایه های نرم افزاری بگویم که RAID نرم افزاری برای انجام پردازش و اجرای وظایفش از پردازشگر اصلی سیستم یا CPU کامپیوتر شما استفاده میکند . یعنی پردازشی که RAID قرار است از آن برای فعالیهای خود استفاده کند، بر پردازش های معمول OS یا سیستم عامل و سایر نرم افزارهای اجرا شده در سیستم یا سرور شما بر CPU اضافه شده و در واقع تحمیل میشود. پس RAID نرم افزاری بدون نیاز به سخت افزار خاصی و فقط با استفاده از منابع موجود سیستم مانند CPU و … مثل یک اپلیکشن یا برنامه کاربردی در کنار سایر برنامه ها اجرا میشود.
معایب RAID نرم افزاری:
- در مهاجرت به سیستم عاملهای دیگر محدودیت وجود دارد .
- قابلیت و امکان استفاده از حافظه کش در RAID نرم افزاری وجود ندارد .
- در مقابل ویروس ها ، بد افزارها و برنامه های مخرب آسیب پذیری بیشتری دارد .
- به علت اجرا شدن از روی سیستم عامل ، بار پردازشی اضافه و تحمیلی بر روی پردازشگر اصلی سیستم دارد .
- بر اثر مشکل سخت افزاری سیستم یا نرم افزاری در سیستم عامل ، امکان از دست دادن تمام اطلاعات و داده ها وجود دارد .
- هنگام بوت شدن سرور هیچ مدیریت و محافظتی روی RAID نرم افزاری وجود ندارد و قابلیت محافظت و مدیریت از دیسک های خراب در مرحله بوت ممکن نیست .
مزایای RAID نرم افزاری:
- از مزیت RAID نرم افزاری فقط می توان به هزینه پایین آن اشاره نمود.
آشنایی با RAID سخت افزاری :
RAID سخت افزاری نیاز به سخت افزار خاص و کنترلر یا بهتر بگوییم RAID Controller دارد و به آسانی RAID نرم افزاری در دسترس و قابل پیاده سازی نیست . در پیکربندی RAID سخت افزاری عملیات پردازش بر عهده سرور نخواهد بود بلکه بر عهده یک کنترلر RAID میباشد. در نتیجه بار پردازشی اضافی به CPU سرور تحمیل نخواهد شد. RAID سخت افزاری بخاطر نیاز به سخت افزار کنترلر از نظر هزینه گرانتر از RAID نرم افزاری است . اما در عوض امکانات فوق العاده ای خواهد داشت .
دریک مقایسه آزمایشی نشان داده شد که پیکربندی نرم افزاری RAID 6 بار سنگینی را بر روی منابع سیستم تحمیل میکند در حالیکه RAID سخت افزاری در پیکربندی مشابه عملکرد بسیار بهتری دارد.
مزایای RAID سخت افزاری:
- امنیت اطلاعات درون هارد دیسک ها افزایش پیدا میکند .
- قابلیت مدیریت و مانیتورینگ پیشرفته داده ها فراهم میشود .
- نصب باطری بکاپ جهت ارتقاء کَش نوشتاری سیستم امکان پذیرست .
- رابط کاربری گرافیکی مستقل برای مدیریت و ساخت RAID نیز وجود دارد .
- بازیابی اطلاعات بعد از خرابیهای سخت افزاری و لاجیکالی ساده تر خواهد بود .
- امکان مدیریت دیسک ها به طور همزمان در سیستم عامل های مختلف وجود دارد .
- قدرت و کارایی هارد دیسک درایوهایی که میتوانند روی سیستم اضافه شوند افزایش می یابد .
- هیچ فشار منفی هنگام بوت شدن سیستم در زمان خرابی های جزیی یا کلی هارددیسکها وجود ندارد .
- وضعیت عملکرد پردازشگر هنگام اجرای سایر برنامه ها تحت الشعاع عملکرد RAID سخت افزاری قرار نخواهد گرفت .
- امکان تعویض هارد بلافاصله پس از خرابی و بدون نیاز به خاموش کردن و یا از دسترس خارج شدن سرور وجود دارد .
- و ده ها مورد ریز و درشت دیگر
مزایای RAID نرم افزاری
۱- میزان هزینه ناچیز یا بدون هزینه :
اگر درحال حاضر از سیستم عاملی استفاده می کنید که RAID را پشتیبانی میکند، نیاز به پرداخت هیچ هزینه ایی نیست. فقط ممکن است احیانا” لازم باشد که مقدار حافظه سیستم تان را اگر کم است افزایش بدهید.
قطعا هزینه RAID سخت افزاری از RAID نرم افزاری با توجه به اینکه نیاز به خرید یک برد سخت افزاری یا RAID Controller است ، گرانتر است. بعضا کمتر افرادی هستند که بصورت جداگانه RAID Controller سخت افزاری خریداری کنند اما این Controller های سخت افزاری معمولا روی سرورها وجود دارد. بعنوان مثال سرورهای شرکت HP برای خودشان یک RAID Controller سخت افزاری دارند که با استفاده از یک نرم افزار به نام HP Smart Start در Boot سیستم و حتی قبل از نصب سیستم عامل راه اندازی می شوند.
۲- در دسترس بودن و ساده بودن پیاده سازی آن :
عدم نیاز به نصب یا تنظیم و مدیریت کارت یا کنترلر سخت افزاری جدید.
معایب استفاده از RAID نرم افزاری
۱- کارآیی کم :
جهت پردازش و مدیریت آرایه ، چرخه های CPU یا CPU Cycles ها استفاده می شوند و این معمولا” ، کار را برای سایر نرم افزارها و سخت افزارها سخت میکند .
دلیل اینکه RAID های نرم افزاری باعث کاهش کارایی سیستم می شوند این است که سیستم عامل برای اینکه داده ها را بر روی دیسک ها بنویسد و متوجه شود که کدام قسمت داده باید در کدام قسمت دیسک ذخیره سازی شود ، نیاز دارد که آنها را پردازش کند.
این مشکل برای سطوح ساده از آرایه مثل سطح یک یا همان آرایه آینه ایی چندان مطرح نیست اما برای سطوح پیچیده تر چون سطح ۵ اهمیت دارد .
کارایی سیستم در انواع RAID های مختلف متفاوت است ، هر چقدر فرآیند RAID پیچیدگی بیشتری داشته باشد منابع بیشتری از سیستم دریافت می شود.برای مثال در JBOD Array که یک نوع RAIDاست کارایی سیستم بسیار کم تحت تاثیر قرار می گیرد اما در فرآیند های Stripping و قراردادن اطلاعات بر روی چندین دیسک کارایی سیستم عامل ممکن است به شدت تحت تاثیر قرار بگیرد. اما در RAID های سخت افزاری این Controller است که وظیفه مدیریت این فرآیند ها را دارد و سیستم عامل درگیر این موارد نمی شود. در واقع زمانیکه شما یک RAID سخت افزاری انجام می دهید اصلا سیستم عامل در کنسول مدیریت دیسک ها خود این RAID را تشخیص نمی دهد و فقط یک دیسک را مشاهده می کند. سیستم عامل در چنین شرایطی فرض می کند که اطلاعات را بر روی یک هارد درایو می نویسد در صورتیکه RAID Controller سخت افزاری این مسئله را تشخیص می دهد که چه داده ای در کجا باید نوشته شود.
۲- عدم پشتیبانی از ویژگیهای پیشرفته :
این نوع RAID ، از ویژگیهایی چون Hot Spares و Drive Swapping پشتیبانی نمی کند.
۳- سطوح مختلف و جذاب RAID را به طور کامل پوشش نمیدهد :
در RAID نرم افزاری ما محدود به سطوح خاصی مثل ۱ و ۵ هستیم و سطوح پیشرفته تر و جذاب RAID ، عمدتا” در مدلهای سخت افزاری در دسترس هستند.
۴- محدودیت در بوت شدن از RAID :
در مدل نرم افزاری، بوت شدن سیستم عامل نمی تواند از روی درایو RAID باشد و یک پارتیشن دیگر برای بالا آمدن و بوت شدن سیستم نیاز است که باعث افزایش زمان بوت و در نظر گرفتن یا تهیه یک هارد مجزا میشود.
۵- ناسازگار بودن با سیستم عامل ها :
چنانچه RAID را در یک سیستم عامل ایجاد و تنظیم کنید، فقط آن سیستم عامل می تواند به آرایه دسترسی داشته باشد و در صورت نصب سایر سیستم عامل ها در دسترس نخواهد بود، و برای محیط هایی با چند سیستم عامل میخواهند از RAID استفاده کنند مشکلاتی خواهد داشت.
۶- ناسازگاریهای نرم افزاری :
برخی نرم افزارهای کمکی و یوتیلیتی های مفید ممکن است با آرایه های نرم افزاری تداخل داشته باشند. مثل Partition Magic و برنامه هایی از این قبیل که با درایو ها سر و کار دارند.
۷- عدم اعتماد و قابلیت اطمینان :
بدون شک RAID های سخت افزاری قابل اعتماد تر هستند. یک RAID نرم افزاری ممکن است به دلیل خرابی سیستم عامل و یا مشکل در درایور نرم افزار RAID باعث از بین رفتن اطلاعات روی آرایه شما شود ، حتی بعضا یک RAID نرم افزاری در صورتیکه سیستم کامپیوتری شما دارای Load کاری زیاد باشد ممکن است از بین برود و یا دچار مشکل شود ، پردازش های سنگین سیستم عامل می توانند به شدت داده های موجود در RAID های نرم افزاری را تحت تاثیر قرار دهند و بعضا فرآیند خواندن و نوشتن داده را به شدت کند کنند ، کندی در RAID ها باعث زیر سئوال رفتن اصل مفهوم و هدف از RAID و دسترسی پذیری آنها به مرور زمان می شود.
بعضی از کاربران به خاطر تجربه باگ هایی که ممکن است ضمن استفاده از RAID پیش بیاید از آن پرهیز می کنند، هر چند کنترلر های سخت افزاری RAID هم از این مشکلات دارند اما بعضی سیستم عامل ها هم هستند که در برابر این مشکلات تحمل بهتری دارند.
تفاوتهای اصلی RAID های نرم افزاری و سخت افزاری :
پیاده سازی RAID سخت افزاری از طریق RAID Controller انجام می شود که بدون نیاز به سیستم عامل از همان بدو روشن شدن سیستم ؛ قابل پیکربندی هستند اما RAID های نرم افزاری بعد از نصب سیستم عامل انجام می شوند و عمدتا ابزار ایجاد کردن RAID در واقع همان سیستم عامل است. مدیریت RAID های سخت افزاری بر عهده سیستم عامل نیست اما در RAID نرم افزاری وظیفه مدیریت RAID تماما بر عهده سیستم عامل است.
- تمامی RAID های سخت افزاری بسیار قابل اعتماد تر از RAID های نرم افزاری هستند .
- هزینه پیاده سازی RAID سخت افزاری در همه حال بیشتر از RAID های نرم افزاری است .
- بر عکس RAID نرم افزاری ، ایجاد RAID سخت افزاری نیاز به سخت افزار خاص خود را دارد .
- برخلاف RAID های سخت افزاری ، RAID های نرم افزاری پردازشگر اصلی سیستم و همچنین سیستم عامل دستگاه شما را بسیار درگیر می کنند .
سوال اصلی : RAID سخت افزاری یا نرم افزاری، کدام بهتر است ؟
باید گفت که جواب این سوال ، بستگی دارد به :
اول : هدف و انتظاراتی که شما از RAID دارید
دوم : میزان بودجه ای که در نظر گرفته اید
اما باید بدانید که RAID نرم افزاری عمدتا” از طریق یک سیستم عامل تنظیم می شود و به طور ذاتی کارایی کمتری نسبت به آرایه های ساخته شده با کنترلرهای سخت افزاری RAID دارد. این به علت عدم وجود سخت افزار اختصاصی برای مدیریت هارد دیسکها در آرایه های RAID است.اما با این حال باید گفت که تنظیمات آن در سیستم های مبتنی بر سخت افزار ساده تر و انعطاف پذیر تر است.
دومین فاکتور مهم درانتخاب نوع نرم افزاری یا سخت افزاری RAID ، این است که آیا شما قصد دارید درایو شامل سیستم عامل تان قسمتی از یک RAID باشد یا نه ؟
بعنوان مثال بزرگترین محدودیت در انجام RAID در سیستم عاملهای ویندوز این است که ویندوز باید قبل از ایجاد آرایه RAID نصب شود. یعنی اگر شما بخواهید دیسک حاوی سیستم عامل خود را بمنظور افزایش سرعت در لود شدن Strip کنید، راهی جز استفاده از کنترلرهای RAID سخت افزاری ندارید.بنابراین اگر با ایجاد درایوهای Strip شده ، می خواهید حداکثر استفاده را ببرید یا اگر برای درایو حاوی بکاپ های خود نیاز دارید که از RAID استفاده نمایید از مادربردی استفاده کنید که کنترلر RAID را به صورت Onboard در خود دارد و یا اینکه از یک کارت کنترلر اضافه استفاده کنید.
اما اگر مثلا” فقط می خواهید سرعت بالای درایوهای Stripped را استفاده کنید به سراغ RAID نرم افزاری بروید که در ویندوز نیز از نسخه XP, 2000 این امکان فراهم شده است و ضمناً در دسترس تر و ارزانتر نیز می باشد. در RAID نرم افزاری یکی از مشکلات این است که به دلیل مراجعات زیاد و تحمیل پردازش بر CPU و ترافیک بالای جریان داده ها مشکلاتی برای سایر نرم افزارها اجرا شده بوجود میاید و گاهی باعث از کار افتادن سیستم میشود. در جمع بندی نهایی باید گفت که RAID نرم افزاری را در مواردی استفاده کنید که گستردگی کار سیستم شما زیاد نیست مثل مصارف خانگی و استفاده در محیط های اداری کوچک که حجم درخواست ها و کاربران کمتری وجود دارد . اما در محیط های با تعداد کاربران بالا و عملیات خواندن و نوشتن زیاد ، RAID سخت افزاری تنها گزینه مناسب است.به طور کلی RAID سخت افزاری علاوه بر مزیت های نرم افزاری الگوریتم های پیچیده تری را از سطوح RAID را نیز ارائه میدهد.
یک نکته مهم که نباید فراموش کنید اینست که تمام مزیتهایی که RAID ارایه میدهد در جهت کاهش اثرات از کار افتادن سیستم ها و سرورها یا افزایش سرعت و امنیت است اما هیچگاه این شیوه ها شما را از تهیه نسخه پشتیبان از اطلاعاتتان و گرفتن Backup بی نیاز نخواهد کرد . پس در کنار استفاده از RAID چه به شیوه نرم افزاری و چه با تجهیزات سخت افزاری گرفتن نسخه پشتیبان از داده ها و فایل ها را فراموش نکنید .