(Redundant Array of Inexpensive Disk)RAID
روشی برای ذخیره داده های یکسان در مکان های مختلف بر روی چندین هارد دیسک یا درایوهای فیزیکی، برای محافظت از داده ها در صورت خرابی درایو می باشد.
نحوه عملکرد RAID
RAID با قرار دادن داده ها بر روی چندین دیسک کار می کند و اجازه می دهد تا عملیات ورودی/خروجی (I/O) به صورت متعادل با هم همپوشانی داشته باشند و عملکرد را بهبود بخشد.RAID از تکنیک های دیسک Mirroring یا Disk striping استفاده می کندMirroring داده های یکسان را روی بیش از یک درایو کپی می کندپارتیشن های Striping به پخش داده ها روی چندین درایو دیسک کمک می کند.
Raid Controller
دستگاهی است که برای مدیریت هارد دیسک در یک آرایه ذخیره سازی استفاده می شود.در واقع رید کنترلر یک کارت و یا تراشه است که بین سیستم عامل و درایوهای ذخیره سازی که معمولا هارد دیسک ها می باشند، قرار می گیرند.
این رید ها می توانند حجم زیاد داده را مدیریت کرده ، عملکرد هارد دیسک را بهبود بخشند و همچنین به محافظت از داده ها در صورت خرابی کمک کند.یک کنترلر RAID ممکن است مبتنی بر سخت افزار یا نرم افزار باشد.در یک CONTROLLER RAID مبتنی بر سخت افزار، یک کنترل کننده فیزیکی کل آرایه را مدیریت می کند.این کنترلر میتواند PCI یا PCIe باشد که برای پشتیبانی از فرمت درایو خاصی مانند SATA یا SCSI طراحی شده است.یک CONTROLLER RAID فیزیکی نیز می تواند در مادربرد سرور تعبیه شود.درCONTROLLER RAID مبتنی بر نرم افزار، کنترل کننده از منابع سیستم سخت افزاری مانند CPU و Memory استفاده می کند.سازوکار RAID نرمافزاری مشابه نمونه سختافزاری است، اما عملکرد نسخه نرمافزاری کمی ضعیف تراز نسخه سختافزاری کنترلرهای RAID است.مهمترین مزیت استفاده از نسخه نرمافزاری کنترلر RAID انعطاف بالا و قیمت پایین آن است. البته برای استفاده از کنترلر نرمافزاری RAID لازم است یک سیستم قدرتمند داشته باشید تا اجرای آن، تاثیر منفی خاصی بر روی عملکرد سیستم نداشته باشد.
سطوح RAID
RAID 0
دارای پیکربندی Stripingمی باشد.بهترین عملکرد را ارائه می دهد، اما تحمل خطا را فراهم نمی کند.
در اینجا حداقل نیاز به دو عدد دیسک داریم.
RAID 1
به نام Mirror یا آینهای نیز شناخته میشود،در این نوع نیاز به دو عدد دیسک داریم دیتا به صورت mirror دقیقا روی هر دو دیسک نوشته میشوند بنابراین سرعت نوشتن کم میشود.این نوع بهترین برای نصب سیستم عامل است.
در این مدل Striping وجود ندارد.دراین مدل عملکرد خواندن بهبود یافته است، زیرا هر دیسک را می توان همزمان خواند.عملکرد نوشتن مانند ذخیره سازی تک دیسک می باشد.
در RAID 1 حداقل ۲هارد دیسک مورد نیاز است.
RAID 2
این پیکربندی از خط کشی در بین دیسک ها و برای تامین امنیت داده از ECC استفاده میکند.
تکنولوژی RAID 2 به دلیل هزینه بالا و اجرای سخت هم اکنون منسوخ شده است.
RAID 3
این تکنیک از striping استفاده می کند و یک هارد دیسک را به ذخیره اطلاعات پریتی اختصاص میدهد. اطلاعات ECC به صورتی تعبیه شده است تا خطاها را تشخیص دهد.فرآیند دیتا ریکاوری با محاسبه اطلاعات ثبت شده روی دیگر درایوها انجام میشود. عملیات I/O همزمان روی همه درایوها انجام میشود و RAID 3 نمیتواند I/O را به صورت Overlap و هم پوشی انجام دهد و دقیقا به همین دلیل برای سیستمهای تک کاربره که اپلیکیشن هایی با رکوردهای بلند دارند(مانند سیستم های مالی ) مناسب است.
در RAID 3 حداقل ۳هارد دیسک مورد نیاز است.
RAID 4
از دیسک پریتی و Block-Level Striping بین چند دیسک استفاده میکند،چون دیتا در RAID 4 نواری شدهاند، رکوردها میتوانند از هر دیسکی خوانده شوند اما موقع نوشتن، نیاز به Distributed Parity است .همچنین از نوارهای بزرگ استفاده میکند یعنی کاربر میتواند رکوردهایی را از هر درایو بخواند. برای عملیات خواندن، Overlap انجام میشود ولی در عملیان نوشتن چون باید درایو پریتی آپدیت شود، I/O Overlapping امکان پذیر نیست.
در RAID 4 حداقل ۳هارد دیسک مورد نیاز است.
RAID 5
دارای پیکربندی Parity Block-Level Striping است یعنی داده را استرایپ میکند و پریتی را هم بین تمام هاردها توزیع میکند پس دیسک جداگانه برای پریتی نداریم. اطلاعات پریتی در هر درایو به صورت نوار در میآید و به همین خاطر اگر حتی یک درایو Fail شود، آرایه RIAD به کار خود ادامه میدهد. معماری رید ۵ به گونهای است که عملیات خواندن و نوشتن از چند درایو ممکن است که در مقایسه با حالتی که فقط از یک درایو انجام میشود، کارایی بهتری ارایه میدهد. اما این کارایی در RAID 5 به پای کارایی در RAID 0 نخواهد رسید. سرعت خواندن و نوشتن در ۵ RAID نسبت به RAID 0 پایینتر و نسبت به RAID 1 بالاتر است.
برای پیاده سازی RIAD 5 حداقل به ۳ دیسک نیاز است اما اغلب برای کارایی بیشتر، توصیه میشود حداقل ۵ دیسک استفاده شود.
در این روش ، اطلاعات و Parity ها روی تمامی دیسک ها پخش می شوند و تحمل خطا در این روش یک دیسک است.یعنی اگر دو دیسک همزمان از بین بروند دیتا را از دست میدهیم. اگر یک دیسک از بین برود دو حالت پیش می آید یا اینکه Parity بوده که خب مشکلی برای دیتا ایجاد نمی شود یا اینکه یک قسمت از دیتا بوده که باز با تلفیق سایر قسمت ها با Parity کنترل به آن قسمت می رسد و Recovery انجام میدهد.زمانی که دیسکی از کار بیفتد، بازسازی آرایه RAID 5 ممکن است زمان زیادی طول بکشد.
RAID 6
نحوه ذخیرهسازی اطلاعات در RAID 6 مانند RAID 5 است با این تفاوت که رید ۶ از دو بیت افزونه استفاده میکند یعنی Parity را دو بار و با دو شیوه مختلف محاسبه کرده و روی دو هارد دیسک مختلف پراکنده میکند. مزیت این پریتی اضافه این است که حتی اگر دو درایو هم همزمان خراب شوند یا دو هارددیسک از بین برود سیستم بدون وقفه میتواند به ادامه کار خود بپردازد. در واقع قابلیت تحمل خطای این RAID، عدد ۲ است بدان معنا که اگر دو هارد به طور کامل Fail شوند، باز هم قابلیت بازیابی اطلاعات در آن وجود دارد.
در RAID 6 حداقل ۴ هارد دیسک مورد نیاز است. نیمی از ظرفیت این ۴ هارد، برای ذخیره داده و نیمی برای Parity استفاده میشود.
در این روش ، اطلاعات و Parity ها روی تمامی دیسک ها پخش می شوند و تحمل خطا در این روش یک دیسک است.یعنی اگر دو دیسک همزمان از بین بروند دیتا را از دست میدهیم. اگر یک دیسک از بین برود دو حالت پیش می آید یا اینکه Parity بوده که خب مشکلی برای دیتا ایجاد نمی شود یا اینکه یک قسمت از دیتا بوده که باز با تلفیق سایر قسمت ها با Parity کنترل به آن قسمت می رسد و Recovery انجام میدهد.زمانی که دیسکی از کار بیفتد، بازسازی آرایه RAID 5 ممکن است زمان زیادی طول بکشد.
RAID 10
۱۰ یا RAID 1+0 از ترکیب RAID 1 و RAID 0 به دست آمده است. RAID 10 در مقایسه با RAID 1 کارایی بالاتری دارد اما هزینه بیشتری هم دارد. دیتا در RAID 10 ابتدا Mirror و سپس Stirpe میشود.
برای راهاندازی RAID 10 حداقل ۴ هارددیسک نیاز است و به این صورت عمل میکند که دادهها را بین هاردهای آینهای شده به صورت نواری توزیع میکند.