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 0 یا RAID 1
RAID چیست؟ - RAID 0 یا RAID 1
امروزه از فناوری RAID برای سه هدف افزایش کارایی، ظرفیت و امنیت استفاده میگردد.
افزایش ظرفیت معمولا در هر سیستم RAID مورد توجه قرار گرفته میشود. به عنوان مثال دو هارد دیسک میتواند به هم متصل شده و یک واحد ذخیره سازی با ظرفیت بالا را بوجود آورد. افزایش کارایی دلیل دیگری برای استفاده از این تکنولوژی میباشد. در مثال مشابه، دو هارد دیسک به هم متصل شده و یک حافظه را تشکیل میدهد. در این حالت کنترلر میتواند دادهها را به دو قسمت تقسیم کرده و هر قسمت را در یک هارد دیسک قرار دهد؛ با این عمل، کارایی سیستم ذخیره سازی برای خواندن ونوشتن اطلاعات دو برابر میگردد. مورد سوم امنیت را برای اطلاعات کاربران فراهم میسازد. بدین صورت که اطلاعات بر روی دو ویا چند هارد دیسک نوشته شده و در صورتی که یکی از دیسکها با مشکل مواجه گردد، همچنان اطلاعات توسط هارد دیسک دیگر، قابل دسترس خواهده بود.
تکنیک RAID چگونه سازماندهی میشود؟
می توان دو جنبه مستقل برای سازماندهی RAID در نظر گرفت:
۱. قرار دادن اطلاعات در آرایه با استفاده از تکنیکهای parity، striping و mirroring.
۲. پیاده سازی تکنولوژی RAID که شامل پیاده سازی نرمافزاری و سختافزاری میشود.
تکنیکهای ذخیره سازی RAID:
Striping: تقسیم اطلاعات به بخشهایی با اندازههای مشخص، سپس نوشتن این اطلاعات به ترتیب در هارد دیسکها. این تکنیک باعث افزایش فضای سیستم ذخیره سازی میگردد.
Mirroring: تکنیکی برای نوشتن یک کپی از اطلاعات به طور همزمان بر روی چندین هارد دیسک است. این تکنیک باعث جلوگیری در از بین رفتن اطلاعات میشود.
Parity: در این تکنیک همانند تکنیک Striping اطلاعات به بخشهای مساوی شکسته میشوند. همچنین یک کد parity (توازن) تولید و در یک یا چند هارد دیسک ذخیره میگردد. اطلاعات parity به سیستم RAID اجازه میدهد در صورتی که اطلاعات هارد دیسک دچار مشکل شده باشد، آنها را شناسایی و بازسازی کند.
تکنیک RAID چگونه سازماندهی می شود؟
تمام تکنیکهای دیگر RAID، بر اساس این سه تکنیک striping، mirroring، parity و یا ترکیبی از این سه عمل میکنند.