LinuxCisco
LinuxCisco
خواندن ۵ دقیقه·۴ سال پیش

مفهوم RAID و کاربرد آن در سرور ها و کلاینت ها

مقدماتی در مورد RAID

کلمه RAID مخفف Redundant Array Of Independent (Inexpensive) Disks می باشد که ترجمه فارسی آن آرایه ای از دیسک های اضافه بر سازمان مستقل می شود ، به هیچ عنوان RAID  را ترجمه نکنید چون به همان اندازه ای که الان به ترجمه خندیدید به شما هم می خندند.

بصورت معمول وقتی صحبت از RAID می شود در واقع ما در مورد دو یا چندین دیسک سخت افزاری صحبت می کنیم که در کنار هم قرار گرفته اند و به کمک هم می توانند یا کارایی یک سیستم را بالا ببرند و یا خطا پذیری یا Fault Tolerance یک سیستم را افزایش بدهند ، این سیستم معمولا یک سرور سخت افزاری و یا یک دستگاه NAS Storage است.

به این نکته توجه کنید که RAID هم می تواند کارایی یا Performance را بالا ببرد ، هم خطا پذیری یا Fail Tolerance را افزایش بدهد. هم می تواند بر حسب نوع و سطح RAID ای که انتخاب می کنیم هر دو این موارد را بالا ببرد.

وقتی صحبت از Fault Tolerance یا خطا پذیری می شود یعنی اینکه RAID به ما قابلیتی را می دهد که در صورت بروز خطا برای یک یا چند هارد دیسکی که داریم، اطلاعات و سرور ما دچار اختلال نشده و به کار خود ادامه بدهد و بتواند در برابر این خطایی که ایجاد شده است مقاومت کند که یک درجه ایمنی بسیار خوب برای سرورهای سخت افزاری به حساب می آید.

روشی که شما برای خطا پذیری یا Fault Tolerance در RAID انتخاب می کنید دقیقا وابسته به نوع RAID  ای است که شما انتخاب می کنید، نوع RAID را به عنوان سطح یا RAID Level هم می شناسیم.

سطح RAID ای که ما انتخاب می کنیم به عوامل مختلفی بستگی دارد که از آن جمله می توانیم به تعداد دیسک هایی که در اختیار داریم ، حساسیت اطلاعات موجود ، روش بازیابی اطلاعات ، نیاز شما به این اطلاعات و در نهایت کارایی و سرعتی است که شما به آن نیاز دارید .

برای مثال در یک سازمان اهمیت اینکه داده های شما بعد از به مشکل خوردن و سوختن یکی از هارد دیسک های سرور به اشکال نخورده و سرور همچنان بتواند به سرویس دهی خود ادامه دهد و اختلالی در کارش وارد نشود قطعا خیلی خیلی بیشتر از یک کاربر خانگی است که برای پشتیبان گیری از اطلاعات خودش ساختار RAID را پیاده سازی کرده است.

سطوح مختلف RAID دارای پیکر بندی ها و قابلیت های مختلفی در ارائه خدمات Fault Tolerance و Performance  هستند که شما بر اساس نیاز خودتان یکی از آنها را انتخاب می کنید.


مروری بر تکنولوژی  RAID

تکنولوژی RAID ذاتا برای سازمان ها و شرکت هایی طراحی شده است که خطا پذیری دیسک ها و بالا بودن کارایی دستگاه از اولویت ها محسوب می شود و نه اینکه یک امر تجملاتی برای سرور در نظر گرفته شده باشد.

سرورهای سخت افزاری و تجهیزات NAS که در مراکز داده مورد استفاده قرار می گیرند معمولا بر روی خودشان دستگاه یا بورد سخت افزاری به نام RAID Controller دارند که مجموعه دیسک هایی که در RAID  استفاده می شود را مدیریت می کنند.

بورد های سخت افزاری بسته به سخت افزاری که بر روی آنها نصب می شود می توانند چندین هارد دیسک SSD ،  SATA  یا SAS را بر روی خود نگه دارند. در ابتدا طراحی RAID فقط برای Server ها و NAS Storage  های سازمانی طراحی شده بود اما امروزه حتی PC های خانگی و NAS های کوچک هم قابلیت پیاده سازی RAID را بر روی خود دیده اند.

حداقل دو عدد هارد دیسک را می توانید بر روی این دستگاه ها مشاهده کنید، بنابراین امروزه RAID را دقیقا مشابه همان چیزی که در سازمان ها مشاهده می کنید در مصارف خانگی نیز خواهید دید. به این نوع RAID  ها که دارای یک سخت افزار خاص برای نگهداری هارد دیسک ها و مدیریت آنها می باشند Hardware RAID  یا RAID سخت افزاری گفته می شود.

مفهوم RAID نرم افزاری بدین معناست که شما می توانید هارد دیسک های خود را با هم RAID کنید و اینکار را بدون نیاز به داشتن سخت افزار خاصی مثل RAID Controller انجام دهید.

در RAID های سخت افزاری این RAID Controller است که وظیفه مدیریت RAID را برعهده دارد اما در RAID  های نرم افزاری این سیستم عامل است که می تواند کلیه کارهای مربوط به RAID را انجام و مدیریت کند. جالب اینجاست که امروزه حتی در ویندوز های نسخه Desktop هم شما قابلیت پیاده سازی RAID را دارید ، در ویندوز آپدیت های جدید به نام Storage Pool اضافه شده است که کاربر براحتی می تواند با استفاده از آن RAID نرم افزاری ایجاد کند.

جالب اینجاست که شما در Storage Pool می توانید بر روی یک هارد دیسک دو عدد پارتیشن ایجاد کنید که یکی برای boot شدن سیستم عامل و دیگری برای نگهداری داده های شما استفاده شود و پارتیشنی که در آن داده وجود دارد را می توانید Mirror کنید.

این نوع ساختار RAID نرم افزاری در سیستم عامل های دیگری مثل لینوکس و ویندوز های سرور هم وجود دارد.

با توجه به اینکه امروزه قابلیت RAID در تمامی سیستم عامل ها تقریبا وجود دارد و به عنوان یک قابلیت پیش فرض در نظر گرفته می شود این نوع ساختار RAID دیگر هزینه ای برای پیاده سازی ندارد.

با استفاده از قابلیت RAID نرم افزاری امروزه شاهد پیاده سازی راهکار های RAID های مجازی هم هستیم که توسط برخی از Vendor ها ارائه می شوند.

کدام RAID مناسب کار شما است ؟

انتظار ما از سطوح مختلف RAID یا کارایی بالا ، یا خطا پذیری بالا و یا هر دو این موارد بصورت همزمان است. البته این موضوع هم خیلی مهم است که نیاز شما با RAID های سخت افزاری برطرف می شود یا باید از RAID های نرم افزاری استفاده کنید.

به این موضوع توجه کنید که برخی از سطوح RAID فقط در لایه سخت افزار قابل پیاده سازی هستند و تنها چند مورد RAID  شناخته شده هستند که در لایه نرم افزار قابل پیاده سازی هستند. اگر قصد استفاده کردن از RAID های سخت افزاری را نیز داشته باشید نوع Controller ای که استفاده می کنید نیز در برطرف کردن نیاز شما موثر است.

باید توجه داشته باشید که Raid Controller های مختلف از سطوح مختلفی از RAID های سخت افزاری پشتیبانی می کنند و همچنین حتی نوع هارد دیسک هایی که بر روی این RAID Controller ها پشتیبانی می شود نیز می تواند متفاوت باشد، RAID Controller ها می توانند از هارد دیسک های SAS ، SSD  و یا SATA پشتیبانی کنند.

پایان قسمت اول

گردآورنده و نویسنده : دانیال دلشاد




RAIDserverclient
دانیال دلشاد / علاقه مند به رشته فناوری اطلاعات / دنبال کننده مباحث زیرساخت هستم
شاید از این پست‌ها خوشتان بیاید