تکنولوژی RAID چیست؟
RAID مخفف عبارت Redundant Array of Inexpensive Disks و تکنولوژی برای ترکیب چندین هارد دیسک به یک واحد با هدف افزایش سرعت، کارایی و امنیت وسایل ذخیره سازی میباشد. بدین صورت که چندین هارد دیسک به یکدیگر متصل شده و یک واحد را تشکیل میدهند، بسته به اینکه در چه سطحی از تکنیک RAID پیاده سازی شده باشند، باعث افزایش کارایی سیستم میگردد. این تکنولوژی معمولا در سرورها و کامپیوترهایی که دارای کارایی بالا هستند، مورد استفاده قرار میگیرد.
در سالهای اخیر، با توجه به مشکلات متعددی که باعث از دست رفتن اطلاعات هارد دیسکها و در نتیجه خسارات مالی فراوان میشود، استفاده از تکنولوژی که بتواند از وقوع این گونه مشکلات جلوگیری کند، از اهمیت بالایی برای کاربران برخوردار است.
در سال ۱۹۸۷ سه محقق دانشگاه کالیفرنیا به نامهای David Patterson، Garth A. Gibson و Randy Katz برای اولین بار اصطلاح RAID را که عنوان مقاله A Case for Redundant Arrays of Inexpensive Disks (RAID) بود، مطرح کردند.
آنها نظریه خود را با این عنوان که ذخیره و بازیابی اطلاعات بر روی هارد دیسکهای گوناگون میتواند باعث افزایش کارایی سیستم، کاهش هزینه و همچنین کم کردن میزان انرژی مصرفی برای انجام کار شود، مطرح نمودند.
تولیدکنندگان تکنولوژی RAID بعدها نام آن را بهRedundant Array of Inexpensive Disks تغییر دادند.
RAID در ابتدا برای استفاده در دیسکهای SCSI مطرح شد، با گذشت زمان و پیشرفت فناوری استفاده از این تکنولوژی در دیسکهای IDE ناموفق بود. اما بعد از آن در دیسکهای SATA به اوج خود رسید.
وسایل ذخیره سازی قدیمیتر، معمولا از یک هارد دیسک برای ذخیره اطلاعات استفاده میکردند. ولی پس از بوجود آمدن این تکنولوژی، سیستمها قادر بودند تا اطلاعات را بر روی چندین هارد دیسک ذخیره نمایند. به این ترتیب اطلاعات به صورت پشت سرهم به بخشهایی شکسته و در چندین هارد دیسک ذخیره میشوند. این نحوه ذخیره سازی این امکان را فراهم می کرد که در کنار بهبود ساختن کارایی سیستم، ظرفیت ذخیره سازی اطلاعات نیز افزایش پیدا کند.
امروزه این تکنولوژی تقریبا در همه وسایل ذخیره سازی به کار رفته است. با این وجود باز هم وسایلی هستند که از این تکنولوژی استفاده نمیکنند. سیستمعامل و کاربران به این حقیقت که وسیله ذخیره سازی از چندین هارد دیسک تشکیل شدهاست پی نمیبرند، و با آن مانند یک دیسک مستقل رفتار میکنند. به کمک RAID اطلاعات میتوانند به صورت موازی بر روی یک یا چند هارد دیسک ذخیره شوند؛ بنابراین اگر یکی از دیسکها با مشکل مواجه شود، اطلاعات باز در دسترس خواهد بود.
پیاده سازی RAID
پیاده سازی RAID همچون بسیاری دیگر از تکنولوژیها، به دو صورت سختافزاری و نرمافزاری امکان پذیر است که مسلما مدل سخت افزاری دارای سرعت و پایداری بیشتری است. مدل نرمافزاری تنها در شرایطی پیشنهاد میشود که با کمبود امکانات و بودجه مواجه هستیم، و یا اینکه قرار است بر روی یک سیستم پشتیبان و نه سیستم اصلی پیاده سازی شود.
در روش نرمافزاری سیستمعامل یا BIOS مسئول پیاده سازی آن خواهد بود، و در روش سختافزاری کنترل کنندههایی به نام Raid Controller این وظیفه را بر عهده دارند. ولی از آنجایی که کنترل کنندههای سخت افزاری قابلیتهای بیشتری نسبت به روش نرمافزاری دارند، لذا کارایی این نوع به مراتب بهتر از نوع نرمافزاری است.
دیسکهای متصل شده به یکدیگر همانند یک آرایه میباشند. به هر کدام از این هارد دیسکها یک عضو آرایه گفته می شود و بسته به اینکه چگونه به یکدیگر متصل شدهباشند در سطحی قرار می گیرند که با عنوان RAID level شناخته میشود. به عنوان مثال RAID 0 یا RAID 1
امروزه از فناوری RAID برای سه هدف افزایش کارایی، ظرفیت و امنیت استفاده میگردد.
از خصوصیات RAID میتوان به موارد زیر اشاره نمود:
افزایش ظرفیت
معمولا در هر سیستم RAID مورد توجه قرار گرفته میشود. به عنوان مثال دو هارد دیسک میتواند به هم متصل شده و یک واحد ذخیره سازی با ظرفیت بالا را بوجود آورد.
افزایش کارایی
دلیل دیگری برای استفاده از این تکنولوژی میباشد. در مثال مشابه، دو هارد دیسک به هم متصل شده و یک حافظه را تشکیل میدهد. در این حالت کنترلر میتواند دادهها را به دو قسمت تقسیم کرده و هر قسمت را در یک هارد دیسک قرار دهد؛ با این عمل، کارایی سیستم ذخیره سازی برای خواندن و نوشتن اطلاعات دو برابر میگردد.
امنیت
را برای اطلاعات کاربران فراهم میسازد. بدین صورت که اطلاعات بر روی دو ویا چند هارد دیسک نوشته شده و در صورتی که یکی از دیسکها با مشکل مواجه گردد، همچنان اطلاعات توسط هارد دیسک دیگر، قابل دسترس خواهد بود.
تکنیک RAID چگونه سازماندهی میشود :
می توان دو جنبه مستقل برای سازماندهی RAID در نظر گرفت:
۱. قرار دادن اطلاعات در آرایه با استفاده از تکنیکهای parity، striping و mirroring.
۲. پیاده سازی تکنولوژی RAID که شامل پیاده سازی نرمافزاری و سختافزاری میشود.
تکنیک ها و انواع ذخیره سازی RAID
Striping: تقسیم اطلاعات به بخشهایی با اندازههای مشخص، سپس نوشتن این اطلاعات به ترتیب در هارد دیسکها. این تکنیک باعث افزایش فضای سیستم ذخیره سازی میگردد.
Mirroring: تکنیکی برای نوشتن یک کپی از اطلاعات به طور همزمان بر روی چندین هارد دیسک است. این تکنیک باعث جلوگیری در از بین رفتن اطلاعات میشود.
Parity: در این تکنیک همانند تکنیک Striping اطلاعات به بخشهای مساوی شکسته میشوند. همچنین یک کد parity (توازن) تولید و در یک یا چند هارد دیسک ذخیره میگردد. اطلاعات parity به سیستم RAID اجازه میدهد در صورتی که اطلاعات هارد دیسک دچار مشکل شده باشد، آنها را شناسایی و بازسازی کند.
تمام تکنیکهای دیگر RAID، بر اساس این سه تکنیک striping، mirroring، parity و یا ترکیبی از این سه عمل میکنند.
دلیل استفاده از تکنولوژیRAID این است که با قرار دادن داده ها بر روی بیش از یک عدد هارددیسک، عملیات ورودی و خروجی به همپوشانی خاص میرسد که نتیجه آن افزایش کارایی است، افزایش کارایی سیستم یعنی افزایش سرعت خواندن و نوشتن. اما هدف از این تکنولوژی،ریکاور کردن دیتا در اثر Fail شدن هارددیسک است. یعنی اگر یک هارددیسک دچار مشکل شود سیستم میتواند کار سرویسدهی خود را ادامه دهد. سیستمعامل، هاردهای RAID شده را به عنوان یک
هارد واحد شناسایی خواهد کرد .
نحوه تنظیم هارددیسک بر روی سرورها
به طور کلی برای تنظیم هارددیسکها و RAID، سه نرمافزار ACU ,SSA و ORCA وجود دارد که جدیدترین آنها SSA است که در سرورهای G9 برای تنظیم RIAD و دیگر تنظیمات مربوط به هارددیسکها استفاده میشود. برای ورود به این نرمافزار ابتدا باید وارد Intelligent Provisioning و سپس وارد SSA شد. برای تنظیم و استفاده از هارددیسکها ابتدا Array و سپس Logical ساخته میشود.
RAID 0
RAID 0 یا Stripping (نواری) ، اطلاعات را به قسمتهای مساوی به نام Stripe یا Chunk (نواری و قطعه قطعه) تقسیم کرده و هر قسمت را روی یک هارد ذخیره میکند در واقع بین مجموعه هاردهای موجود در آرایه توزیع و ذخیره میکند. این کار باعث میشود همزمان چندین هد کار کند و در نتیجه کارایی افزایش مییابد. برای تنظیم این نوع RAID به حداقل 2 هارددیسک نیاز است. در این نوع RAID هیچ نوعی از افزونگی وجود ندارد و ضریب خطای آن صفر است و در بین تمام RAIDها سریعترین نوع محسوب میشود.
RAID 1
این RAID به نام Mirror یا آینهای نیز شناخته میشود و حداقل به 2 هارددیسک برای راهاندازی نیاز دارد و تعداد هارددیسکها باید زوج باشد. در این مدل، ثبت اطلاعات روی هر دو دیسک انجام میشود بدین گونه که دیتا روی یک هارددیسک ذخیره میشود و سپس همان دیتا روی هارددیسک دیگری نوشته میشود. به عنوان مثال اگر 4 هارددیسک را با این روش RAID کنیم، دو هارددیسک کپی دیتای دو هارددیسک دیگر میشود.
این مدل ذخیرهسازی دیتا باعث میشود اگر نصف تعداد هارددیسکها از بین برود سیستم بدون وقفه بتواند کار سرویسدهی خود را انجام دهد. ولی ایراد آن این است که نصف فضای مفید ذخیرهسازی را از دست خواهیم داد و در واقع روشی گرانقیمت اما برای سیستمعامل مناسب است. در این نوع RAID اطلاعات همزمان میتواند از روی دو هارد خوانده شود و به همین علت سرعت خواندن در این ساختار بالاست. اما سرعت نوشتن بر روی هارد در این ساختار هم اندازه سرعت نوشتن اطلاعات بر روی یک تک هارد است.
RAID 5
این نوع RAID نیازبه حداقل 3 هارددیسک دارد اما برای افزایش کارایی توصیه شده است که از 5 هارد استفاده شود. اطلاعات، روی دو هارددیسک اول و دوم ذخیره میشود و سپس محاسباتی روی دیتا انجام داده و با نام بیت افزونه یا Parity آن را روی هارد سوم ذخیره میکند. در دفعات بعدی Parity را روی هارددیسکها میچرخاند. در این نوع RAID حدودا فضای یک هارددیسک را از دست میدهیم و چنانچه یک هارددیسک به هر دلیلی دچار مشکل شود، سیستم بدون وقفه به ادامه کار خود میپردازد. پس از اینکه یک هارددیسک دچار مشکل شد میتوان یک هارددیسک جدید روی سرور قرار داد و دیتا روی آن شروع به ریکاور شدن میکند. در RAID 5 ضریب اطمینان در حد یک هارددیسک است.
تحملپذیری در برابر خطا در این مدل RAID در حد یک هارددیسک است و چنانچه هارد دوم دچار مشکل شود ،اطلاعات از بین میرود. معماری این RAID به گونهای است که عملیات خواندن و نوشتن بر روی هاردها پخش میشود این امر باعث میشود که مجموع کارایی هاردها از کارایی یک هارد به مراتب بیشتر باشد. سرعت خواندن و نوشتن در 5 RAID نسبت به RAID 0 پائینتر و نسبت به RAID 1 بالاتر است. این RAID برای پایگاههای داده مانند SQL مناسب است. این RAID برای سیستمهایی که عملیات نوشتن زیاد و فشرده بر روی هاردها دارند، اصلا گزینه مناسبی نیست زیرا عملیات تولید بیت افزونه Parity در زمان نوشتن اطلاعات کمی زمانبر است همچنین زمانی که یک هارد از مجموعه هاردها Fail شود زمان زیادی برای بازنشانی اطلاعات لازم است.
RAID 50
این نوع از RAID برای سیستمهایی که عملیات نوشتن زیادی بر روی هاردها دارند بسیار مناسب است. حفاظت از سلامت اطلاعات و همچنین قابلیت بازیابی آن نسبت به RAID 5 به مراتب بیشتر است.
کارایی این RAID نسبت به RAID5 از این جهت بهتر شده است که هر یک Fail فقط بر یک آرایه از اطلاعات تاثیر میگذارد. اگر Fail شدن اطلاعات در آرایههای مختلف RAID رخ دهد قابلیت تحمل این RAID عدد 4 خواهد بود.
پیادهسازی RAID 50 نیاز به کنترلر سختافزاری پیشرفته دارد که شاید این مورد را بتوان به عنوان یکی از معایب عمده آن در نظر گرفت. اما زمانی که شما با اپلیکیشنهایی سر و کار دارید که اطلاعاتشان بسیار حیاتی است و امنیت آن ها از درجه اهمیت بالایی برخوردار است توصیه میشود از این نوع RAID استفاده کنید.
RAID 10
برای راهاندازی این RAID حداقل 4 هارددیسک نیاز است و به این صورت عمل میکند که دادهها را بین هاردهای آینهای شده به صورت نواری توزیع میکند. مادامی که یک هارددیسک از هر جفت هارد آینهای شده، فعال باشد اطلاعات قابل بازیابی هستند. اما اگر هر دو هارد از یک جفت آینهای Fail شوند، اطلاعات به دلیل عدم وجود بیت افزونه (Parity) دیگر قابل دسترس نخواهد بود.
RAID 6
RAID 6 به نام RAID با بیت افزونه دوتایی (Double Parity RAID) هم معرفی میشود که در واقع از ساختار آن برگرفته شده است. نحوه ذخیرهسازی اطلاعات مانند RAID 5 است با این تفاوت که این RAID از دو بیت افزونه استفاده میکند یعنی Parityرا دوبار و با دو شیوه مختلف محاسبه کرده و روی دو هارد دیسک مختلف پراکنده میکند. این کار باعث میشود چنانچه دو هارددیسک نیز از بین برود سیستم بدون وقفه بتواند به ادامه کار خود بپردازد. در واقع قابلیت تحمل خطای این RAID، عدد 2 است بدان معنا که اگر دو هارد به طور کامل Fail شوند، باز هم قابلیت بازیابی اطلاعات در آن وجود دارد. در صورتی که 3 هارددیسک دچار مشکل شود دیتا از دسترس خارج خواهد شد.
در صورت از بین رفتن یک یا دو هارد دیسک یک مقدار افت کارایی خواهیم داشت و به همین دلیل می توان هارد Hot Spare قرار داد تا سریعا جایگزین هارد Fail شده شود. در RAID 6 حداقل 4 هارد دیسک مورد نیاز است.
RAID 60
این نوع RAID ترکیبی از RAID 0 و RAID 6 است و به گونهای دیگر میتوان این طور در نظر گرفت که اطلاعات را بین دو دسته هارد که RAID 6 شدهاند به صورت نواری توزیع میکند. برای راهاندازی این مدل از RAID حداقل به 8 عدد هارد نیاز خواهد بود.
از میان انواع RAID، نوع مناسب را متناسب با کسبوکار خود انتخاب کنید.
حال با توجه به تعداد هاردهای مورد نیاز و نوع RAID انتخابی خود میتوانید ظرفیت ذخیرهسازی در دسترس خود را تخمین بزنید.