#
تاریخچه Raid

در سال 1987 سه محقق دانشگاه کالیفرنیا به نامهای 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 مخفف عبارت Redundant Array of Independent Disks است. که به معنی آرایهای افزونه از دیسکهای مجزا و مستقل میباشد. با قرارگیری دادهها بر روی یک عدد هارد دیسک، عملیات ورود و خروج را با یک همپوشانی ویژه انجام میشود. انجام شدن این همپوشانی موجب افزایش کارایی سیستم یعنی افزایش سرعت Read & Write میشود. هدف اصلی این تکنولوژی، ریکاور کردن دیتا در اثر Fail شدن هارد دیسک است. پس اگر یک هارد دیسک دچار نقص شود؛ همواره سیستم توانایی سرویسدهی را خواهد داشت.
حال برای شما جای سوال است که تکنولوژی Raid چگونه کار میکند؟ در رید، چندین هارد درایو فیزیکی، با یکدیگر ترکیب میشوند و میتوانند یک یا چند واحد منطقی ایجاد کنند. به گونهای که اطلاعات و دادههایی را که بین چند هارد وجود دارد، توزیع کنیم. البته سیستم عامل، این هاردهایی که رید شدهاند را به عنوان یک هاردِ واحد شناسایی خواهند کرد. پس این سیستم رید یک روش برای گروه بندی کردن درایوهای فیزیکی مجزا داخل یک درایو بزرگتر به نام RAID میباشد. در چنین شرایطی، سرور توانایی این را دارد که به طور همزمان بین چند عدد درایو، خواندن را انجام دهد. همچنین کارایی در درایوهایی که رید شدهاند؛ بسیار بهتر از نوع مجزای آن است.
#
انواع ذخیره سازی در RAID
RAID در واقع آرایه ای است که از دو دیسک سخت و یا بیشتر که در روی یک واحد قرار گرفته اند تشکیل یافته است. برای اینکه به آرایه RAID سه ویژگی بیشتر در مقایسه با JBOD داده شود سه مفهوم اساسی استفاده می شوند.
#
ذخیره سازی نوع
Mirror
مفهوم Mirroring یعنی داده ها در بیش از یک دیسک نوشته شوند.مثال اساسی Mirroring آرایه RAID1 با دو دیسک می باشد. هر دو دیسک محتوای یکسانی دارند. زمانی که برای درایو اولی مشکلی پیش بیاید، عملیات خواندن و نوشتن به شکل مستقیم در دیسک دوم انجام می شود. عملیات خواندن در ارایه های Mirroring در مقایسه با دیسک تنها به دلیل اینکه سیستم ، داده ها را از چندین دیسک و در یک زمان می خواند سریع تر است. اگرچه عملیات نوشتن از آنجایی که داده ها باید در چند دیسک به جای یک دیسک نوشته شوند، کند تر می باشد. بازسازی آرایه دیسک mirror شده بسیار آسان است داده ها از دیسک سالم به دیسک جدید کپی می شوند . در طول بازسازی کارایی خواندن کاهش پیدا می کند . چرا که تنها یک دیسک mirror قابل استفاده می باشد.

#
ذخیره سازی نوع
striping
عملیات جداسازی داده ها از چندین دیسک است.برای مثال آرایه RAID 0 داده ها را در دو دیسک قرار می دهد که این کار تنها کارآیی را افزایش می دهد. عملیات خواندن و نوشتن در آرایه ی Striping در مقایسه با دیسک های تکی سریع تر می باشد.

#
ذخیره سازی نوع
Error Correction
داده های parity را با روشی که به آنها اجازه یافته شدن و احتمال تصحیح مشکلات را بدهد بر روی دیسک ذخیره می کند.RAID5 مثال خوبی از مکانیزم تصحیح خطا است .مثلا آرایه RAID5 از سه نوار داده در دو دیسک اول تشکیل یافته و parity را در دیسک سومی قرار می دهد. مکانیزم تصحیح خطا باعث کاهش کارایی خصوصا در عملیات نوشتن می شود چراکه هم داده و هم parity باید نوشته شود.
#
انواع Raid از نظر سطح بندی
همانطور که در قسمت بالا اشاره کردیم تکنولوژی RAID علاوه بر انواع مختلف، دارای سطح بندی متفاوتی نیز هستند. در ادامه به شما خواهیم گفت که انواع Raid کدامند؟ که در واقع به سه دسته کلی تقسیم میشوند.
-
۱. انواع Raid استاندارد یا Standard RAID Levels
-
۲. انواع Raid ترکیبی یا Nested RAID Levels
-
۳. انواع Raid غیراستاندارد یا Nonstandard RAID
#
انواع Raid استاندارد
صفر (0) Raid
در تعریف raid و انواع آن ابتدا به بررسی raid 0 می پردازیم، RAID 0 اولین و سادهترین نوع RAID می باشد که به صورت معمول بر روی سیستم عامل ها وجود دارد. در صورتی که در Disk Management سیستم خود دو هارد را با هم به صورت Dynamic و Strip متصل کرده باشید در اصل از این حالت RAID استفاده نموده اید. همانطور که گفته شد دو حالت Stripped و Spanned از انواع RAID 0 می باشد. در این حالت تمام هاردها بدون هیچ هارد رزرو و جایگزین، به صورت متوالی به هم متصل میشوند. سرعت در این مدل RAID بسیار بالا میباشد و تقریباً از مجموع تمام حجم هاردها می توان استفاده نمود. این مدل RAID باید حداقل دو عدد هارد بر روی سیستم یا Storage وجود داشته باشد.

1 Raid
این مدل تقریباً یکی از امن ترین انواع raid در سرورها می باشد. در مدل RAID 1 که حتماً تعداد زوج هارد باید بر روی سیستم یا Storage موجود باشد، نیمی از هاردها به صورت هاردهای رزرو آنلاین برای نیمی دیگر از آنها در نظر گرفته میشوند. بدین صورت که در هنگام نوشتن یک فایل بر روی هارد اصلی، یک کپی به عنوان پشتیبان نیز بر روی هارد رزرو نوشته میشود. در این حالت سرعت RAID نصف حالت معمول است زیرا عملیات نوشتن دو بار صورت میگیرد. اما در صورتی که به هر دلیلی هاردی کامل از بین برود، یک هارد پشتیبان از آن در دستگاه وجود داشته و می توان بدون هیچ مشکل یا قطعی در سیستم، از هارد رزرو استفاده کرد. در مراکز مهم که امنیت بسیار اهمیت بالاتری نسبت به سرعت دارد، از این نوع RAID در انواع هاردهای سیستم ها استفاده میشود (دو مدل اول معمولاً بر روی Workstationها اعمال میشود و معمولاً در Storageها به دلیل مشکلات موجود استفاده نمیشوند).

2 Raid
تکنولوژی raid 2 تکنیکی است که از کد Hamming برای تصحیح خطاها استفاده میکند Raid 2 از نواربندی در دیسکها و برای تامین امنیت داده از ECC استفاده میکند. تکنولوژی RAID 2 به دلیل هزینه بالا و اجرای سخت هم اکنون منسوخ شده است. این رید از نوع ریدهای غیر استاندارد است.

3 Raid
Raid 3 یکی دیگر از انواع raid است که در آن از نواربندی اطلاعات استفاده میشود، و یک هارد دیسک را برای ذخیره اطلاعات parity اختصاص داده است. با استفاده از ECC امکان تشخیص خطاها در raid 3 امکان پذیر میباشد.
4 Raid
RAID 4 شباهت زیادی به RAID 3 دارد. تفاوت اصلی در نحوه به اشتراک گذاری دادهها میباشد. این Raid از نوارهای بزرگ استفاده میکند. بدین معنی که شما میتوانید هر رکوردی را از هر درایوی بخوانید. این توزیع به طور چشمگیری عملکرد را افزایش میدهد. RAID 4 برای پیاده سازی و پیکربندی کامل حداقل به سه دیسک نیاز دارد.
5 Raid
در مدل RAID 5 حداقل به ۳ دیسک نیاز است. همانند RAID 1 اطلاعات به صورت Mirroring در دیسک ها ذخیره میشود. همچنین یک کد parity در بین دیسک ها پخش میشود که باعث افزایش کارایی میگردد و در هنگام بروز مشکل میتوان اطلاعات از دست رفته را توسط آن بازیابی کرد. در مقایسه با RAID 1 این سطح ، سرعت کمتری در نوشتن اطلاعات دارد. زیرا زمانی هم برای نوشتن اطلاعات parity مورد نیاز است. در حال حاضر یکی از پرکاربردترین مدل های RAID در انواع Storage ها همین حالت RAID 5 میباشد و اکثر قریب به اتفاق Storage ها و برخی از سیستمهای Workstation خانگی یا اداری از این مدل برای شناسایی تعداد بالای هاردها استفاده میکند.
گونه ای از دیسک ها به نام Hot spare نیز وجود دارد که به عنوان پشتیبانی برای آرایه RAID به کار می روند . این دیسک ها به صورت فیزیکی در آرایه نصب شده وتا زمانیکه دیسک های فعال از کار بیفتند غیر فعال هستند. کنترلر RAID به صورت اتوماتیک درایوهای fail را با دیسک spare تعویض می کند و شروع به ایجاد مجدد فرآیند ها برای آرایه می نماید. برای مثال آرایه ی RAID5 با یک دیسک Hotspare مساوی تعداد دیسک های RAID6 بوده و از نظر حفاظت در هنگام به وجود آمدن خطا تسهیلات بیشتری را فراهم می کنند.

6 Raid
این مدل نیز مانند RAID 5 میباشد با این تفاوت که تعداد هارد رزرو آفلاین در مدل RAID 6 به دو عدد افزایش یافته است. این کار باعث افزایش ضریب امنیت در این مدل RAID نسبت به مدل RAID 5 شده است. این مدل از جدیدترین مدلهای RAID می باشد و به همین خاطر با وجود امنیت و سرعت بالاتر نسبت که RAID 5 ، همچنان تعداد کمتری از Storageها در اقصی نقاط دنیا از این مدل استفاده میکنند.
10 Raid
مدل RAID 10 یکی دیگر از انواع RAID می باشد که از ترکیب دو حالت RAID 0 و RAID 1 تشکیل میشود. برای مثال در صورتی که ۶ هارد داشته باشیم ، این هاردها با هم RAID 1 شده و امنیت بالایی را به وجود میآورند و تعداد ۳ هارد باقیمانده نیز به صورت RAID 0 شده تا سرعت نوشتن بر روی این هاردها نیز به نسبت افزایش یابد (لازم به ذکر است که سرعت در این روش نسبت به حالت RAID 5 , 6 کمتر است).
50 Raid
در مدل RAID 50 نیز از ترکیب دو حالت RAID 0 و RAID 5 استفاده شده است. در برخی از Storageهای معمول ، تنها تعداد محدودی از هارد را میتوان RAID 5 نمود. این مشکل با معرفی حالت RAID 50 تا حدی برطرف شده است. امروزه در این مدل Storage ها ، در ابتدا تمام هاردها به بخش های کوچک تر تقسیم شده و هر قسمت به صورت RAID 5 تنظیم می شوند. در نهایت تمام بسته های RAID 5 با هم به صورت RAID 0 تنظیم میشود تا امکان دسترسی به تمام هاردها و حجم آنها برای کاربران وجود داشته باشد.
لازم به ذکر است در حالت RAID 5 , 6 ، ظرفیت نهایی Storage به دلیل استفاده از هاردهای رزرو و ساختار داخلی این RAIDها پایین می باشد. برای مثال اگر شما Storage با ظرفیت ۲۴ عدد هارد داشته باشید و تمام هاردهای شما نیز ظرفیت ۲ ترابایت داشته باشند ، ظرفیت نهایی در حالت RAID 5 برابر با ۴۰ ترابایت خواهد شد (در حالت معمول باید این مقدار ۴۸ ترابایت باشد).
رید های ترکیبی یا تو در تو Raid
ریدهای ترکیبی یا تو در تو (Nested RAIDs)لازم به ذکر است در حالت RAID 5 , 6 ، ظرفیت نهایی Storage به دلیل استفاده از هاردهای رزرو و ساختار داخلی این RAIDها پایین می باشد. برای مثال اگر شما Storage با ظرفیت ۲۴ عدد هارد داشته باشید و تمام هاردهای شما نیز ظرفیت ۲ ترابایت داشته باشند ، ظرفیت نهایی در حالت RAID 5 برابر با ۴۰ ترابایت خواهد شد (در حالت معمول باید این مقدار ۴۸ ترابایت باشد).
#
مزایای استفاده از تکنولوژی Raid
-
1
با استفاده کردن از چند هارد در قالب RAID، میتوان کارایی آن را نسبت به یک هارد افزایش داد.
-
2
کاهش هزینه، زیرا میتوان از دیسکهای ارزان به تعداد بالا استفاده کرد.
-
3
افزایش سرعت و قابلیت اطمینان بعد از رخ دادن خرابی که به پیکربندی نیز مرتبط است، افزایش مییابد.
-
4
سرعت خواندن و نوشتن زیاد میشود مثلا در RAID 0 سرعت بالا رفته و نسبت به حالتی که از یک هارد استفاده شده بیشتر میشود.
-
5
افزایش دسترس پذیری و Resiliency بر روی Raid5 افزایش مییابد.
-
6
تامین افزونگی برای هارد بدین صورت که آرایه Raid با میرورینگ میتواند دو درایو با اطلاعات یکسان ایجاد نماید. تا در صورت خراب شدن یکی از آنها، سیستم به کار خود ادامه دهد و متوقف نشود.
#
معایب استفاده از تکنولوژی Raid
-
1
قیمت بیشتر، مثلا Nested RAID نسبت به RAIDهای استاندارد و سنتی قیمت بالاتری دارند. چرا که به تعداد بالایی از هارد درایو نیاز دارند.
-
2
یا مورد دیگر هزینه ذخیره هر گیگابایت است که در دستگاه ذخیره سازی Nested RAID بیشتر میباشد. چرا که تعدادی هارد درایو برای افزونگی آن استفاده میشود.
-
3
هنگامی یک درایو دچار اختلال شود، احتمال اینکه در کوتاه مدت خرابیهایی برای سایر درایوها ایجاد شود وجود دارد. این اختلال سبب از دست رفتن داده، فقدان و یا Data Loss میشود.
-
4
همچنین برخی از انواع تکنولوژی Raid مثل RAID 1 و RAID 5 فقط میتوانند خرابی یک هارد را تحمل کنند.
-
5
آرایههای رید و دادههای آن، تا زمانی که هارد خراب وجود داشته باشد و تعویض نشود، آسیبپذیر هستند. از طرفی هارد جدید همواره با دیتا پر خواهد شد.
-
6
تامین افزونگی برای هارد بدین صورت که آرایه Raid با میرورینگ میتواند دو درایو با اطلاعات یکسان ایجاد نماید. تا در صورت خراب شدن یکی از آنها، سیستم به کار خود ادامه دهد و متوقف نشود.
-
7
چون هارد جدید دارای ظرفیت بیشتری نسبت به بعد از پیاده سازی Raid دارد؛ Rebuild شدن هارد نو مقداری طول میکشد.
-
8
امکان ریبیلد شدن آرایه غیر ممکن میشود. به طوری که هنگام خرابی یک درایو، ممکن است مابقی دیسکها بدسکتور یا دارای دادههای غیرقابل خوانش باشند وجود دارد.
متوجه شدیم که تکنولوژی Raidهای مختلف جهت برآورده شدن حداقل یکی از دو موارد زیر طراحی شدهاند. که این نیازها شامل افزایش قابلیت اطمینان داده و در نتیجه افزایش کارایی داده های ورودی و خروجی میباشد.
#
Raid کنترلر و وظیفه ی آن
این کنترلرها با شبیه سازی، میان سیستمعامل و سختافزار ارتباط ایجاد میکنند. RAID Controller گروهی از درایوها را به نرم افزارها و سیستم عامل ها به عنوان یک درایو واحد معرفی می کند . این واحدهای منطقی به عنوان درایو برای نرمافزارها یا سیستمعامل وارد عمل میشوند و حتی میتوانند بخشهایی از چند درایو را برای این کار اشغال کنند( یعنی هر درایو معرفی شده از طرف RAID می تواند مجموعه ای از فضاهای روی درایو های فیزیکی متفاوت باشد ). از آنجا که RAID کنترلرها توانایی دسترسی به چندین نسخه از اطلاعات را در چندین درایو دارند، میتوانند از آنها در برابر ایرادات سیستمی محافظت کرده، سرعت عملکردی درایو را افزایش میدهند.
حدود ده نوع مختلف از کنترلرهای RAID وجود دارد که میتوانند از نظر اولویت کاری، به دستههای دیگری نیز تقسیم شوند. هر نوع از این درایوها میتواند تنها برای یک سطح مشخص یا یک دسته از سطوح RAID طراحی شده و از آنها پشتیبانی کنند.

در RAID Controller های سختافزاری، برای مدیریت آرایش RAID از یک کنترلر فیزیکی استفاده میشود. این کنترلر میتواند PCI یا PCIe باشد که برای پشتیبانی از فرمت درایو خاصی مانند SATA یا SCSI طراحی شده است. برخی از این کنترلرها میتوانند با مادربورد ادغام شوند. RAIDهای سختافزاری نام دیگری نیز دارند و به آنها آداپتور RAID نیز گفته میشود.
مقاله ی مشابه : چرا با گذر زمان SSD کُند میشود؟