تاریخچه RAID
اصطلاح RAID که بیانگر Redundant Array of Inexpensive Disks است، در سال ۱۹۸۷ توسط سه دانشمند در عرصه کامپیوتر با نام های دیوید پترسون و رندی کتز و گارث آلن گیبسون، مطرح شد. ایده این سه نوآور در مقالهای که در سال ۱۹۸۸ برای بنیاد SIGMOD تهیه کردند این بود که با داشتن آرایهای از دیسک های ارزان قیمت، میتوان به کارایی دیسک های High level دست یافت. با استفاده از افزونگی یا Redundancy، آرایه رید از یک تک دیسک، قابل اطمینانتر است. برای اولین بار، این مقاله نامی بر مفهوم استفاده از دیسک افزونه نهاد که قبلا هم توسط افراد دیگر مطرح شده بود.
Gus German و Ted Grunau از شرکت Geac Computer Corp برای اولین بار به چنین ایدهای تحت عنوان MF-100 اشاره کرده بودند. Norman Ken Ouchi از IBM هم در سال ۱۹۷۷، تکنولوژی که بعدها به عنوان RAID 4 شناخته شد، به ثبت رسانده بود. در سال ۱۹۸۳ شرکت Digital Equipment Corp درایوهایی را وارد بازار کرد که RAID 1 بودند و در سال ۱۹۸۶، IBM بار دیگر اختراعی را به ثبت رساند که عنوان RAID 5 را پیدا کرد. و در نهایت پترسون و کتز و گیبسون با توجه به آنچه که شرکتهایی چون Tandem Computers و Thinking Machines و Maxstor انجام داده بودند، موفق به ارایه ردهبندی RAID خود شدند.
زمانی که در سال ۱۹۸۸ سطوح و انواع RAID لیست شد و بر تکنولوژیهایی که قبلا هم استفاده شده بود نامی نهاده شد، تکنولوژی محبوبی ایجاد شد که دست تولیدکنندگان عرصه ذخیره سازی داده را برای تولید محصولات بیشتری در زمینه RAID باز گذاشت.
چیزی نگذشت که تولیدکنندگان، کلمه Independent را جایگزین کلمه Inexpensive که بیانگر قیمت کم بود، کردند. RAID هم اکنون از جمله تکنولوژی های محبوب و پرطرفدار در دنیاست.
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 همچون بسیاری دیگر از تکنولوژیها، به دو صورت سختافزاری و نرمافزاری امکان پذیر است که مسلما مدل سخت افزاری دارای سرعت و پایداری بیشتری است. مدل نرمافزاری تنها در شرایطی پیشنهاد میشود که با کمبود امکانات و بودجه مواجه هستیم، و یا اینکه قرار است بر روی یک سیستم پشتیبان و نه سیستم اصلی پیاده سازی شود.
در روش نرمافزاری سیستمعامل یا BIOS مسئول پیاده سازی آن خواهد بود، و در روش سختافزاری کنترل کنندههایی به نام Raid Controller این وظیفه را بر عهده دارند. ولی از آنجایی که کنترل کنندههای سخت افزاری قابلیتهای بیشتری نسبت به روش نرمافزاری دارند، لذا کارایی این نوع به مراتب بهتر از نوع نرمافزاری است.
دیسکهای متصل شده به یکدیگر همانند یک آرایه میباشند. به هر کدام از این هارد دیسکها یک عضو آرایه گفته می شود و بسته به اینکه چگونه به یکدیگر متصل شدهباشند در سطحی قرار می گیرند که با عنوان RAID level شناخته میشود.
امروزه از فناوری RAID برای سه هدف افزایش کارایی، ظرفیت و امنیت استفاده میگردد.
افزایش ظرفیت معمولا در هر سیستم RAID مورد توجه قرار گرفته میشود. به عنوان مثال دو هارد دیسک میتواند به هم متصل شده و یک واحد ذخیره سازی با ظرفیت بالا را بوجود آورد.
افزایش کارایی دلیل دیگری برای استفاده از این تکنولوژی میباشد. در مثال مشابه، دو هارد دیسک به هم متصل شده و یک حافظه را تشکیل میدهد. در این حالت کنترلر میتواند دادهها را به دو قسمت تقسیم کرده و هر قسمت را در یک هارد دیسک قرار دهد؛ با این عمل، کارایی سیستم ذخیره سازی برای خواندن و نوشتن اطلاعات دو برابر میگردد.
مورد سوم امنیت را برای اطلاعات کاربران فراهم میسازد. بدین صورت که اطلاعات بر روی دو یا چند هارد دیسک نوشته شده و در صورتی که یکی از دیسکها با مشکل مواجه گردد، همچنان اطلاعات توسط هارد دیسک دیگر، قابل دسترس خواهد بود.
انواع رید استاندارد یا Standard RAID Levels
مرجع اصلی که RAID را معرفی کرده است هفت سطح مختلف RAID را در نظر گرفته که از RAID 0 تا RAID 6 را شامل میشود. پس عددی که بعد از کلمه RAID میآید بیانگر نسخه و نوع رید است.
RAID 0 چیست؟
دارای پیکربندی Striping یا نواری است به همین دلیل RAID 0 به نام Striping یا نواری نیز شناخته میشود. بهترین کارایی را دارد، افزونگی دیتا ندارد و Fault Tolerance هم ندارد و ضریب خطای آن صفر است. برای تنظیم این نوع RAID به حداقل ۲ هارددیسک نیاز است. در بین تمام RAID ها سریعترین نوع محسوب میشود.
RAID 0 اطلاعات را به قسمتهای مساوی به نام Stripe یا Chunk (نواری و قطعه قطعه) تقسیم کرده و هر قسمت را روی یک هارد ذخیره میکند یعنی بین مجموعه هاردهای موجود در آرایه توزیع و ذخیره میکند که این دستگاهها میتواند SSD یا هارددیسک های آرایه رید باشد.
مزایای RAID 0
1.مهمترین مزیت RAID 0 و Disk Stirping افزایش کارایی است. مثلا استرایپ کردن داده روی سه عدد دیسک، نسبت به حالت تک دیسک، پهنای باند را سه برابر میکند. اگر عملیات ورودی و خروجی هر دیسک در ثانیه، ۲۰۰ باشد، Disk Stirping آن را به ۶۰۰ IOPS میرساند.
2.چون در تکنیک Striping، داده روی چند هارد فیزیکی ذخیره میشود، چند دیسک به محتوای فایل دسترسی دارند پس خواندن ها و نوشتن ها بسیار سریع انجام میشود. زیرا باعث میشود همزمان چندین هد کار کند و در نتیجه کارایی افزایش مییابد.
3.نداشتن پریتی باعث میشود از تمام فضای دیسک بتوانیم استفاده کنیم.
4.پیاده سازی RAID 0 بسیار آسان است و تمام کنترلرهای سخت افزاری از آن پشتیبانی میکنند.
5.ارزان ترین نوع رید، RAID 0 است.
معایب RAID 0
1.افزونگی یا Redundancy ندارد در صورتی که یک درایو فیزیکی در مجموعه دیسک های استرایپ شده خراب شود، فقدان داده یا Data Loss در Striped Unit رخ میدهد. به همین ترتیب، تمام داده ذخیره شده روی هارد دیسک های استرایپ شده از بین میرود. پس RAID 0 اصلا گزینه مناسبی برای کارهای حساس و مهم و Mission-Critical نیست.
2.RAID 0 بر خلاف ریدهای دیگر، پریتی ندارد پس تکنیک نواری بدون پریتی به معنای نداشتن افزونگی و Fault Tolerance است. پس اگر هاردی خراب شود، تمام دیتا های آن هارد از بین میرود.
3.Resiliency در RAID 0 پایین است.
RAID 1 چیست؟
RAID 1 دارای پیکربندی Mirroring است و Striping ندارد به همین دلیل RAID 1 به نام Mirror یا آینهای نیز شناخته میشود. حداقل دو هارد دیسک لازم دارد تا داپلیکیت دیتا را فراهم کند. کارایی خواندن بالاست زیرا از هر دو دیسک همزمان میتواند بخواند. کارایی نوشتن همانند نوشتن روی یک هارد دیسک است: توجه دارید که نوشتن، دو بار و روی دو دیسک انجام میشود و در نتیجه کارایی نوشتن از کارایی خواندن پایین تر است.
RAID 1 حداقل به ۲ هارددیسک برای راهاندازی نیاز دارد و تعداد هارددیسکها باید زوج باشد. در این مدل، ثبت اطلاعات روی هر دو دیسک انجام میشود بدین گونه که دیتا روی یک هارددیسک ذخیره میشود و سپس همان دیتا روی هارددیسک دیگری نوشته میشود. به عنوان مثال اگر ۴ هارددیسک را با این روش RAID کنیم، دو هارددیسک، کپی دیتای دو هارددیسک دیگر میشود.
RAID 1 را در SSD ها هم میتوان استفاده کرد.
مزایا و معایب RAID 1
1.داشتن ریداندنسی از مزایای RAID 1 است. این مدل ذخیره سازی دیتا باعث میشود اگر نصف تعداد هارددیسکها از بین برود سیستم بدون وقفه بتواند کار سرویسدهی خود را انجام دهد. ولی ایراد آن این است که نصف فضای مفید ذخیرهسازی را از دست خواهیم داد.
2.از مزایای RAID 1 فراهم شدن سناریوهای Disaster Recovery است زیرا برای اپلیکیشنهای Mission Critical، بلافاصله بکاپ را فراهم میکند. پس در صورت خرابی یک هارد، اپلیکیشن ها و سیستم عامل به نسخه بکاپ، ریپلیکیت (Replicate) میشوند.
3.خواندن همزمان از تمام درایوها سرعت را بی نهایت افزایش میدهد.
4.دسترس پذیری بالا و سرعت ریکاوری بالا از مزایای RAID 1 است.
5.شباهت RAID 0 و RAID 1 در این است که کارایی در هر دو بالاست اما سرعت خواندن و نوشتن در RAID 1 به پای RAID 0 نمیرسد.
مهم ترین عیب RAID 1 این است که نیمی از فضای ذخیره سازی را از دست میدهیم. در واقع روشی گرانقیمت است و تعداد معدودی سازمان های انترپرایزی و یزرگ از آن استفاده میکنند. فضای مفید برای ذخیره دیتا در RAID 1 از RAID 5 و RAID 6 کمتر است. اما سرعت ریکاوری در RAID 5 و RAID 6 از RAID 1 پایین تر است.
کاربرد RAID 1 چیست؟
کاربرد RAID 1 در محیطهایی است که به کارایی بالا و دسترس پذیری بالا نیاز است مانند اپلیکیشنهای Transactional و سیستم عامل ها و ایمیل ها. RAID 1 همچنین در اپلیکیشن هایی که خواندن بسیار سریعی لازم دارند مناسب است. اگر درایوهای اصلی آرایه خراب شود، ترافیک به درایوهای ثانویه یا میرور شده و بکاپ شده سوییچ میکند.
یکی دیگر از کاربردهای RAID 1 استفاده دز آرشیو داده است یعنی جایی که از دست رفتن اطلاعات، غیرقابل قبول است.
RAID 5 چیست؟
RAID 5 دارای پیکربندی Parity Block-Level Striping است یعنی داده را استرایپ میکند و پریتی را هم بین تمام هاردها توزیع میکند پس دیسک جداگانه برای پریتی نداریم. اطلاعات پریتی در هر درایو به صورت نوار در میآید و به همین خاطر اگر حتی یک درایو Fail شود، آرایه RIAD به کار خود ادامه میدهد. معماری رید ۵ به گونهای است که عملیات خواندن و نوشتن از چند درایو ممکن است که در مقایسه با حالتی که فقط از یک درایو انجام میشود، کارایی بهتری ارایه میدهد. اما این کارایی در RAID 5 به پای کارایی در RAID 0 نخواهد رسید. سرعت خواندن و نوشتن در ۵ RAID نسبت به RAID 0 پایینتر و نسبت به RAID 1 بالاتر است.
برای پیاده سازی RIAD 5 حداقل به ۳ دیسک نیاز است اما اغلب برای کارایی بیشتر، توصیه میشود حداقل ۵ دیسک استفاده شود. اطلاعات، روی دو هارددیسک اول و دوم ذخیره میشود و سپس محاسباتی روی دیتا انجام داده و با نام بیت افزونه یا Parity آن را روی هارد سوم ذخیره میکند. در دفعات بعدی Parity را روی هارددیسکها میچرخاند. در این نوع RAID حدودا فضای یک هارددیسک را از دست میدهیم و چنانچه یک هارددیسک به هر دلیلی دچار مشکل شود، سیستم بدون وقفه به ادامه کار خود میپردازد. پس از اینکه یک هارددیسک دچار مشکل شد میتوان یک هارد دیسک جدید روی سرور قرار داد و دیتا روی آن شروع به ریکاور شدن میکند.
مزایا و معایب RAID 5
1.در RAID 5 تحمل پذیری و ضریب اطمینان در حد یک هارددیسک است. چنانچه هارد دوم دچار مشکل شود ،اطلاعات از بین میرود. معماری این RAID به گونهای است که عملیات خواندن و نوشتن بر روی هاردها پخش میشود در نتیجه، مجموع کارایی هاردها از کارایی یک هارد به مراتب بیشتر است.
2.RAID 5 رایج ترین نوع RAID است و میتواند با RAID 0 ترکیب و یا جایگزین RAID 0 شود. زیرا کارایی آنها در یک سطح است.
3.RAID 5 یکی از امن ترین انواع RAID است.
4.قابلیت اطمینان و افزونگی دارد.
5.سرعت از مهم ترین مزایای RAID 5 است.
6.افزونگی در RAID 5 نسبت به RAID 0 به شکل اقتصادی تری فراهم میشود.
7.RIAD 5 نسبت به RAID 1 و RAID 10 فضای ذخیره سازی بیشتری فراهم میکند.
8.RAID 5 نسبت به RAID 1 سرعت نوشتن بیشتری دارد.
9.حداقل تعداد هارد درایو لازم در RAID 5 سه است و هیچ محدودیتی در حداکثر تعداد ندارد.
10.در RAID 5 قابلیت Hot Swapped وجود دارد یعنی در صورت خرابی یک هارد، میتوان بدون Downtime و وقفه و خاموشی، هارد جدید را جایگزین هارد معیوب کرد.
11.حتی وقتی درایو خراب، در حال ری بیلد شدن است هم به دیتا دسترسی داریم و میتوانیم آن را بخوانیم.
12.رشد نیاز به ظرفیت ذخیره سازی در آینده تضمین میشود. هرگاه هاردی اضافه شود، RAID 5 با Rebuild شدن، ظرفیت را افزایش میدهد. اما اگر در این زمان هاردی خراب شود، سیستم به خطر خواهد افتاد. دلیل آن را در پاراگراف بعدی میخوانید.
مهم ترین عیب RAID 5 این است که سرعت و کارایی پایینی در Rebuild دارد. وقتی یک هارد از مجموعه هاردها Fail شود زمان زیادی برای بازنشانی و ریکاوری اطلاعات لازم است یعنی در اصطلاح زمان زیادی برای ری بیلد کردن رید لازم است. بسته به سرعت کنترلر و حجم کار، این کار میتواند ساعت ها یا روزها طول بکشد. اگر در حین این ریبیلد، دیسک دیگری خراب شود، اطلاعات برای همیشه از بین میرود.
به طور کلی Standard SATA Drive برای RAID 5 مناسب نیستند زیرا ادمین میتواند از ریبیلد شدن پس از خرابی، جلوگیری کند.
کاربرد RAID 5 چیست؟
برویم سرغ کاربرد RAID 5؛ رید ۵ برای پایگاههای داده مانند
SQL مناسب است. این RAID برای سیستمهایی که عملیات نوشتن زیاد و فشرده بر روی هاردها دارند و در اصطلاح سیستمهای Write Intensive هستند، اصلا گزینه مناسبی نیست زیرا عملیات تولید بیت افزونه Parity در زمان نوشتن اطلاعات کمی زمانبر است و کارایی نوشتن را کم میکند.
RAID 5 برای فایل سرورها و اپلیکیشنهایی که محدودیت تعداد هارد دارند مناسب است.
RAID 10 چیست؟
RAID 10 یا RAID 1+0 از ترکیب RAID 1 و RAID 0 به دست آمده است. RAID 10 در مقایسه با RAID 1 کارایی بالاتری دارد اما هزینه بیشتری هم دارد. دیتا در RAID 10 ابتدا Mirror و سپس Stirpe میشود.
از معایب ترکیب تکنیک Mirroring و Striping این است که نیمی از ظرفیت هارد درایو ها را به دلیل تامین امنیت داده از دست میدهیم.
برای راهاندازی RAID 10 حداقل ۴ هارددیسک نیاز است و به این صورت عمل میکند که دادهها را بین هاردهای آینهای شده به صورت نواری توزیع میکند. مادامی که یک هارددیسک از هر جفت هارد آینهای شده، فعال باشد اطلاعات قابل بازیابی هستند. اما اگر هر دو هارد از یک جفت آینهای Fail شوند، اطلاعات به دلیل عدم وجود بیت افزونه (Parity) دیگر قابل دسترس نخواهد بود.
آسان رایان همراه شماست.