AID مخفف Redundant Array of Independent Disks به معنی آرایه پشتیبان دیسکهای مستقل است. البته معنی لغتی آن در انگلیسی، یورش است. این مفهوم بار اول در سال 1987، توسط تیمی سه نفره در دانشگاه کالیفرنیا البته با نام آرایه دیسکهای پشتیبان ارزان Inexpensive به جای(Independent) مطرح شد. در سالهای بعد سازندگان سختافزار آن را به صورت امروزی در آوردند تا توقع قیمت ارزان را از فناوری RAID برطرف کنند.
امروزه کاربرد RAID گسترش بییشتری نسبت به معنای آن یافته و فناوری خاصی را تحت پوشش قرار میدهد که قابلیت تقسیم و کپی اطلاعات را بین چندین دیسک دارد.
کلمه دیسک مطرح شد و یادم آمد که استفاده کنونی این کلمه هم از معنای لغوی این کلمه فراتر رفته است. دیسک به معنای دایره یا هر صفحه گرد است.
تا مدتها این نام با مسمی بود، زیرا هارددیسک، دیسک فشرده و فلاپی دیسک هر سه دارای صفحات گرد برای ذخیره اطلاعات بودند و دیسک درون آنها منبع ذخیره اطلاعات بود. اما امروزه در SSDها و فلش دیسکها، دیگر اثری از صفحات گرد نیستند و این کلمه مفهومی متفاوت نسبت به معنای لغوی آن پیدا کرده است.
در مورد RAID هم همین موضوع صدق میکند. مفهوم این کلمه گستردهتر از معنای لغوی کلمات تشکیل دهنده این مخفف است. این فناوری میتواند برای افزایش امنیت ذخیره داده و یا افزایش کارآیی خواندن از و نوشتن روی دیسکها به کار برود.
وقتی چند دیسک برای استفاده از فناوری RAID تنظیم میشوند، گفته میشود که آنها در یک آرایه RAID قرار گرفتهاند. فناوری خاص آرایه را با عدد دنباله کلمه RAID مشخص میکنند. برای مثال RAID0 یا RAID1. هر فناوری برای اهدافی خاص به کار گرفته میشود که این اهداف ممکن است امنیت و اطمینان بیشتر ذخیره داده، سرعت و کارآیی بالاتر و یا ترکیبی از این دو باشد.
سیستمعامل و متعاقب آن کاربر، آرایه RAID را با این که از چند دیسک تشکیل شده، به عنوان یک دیسک شناسایی میکنند. در حقیقت سیستمعامل بدون این که از فناوری پشت این آرایه با خبر باشد با آن مانند یک دیسک مستقل رفتار میکند. هرچند این فناوری ممکن است در محیط سیستمعامل از طریق نرمافزارهای خاص قابل تنظیم و بررسی باشد اما نحوه خواندن و نوشتن و مسایل دیگر مرتبط به دیسکها در آرایه RAID با دیسکهای مستقل برای ویندوز فرقی نمیکند.
سه مفهوم در فناوری RAID مطرح است که عبارتند از: Mirroring، Striping و Parity. Mirroring با معنای کاربردی کپی دقیقا یکسان اطلاعات استفاده میشود. Striping با مفهوم تقسیم داده به صورت موازی و مساوی به کار میرود. Parity به معنی صحت داده مورد استفاده قرار میگیرد.
آرایههای ترکیبی
برای دستیابی به کارآیی بالاتر و یا امنیت بیشتر میتوان انواع آرایهها را با هم ترکیب کرد. از انواع آرایههای ترکیبی متداول میتوان به 0+1، 1+0 و 5 +0 اشاره کرد.
کنترل کننده RAID مشخص میکند که میتوانید از کدام از انواع RAID استفاده کنید. برای مثال تراشه ICH10R شرکت اینتل که به وفور در مادربوردهای بر اساس این تراشه دیده میشود، از انواع 0 و 1 و 5 و 0+1 آرایه پشتیبانی میکند. در ضمن معمولا برای تنظیم کنترلکننده RAID از طریق نرمافزار خاص کنترلکننده عمل میکند. این نرمافزار یا در سیستمعامل تحت پشتیبانی نصب میشود و یا بعد از پست اولیه کامپیوتر اجرا میشود و از طریق کلیدهای ترکیبی مانند Ctrl+I در کنترل کننده ICHX اینتل در دسترس است. نرمافزار تحت ویندوز اینتل برای تنظیم کنترلکننده RAID، Matrix Storage Manager نام داشت که اکنون به Rapid Storage تغییر نام پیدا کرده است.
RAID نباید با پشتیبانگیری اشتباه گرفته شود. به جز اعضای آرایه RAID1، هیچ کدام از دیسکهای عضو آرایهها به تنهایی قابل استفاده در کامپیوتر نیستند. از آنجا که تقسیم و نوشتن داده در دیسکهای عضو آرایه در سطح بلاک داده است، نمیتوان برای استفاده از بخشی از اطلاعات برای مثال یک دیسک از آرایه 4 دیسکی RAID0 را برداشت. در حالیکه نسخه پشتیبان صرفا برای استفاده مستقل تهیه میشود.
RAID به دو صورت نرمافزاری و سخت افزاری قابل اجراست. در حالت سختافزاری کنترلکننده سختافزاری که تراشهای خاص به همین منظور است، امور را به دست میگیرد. در حالت نرمافزاری سیستمعامل کاری مشابه را روی دیسکها انجام میدهد. در حال حاضر ویندوز XP، ویستا و 7 قابلیت پشتیبانی از آرایههای نوع 0 و 1 و ترکیبی از آنها را دارد و سرور 2003 و 2008 علاوه بر این نوع 5 را هم پشتیبانی میکند.
RAID در ابتدا برای استفاده در دیسکهای SCSI مطرح شد اما با گذشت زمان و پیشرفت فناوری در دیسکهای IDE حضوری ناموفق یافت و بعد از آن با دیسکهای SATA به اوج خود رسید. شما هم در خرید مادربورد و دیسکهای خود استفاده از این فناوری قدرتمند را در نظر بگیرید.
:RAID0 (Striping) در این نوع آرایه تنها Striping مورد استفاده قرار میگیرد و از Parity و Mirroring استفاده نمیشود. بنابراین هیچگونه اطلاعات پشتیبان و هیچ امکان تصحیح خطایی وجود ندارد. در حقیقت با مقایسه این آرایه با معنی و مفهوم کلمات مخفف شده RAID متوجه میشویم که RAID0 اصلا از این معانی پیروی نمیکند و میشود گفت RAID نیست. اما با توجه به اشتراکاتی که با فناوری RAID از جمله افزایش کارآبی، نیاز به کنترلکننده خاص و به کارگیری دیسکها در آرایه دارد، در این فناوری دستهبندی میشود. در این نوع، داده در قالب بلاک داده یا همان استریپ به تعداد دیسکها تقسیم شده و در آنها نوشته میشود. در هنگام خواندن هم بلاکهای داده از تمامی هاردها خوانده میشود. این امر سرعت خواندن و نوشتن را به صورت تئوری به مرتبه تعداد دیسکها افزایش میدهد. برای مثال اگر از 3 دیسک استفاده کنیم، به طور نظری سرعت خواندن از و نوشتن روی دیسک تا 3 برابر افزایش مییابد هرچند در عمل به دلایل مختلف از جمله تاخیر خواندن و نوشتن بین دیسکها و زمان پردازش داده،این امر محقق نمیشود. در ضمن فضای آرایه برابر مجموع فضای دیسکهاست. در RAID0 حداقل 2 دیسک نیاز است.
مزایا: کارآیی خواندن و نوشتن بسیار بالا، به دست آمدن بالاترین فضای ممکن معادل کل فضای دیسکها، افزایش کارآیی با افزایش تعداد دیسکها
معایب: امنیت پایین (از بین رفتن کلیه اطلاعات در صورت آسیب دیدن یک دیسک از آرایه)، عدم تصحیح خطا، کاهش امنیت با افزایش تعداد دیسکهای عضو آرایه
کاربرد: سیستمهای بازی و چند رسانهای، سرور کش (Cache Server) و کلا هرجایی که کارآیی بسیار مهم و امنیت داده اهمیت کمتری دارد و یا پشتیبانگیری منظم و کافی انجام میگیرد.
RAID1 (Mirroring): این فناوری در حقیقت Mirroring تنها است. در این حالت اطلاعات یکسان همزمان روی دیسکها نوشته میشوند. در هنگام خواندن بخشهای مختلف اطلاعات از دیسکها خوانده میشود. اگر مشکلی برای دیسکهای آرایه پیش بیاید، تا زمانیکه فقط یکی از دیسکها باقی است، خطری اطلاعات را تهدید نمیکند. در تئوری، سرعت نوشتن آن با یکی از دیسکها یکسان ولی سرعت خواندن آن ضریبی معادل تعداد دیسکها پیدا میکند. با توجه به دلایل گفته شده در RAID0، در عمل سرعت نوشتن در RAID نوع 1 کمتر از یک دیسک و سرعت خواندن آن هم به ضریب تعداد آنها نمیرسد. فضای آرایه برابر یکی از دیسکهای عضو آرایه میشود. مثلا اگر 3 دیسک 1 ترابایتی در آرایه شرکت کنند، فضای حاصل برابر 1 ترابایت خواهد بود.در این حالت از RAID هم حداقل 2 دیسک مورد نیاز است البته معمولا بیشتر از آن هم استفاده نمیشود، زیرا اطلاعات دیسکهای عضو آرایه دقیقا یکسان است.
مزایا: امنیت بالای اطلاعات، سرعت خواندن بالا
معایب: از دست رفتن فضای زیاد در برابر امنیت
کاربرد: سیستمعامل، پایگاه داده با تغییرات کم و در کل اطلاعات حساسی که سرعت خواندن و امنیت بالا در آنها اولویت دارد و حجم نوشتن روی دیسک کم است.
RAID2 (Striping with hammer coding parity): این آرایه از Striping و Parity به طور همزمان استفاده میکند. این نوع RAID با تقسیم اطلاعات روی 2 دیسک و نوشتن اطلاعات کنترلی خطا (ECC) روی دیسک دیگر در قالب بیتهای داده ذخیره میکند. نحوه محاسبه اطلاعات کنترلی خطا از الگوریتم هامر (Hammer Code) محاسبه میشود. در هنگام خواندن، داده با اطلاعات کنترلی تطابق داده میشود و اگر خطایی وجود داشته باشد، تصحیح میشود. سرعت خواندن با توجه به Stripingداده در 2 دیسک یا بیشتر افزایش چشمگیری یافته و با کنترل خطا کمی از آن کاسته میشود. سرعت نوشتن هم تقریبا در حد خواندن است با این تفاوت که محاسبه کد هامر کمی تاخیر ایجاد میکند. علاوه بر تصحیح خطا این آرایه میتواند با خارج شدن یکی از دیسکها به کار خود ادامه دهد.
مزایا: سرعت خواندن و نوشتن نسبتا خوب، تصحیح خطا در هنگام (به اصطلاح رو هوا! On the fly)
معایب: امنیت پایین نسبت به فضای صرف شده برای Parity، هزینه بالای کنترل کننده
کاربرد: تا به حال مورد استفاده کاربردی قرار نگرفته و تولید نشده است.
RAID3 (Striping with byte level parity): از RAID2 تا RAID6 و احتمالا استانداردهای آتی RAID از Striping و Parity استفاده میشود. علت اصلی این موضوع به صرفه نبودن استفاده از Mirroring در آنهاست. در این نوع RAID، اطلاعات در قالب کلمات، به صورت استریپ شده روی حداقل 2 دیسک نوشته میشوند و Parity آن در دیسک یا دیسکهایی مجزا نوشته میشود. این نوع آرایه با خراب شدن یکی از دیسکها میتواند به کار خود ادامه دهد.
مزایا: سرعت خواندن ترتیبی بالا، امنیت خوب، فضای حاصل شده خوب
معایب: پیچیده بودن کنترل کننده لازم، سرعت بسیار پایین در خواندن و نوشتن تصادفی، کارآیی بد در درخواستهای خواندن و نوشتن چندتایی
RAID4 (Striping with block level parity): همانند RAID3 عمل میکند با این تفاوت که به جای خواندن و نوشتن در قالب کلمه، از بلاک یا استریپ داده استفاده میکند. مانند RAID3 دیسکی مختص ذخیره Parity دارد. فضای حاصله معادل جمع دیسکها منهای یک دیسک فضای Parity است. این آرایه ظرفیت خرابی یکی از دیسکها را داراست.
مزایا: امنیت بهینه، فضای حاصل شده خوب
معایب: سرعت نوشتن بد، سرعت خواندن در سطح دیسک تکی، بازسازی آرایه زمانبر و دشوار، پیچیدگی کنترل کننده لازم
کاربرد: با آمدن RAID5 کاربردی ندارد.
RAID5 (Striping with distributed parity): مشابه آرایه نوع 4 است با این تفاوت که Parity آن در دیسکی خاص ذخیره نمیشود و بین تمامی دیسکها پخش میشود. این نوع آرایه پر کاربردترین نوع در استفادههای حرفهای است چرا که از نظر کارآیی و فضای حاصله، تعادلی بهینه در آن برقرار است. پخش شدن اطلاعات Parity در میان دیسکها باعث افزایش کارآیی میشود. این آرایه به حداقل 3 دیسک نیاز دارد و دیسکهای بیشتر برای استریپ کردن و بالا بردن کارآیی کاربرد دارد. فضای حاصله معادل جمع دیسکها منهای یک دیسک فضای Parity است. این آرایه ظرفیت خرابی یکی از دیسکها را داراست.
مزایا: خواندن سریع، بهینه بودن فضای حاصل نسبت به امنیت، امنیت خوب، تصحیح خطا
معایب: سرعت نوشتن پایینتر از RAID1، سرعت ترمیم و تصحیح پایین، افت شدید کارآیی در هنگام تصحیح
کاربرد: سرورهای پایگاه داده، وب سرورها و عمده استفادههای حرفهای و تجاری
RAID6(Striping with dual distributed parity): همان RAID5 است که دو سری Parity در آرایه ذخیره میکند و امکان حفظ آرایه در نبود دو دیسک را ممکن میکند. ظرفیت حاصل برابر جمع دیسکهای عضو آرایه منهای فضای معادل دو دیسک Parity است.
مزایا: تمام مزایای آرایه نوع 5، امنیت بالاتر از RAID5، قابلیت ادامه کار بدون دو دیسک
معایب: سرعت نوشتن پایین حتی نسبت به RAID5، نیاز به کنترل کننده پیچیده و گرانقیمت، نیاز به حداقل 4 دیسک
اگر تعداد دیسکهای خراب در آرایهای بیش از ظرفیت تحمل آن آرایه باشد، آرایه در حالت Failed یا مختل قرار میگیرد. در این حالت میتوان تمام اطلاعات داخل آرایه را از دست رفته قلمداد کرد.
تعداد ظرفیت تحمل RAID1، تعداد دیسکهای آرایه منهای یکی است، مثلا در آرایه نوع 1 دارای 2 دیسک، اگر 1 دیسک خراب شود، آرایه میتواند به کار خود ادامه دهد. در این حالت که آرایه دیسکی را از دست داده ولی میتواند به کار خود ادامه دهد را Degraded یا کاسته میگویند.
حال اگر در آرایههای از RAID5 دو دیسک همزمان آسیب ببیند، آرایه مختل میشود. اگر یک دیسک دچار مشکل شود و تعویض شود، آرایه از حالت Degraded به حالت Rebuilding یا بازسازی در میآید که در این حالت RAID5 دیسک سوم را از روی دو دیسک دیگر عضو آرایه بازسازی میکند. باید در نظر داشته باشید که اطلاعات روی دیسک جایگزین، پس از انجام فرآیند کاملا از بین خواهد رفت. در حالت بازسازی کارآیی RAID5 به شدت افت پیدا میکند.
اگر دیسکهایی که عضو آرایه نیستند را عضوی از آرایه کنید و یا آرایهها را به هم تبدیل کنید، آرایه در حالت Migrating یا ارتقا قرار میگیرد. ممکن است اطلاعات روی دیسکها در این حالت از بین بروند.
دیسکهای تحت کنترل RAID، سه حالت دارند، یا عضو آرایهاند یا آزادند و یا ذخیره هستند. عضو آزاد به هیچ عنوان در آرایه استفاده نمیشود مگر کاربر به طور دستی آرایه را برای این کار تنظیم کند. عضو ذخیره در صورت از دست رفتن یکی از دیسکهای آرایه، جایگزین میشود.
برای مثال اگر 4 دیسک داشته باشیم و آرایهای از RAID5 شامل 3 دیسک داشته باشیم، اگر یکی از دیسکهای عضو آرایه آسیب ببیند و آرایه در حالت کاسته قرار گیرد، دیسک چهارم اگر ذخیره باشد میتواند به طور خودکار جایگزین شود و آرایه را بازسازی کند اما اگر در حالت آزاد یا غیرعضو باشد، نمیتواند.
منبع: عصرارتباط
باسلام از ارائه مطالب فوق بسیار متشکرم
slm.mmnon az matalebeton