RAID مخفف Redundant Array of Independent/Inexpensive Disks است، یا به عبارتی مجموعهای از دیسکهای مستقل و مجزا است. در ضمن میتوان گفت RAID، تکنولوژی است که امکان ذخیره سازی اطلاعات را در بین چندین هارد درایو مختلف فراهم میکند.
به عبارت سادهتر، چندین هارد درایو به صورت فیزیکی در کنار هم قرار میگیرند تا دادهها بین آنها توزیع گردند، البته در نهایت این مجموعه به عنوان یک هارد مستقل و واحد شناسایی خواهد شد.
هدف اصلی RAID دستیابی به Data Redundancy [به معنی وجود دادههایی است که علاوه بر دادههای واقعی، امکان تصحیح خطاها را در دادههای ذخیره شده و یا منتقل شده، فراهم میکند] جهت کاهش آمار از بین رفتن اطلاعات و در بسیاری موارد بهبود عملکرد میباشد. NAS بهترین راه شروع کار با RAID است.
وجود RAID چه ضرورتی دارد؟
RAID در سال 1988 با هدف مقابله با هزینههای بالای دیسک ایجاد شد. مخترعین آن معتقدند مجموعهای از دیسکهای ارزان قیمت میتوانند عملکرد بهتری در مقایسه با یک دیسک گران قیمت تکی داشته باشند.
بدون شک یک مشکل بسیار بزرگ زمانی اتفاق میافتاد که هزینه ذخیره سازی یک فایل 10 مگابایتی، بیشتر از 100 دلار هزینه دربرداشت. RAID این امکان را فراهم میکند که اطلاعات به طور همزمان، بر روی چندین دیسک ذخیره شوند. اگرچه به عنوان مثال Windows 10 در یک دیسک واحد قرار میگیرد.
RAID Controller چیست؟
RAID Controller همان چیزی است که دادهها را به سمت داخل درایوهای ذخیره سازی و خارج از آنها هدایت میکند. این کنترلر هم میتواند نرم افزار باشد و هم سخت افزار. در کنترلر نرم افزاری برای مثال، در صورتی که شما تعدادی درایو در مجموعۀ RAID خود در داخل کامپیوتر خانگیتان تنظیم میکردید، به صورت نرم افزاری انجام میشد و همچنین توسط پردازنده (CPU) هدایت میشد.
مثال کنترلر سخت افزاری یک Network Attached Storage (NAS) enclosure که به همراه یک کارت کنترلر اختصاصی، وظیفه هدایت دادهها به سمت مجموعه RAID را بر عهده میگیرد.
تکنولوژی های مختلف ذخیره سازی داده در RAID
- stripping: دادهها به بلاکهای مساوی تقسیم میشوند و هر یک از این بلاکها در مجموعه RAID به صورت یک به یک قرار میگیرند. این روش ذخیره سازی دادهها بر روی عملکرد، تاثیر مطلوب دارد.
- Mirroring: کپیهای یکسان از دادهها بر روی RAID های مختلف به صورت همزمان ذخیره سازی میشوند. این نوع ذخیره سازی بر روی fault tolerance و عملکرد، تاثیر دارد.
- Parity: مانند روش stripping، دارای بلاکهای یکسان است که با استفاده از تکنیک Checksum، دادهها را ذخیره میکند. در این تکنیک، از یک تابع خاص برای محاسبات استفاده میشود که در صورت خرابی یک هارد، بلاک از بین رفته مجددا توسط checksum محاسبه میشود و در واقع ویژگی fault tolerance وارد عمل میشود.
قابل ذکر است علاوه بر سه روش فوق، امکان استفاده ترکیبی از موارد گفته شده نیز بر اساس نیاز وجود دارد.
انواع RAID
- RAID 0 شامل striping
- RAID 1 شامل mirroring
- RAID 5 شامل parity با striping
- RAID 6 شامل striping و parity دوگانه
- RAID 10 ترکیبی از mirroring و striping
RAID 0 چیست؟
RAID 0 اولین نسخهای بود که ایجاد شد و جهت عملکرد مطلوب، امکان خواندن و نوشتن با سرعت بالا را فراهم میکرد. RAID 0 دارای ساختار Stripping است، اما افزونگی دیتا و همچنین Fault Tolerance در آن وجود ندارد. برای تنظیم RAID 0 حداقل دو هارد باید وجود داشته باشد، تا دادهها در هر دو هارد قرار گیرند.
هر درایو قسمتی از اطلاعات را در بر میگیرد. در ضمن قرار گرفتن دادهها در این درایوها، به صورتی است که امکان دسترسی سریع به اطلاعات وجود دارد، اما در شرایطی که یکی از درایوها خراب شوند، تمامی اطلاعات آن هارد، از بین میروند.
اندازهگیری سرعت، توسط تعداد درایوهای موجود در مجموعه RAID 0 انجام میشود. بنابراین اگر در مجموعه RAID 0، چهار درایو وجود داشته باشد که چهار بار سریعتر از یک درایو واحد باشند، به جای داشتن یک مسیر جهت انتقال تمامی دادهها، مسیرهای متفاوتی وجود دارد.
پس در این صورت اطلاعات دارای مسیرهای رفت و برگشت میباشند. عدم data redundancy و خطر از دست رفتن دادهها در صورت خرابی یکی از درایوها وجود دارد.
مزایای RAID 0:
-
- عملکرد عالی در نوشتن و خواندن
- استفاده از تمامی ظرفیتهای ذخیره سازی
- پیادهسازی آسان
- ارزانترین نوع رید
معایب RAID 0:
-
- به دلیل عدم وجود fault tolerant، در صورت بروز خرابی در یک درایو، تمامی دادههای موجود در آن هارد از بین میرود. بنابراین برای کارهای مهم و حیاتی مناسب نیست.
کاربرد RAID 0:
برای دادههایی مناسب است که مهم و حیاتی نیستند، در عین حال نیاز به خواندن و نوشتن در سرعت بالا دارند، مانند روتوش تصاویر یا ویرایش فیلم
RAID 1 چیست؟
تنظیمات RAID 1 شامل حداقل 2 درایو است که باید اطلاعات کاملا یکسانی داشته باشند. تنظیمات این RAID شامل تحمل پذیری خطا (fault tolerance) میباشد، به این شکل که در صورت خرابی یک درایو، دادههای درایو دیگر از بین نمیرود. بنابراین تا زمانی که یک درایو کار میکند، مجموعه به کار خود ادامه میدهد.
در این RAID ، دادهها دو بار ذخیره میشوند، یک بار بر روی هارد و یک بار همان دیتا روی هارد دیگری ذخیره میشود (mirror). این RAID برای کسانی که به قابلیت اطمینان، اهمیت زیادی میدهند، مناسب است. در اکثر موارد، عمل خواندن بهتر است در یک دیسک واحد اتفاق بیافتد، هر چند که اثر مخرب روی سرعت نوشتار و ظرفیت ذخیره سازی داشته باشد.
وقتی که دادهای به مجموعه رید اضافه میشود، میبایست به صورت مستقل در هر درایو اضافه گردد. سرعت نوشتن هم اندازه کندترین درایو در مجموعه است. به همین ترتیب، ظرفیت ذخیره سازی نیز بستگی به کوچکترین سایز دیسک دارد. بنابراین با دارا بودن دو درایو 256GB و 512GB، نیمی از فضای ذخیره سازی هارد دوم از دست میرود.
به عنوان راه حل میتوان گفت درایوهای مشابه هم از نظر عملکرد و هم از نظر اندازه، بهترین گزینه به شمار میروند. در ضمن با RAID 1 میتوان در زمان نیز صرفهجویی کرد.
از نظر قیمت میتوان گفت RAID 1 گرانترین آیتم به شمار میرود. زیرا اساسا کارایی آن را بر مبنای تعداد درایوها تقسیم بر تعداد خودش اندازهگیری میشود. به عنوان مثال، در صورتی که شما دو درایو داشته باشید، (کمترین تعداد برای تنظیم یک RAID )، فقط فضای ذخیره سازی کوچکترین درایو را دریافت میکنید.
این معادله بدون در نظر گرفتن تعداد درایوها، یکسان به نظر میرسد. تنظیمات 10 درایوی، تنها اطلاعات یک درایو را در خود ذخیره میکند، هرچند که از data redundancy نیز برخوردار باشد.
مزایای RAID 1:
-
- سرعت خواندن و نوشتن بالا به صورتی که قابل مقایسه با یک درایو واحد میباشد.
- در صورت بروز خرابی در درایو، دادهها نیاز به تکرار مجدد ندارند، بلکه در درایو جایگزین، کپی میشوند.
- دارای تکنولوژی بسیار ساده است.
معایب RAID 1:
-
- اصلیترین ایراد این نوع رید این است که ظرفیت ذخیره سازی موثر تنها نیمی از مجموع ذخایر درایو میباشد، به این دلیل که دادهها دو بار ذخیره میشوند.
-
- امکان تعویض درایو برای همیشه وجود ندارد. به عبارت دیگر تعویض درایوی که مشکل دارد، تنها پس از خاموش کردن کامپیوتری که به آن متصل است، امکانپذیر میباشد. برای سرورهایی که توسط بسیاری از مردم به صورت همزمان استفاده میشود، این امکان پذیر نیست.
کاربرد RAID 1:
این رید، برای ذخیره سازی اطلاعات مهم و حیاتی مانند سیستمهای حسابداری و همچنین برای سرورهای کوچک که در آنها فقط از دو درایو استفاده میشود، مناسب است.
RAID 5 چیست؟
اگر سه درایو دارید، احتمالا RAID 5 بهترین گزینه شما است. البته حداقل به سه درایو نیاز دارد ولی میتواند تا 16 درایو هم کار کند. RAID 5 از ترکیبی از striping و parity استفاده میکند به عبارتی دادهها را استرایپ میکند و parity را بین تمام هاردها توزیع می کند. رید 5 رایجترین نوع به شمار میرود.
در صورت خرابی درایو، از دروازهای انحصاری (Exclusive or XOR logic gate) [یک گیت منطقی است که دو ورودی دارد و تنها زمانی خروجیاش یک میشود که سطح منطقی ورودیهایش یکسان نباشند] استفاده میکند تا اطلاعات درایو از دست رفته را با استفاده از اطلاعات parity مربوط به درایو دیگر، کنار هم جمع کند.
این امر حتی زمانی که درایو دیگر در حال انجام عملیات مربوط به خودش است (حتی در سرعت پایین) نیز امکانپذیر است. به عبارت دیگر در صورت خرابی درایو، کمترین مقدار از دست رفتن اطلاعات رخ میدهد.
به عنوان مثال در تنظیم یک RAID 5 با سه درایو، دادهها بین دو درایو اول توزیع میشوند به همراه parity بر روی درایو سوم. با افزودن اطلاعات بیشتر، دادهها و parity بین دو درایو توزیع میشوند. هنوز هم شانس استفاده از مزایای عملکرد striping وجود دارد. به عبارتی چندین مسیر جهت رفت و آمد اطلاعات وجود دارد.
همچنین در صورت خرابی درایو نباید مانند RAID 0 اطلاعاتی از بین برود. هر چند که در تنظیمات یک RAID 5 با سه درایو، 33 درصد از فضای ذخیره سازی (یعنی معادل یک درایو) برای عملکرد parity از بین میرود. در ضمن با توجه به عملکرد parity، سرعت نوشتن کمتر میشود.
مزایای RAID 5:
-
- سرعت خواندن دادهها بسیار بالاست درحالیکه سرعت نوشتن پایین است (به دلیل محاسبه parity).
- در صورت خرابی یک درایو، هنوز هم دسترسی به کل اطلاعات امکانپذیر است، این در حالی است که درایوی که مشکل دارد، جایگزین میشود و اطلاعات در درایو جدید توسط کنترلر، مجددا ایجاد میگردد.
معایب RAID 5:
-
- خرابی درایوها بر روی throughput نیز تاثیر منفی دارد، حتی اگر همه اطلاعات قابل دسترسی باشند.
- دارای تکنولوژی کاملا پیچیده است. در صورتی که در مجموعهی RAID ها، یک دیسک با ظرفیت 4TB، دچار خرابی شود، برای جایگزین کردن و بازیابی دادهها، حدودا یک روز زمان، نیاز است. گاهی ممکن است بیشتر هم طول بکشد، البته بستگی به سرعت کنترل و زمان load دارد. چنانچه در زمان ذکر شده، دیسک دیگری دچار مشکل شود، دادهها برای همیشه از بین خواهند رفت.
کاربرد RAID 5:
رید 5، یک سیستم همه جانبه است، که دارای ذخیره سازی موثر به همراه عملکرد و امنیت عالی همراه میباشد. گفتنی است این Raid برای فایلها و سرورهایی که دارای تعداد محدودی درایو برای ذخیره سازی اطلاعات میباشند، مناسب است.
RAID 6 چیست؟
RAID 6 مشابه RAID 5 است، البته با توجه به ضرورت parity دو گانه،در تنظیمات آن حداقل باید از چهار درایو استفاده شود. به عبارت دیگر دادههای parity بر روی دو درایو ذخیره میشوند و در تنظیمات چهار درایوی، نیمی از فضای ذخیره سازی به علت parity از دست میرود. حداقل به چهار درایو نیاز دارد، و در عین حال خرابی دو دیسک به طور همزمان را میتواند تحمل کند و اطلاعات را به صورت سالم و دست نخورده باقی نگه میدارد.
قابل ذکر است احتمال خرابی دو درایو به صورت همزمان، بسیار کم است. سرعت خواندن در RAID 6 نیز همانند RAID 5 با توجه به striping بسیار عالی است، اما به طور کلی سرعت نوشتن با توجه به parity پایین است. با این که RAID 6 به چهار درایو نیاز دارد، ولی به طور کلی برای مجموعههای دارای پنج درایو یا بیشتر مناسب است.
مزایای RAID 6:
-
- مانند RAID 5 سرعت خواندن بسیار بالاست.
- اگر دو درایو خراب شوند، هنوز هم امکان دسترسی به کلیه اطلاعات وجود دارد، حتی اگر درایوهای خراب، جایگزین شوند. بنابراین میتوان گفت رید 6 از رید 5 امنیت بالاتری دارد.
معایب RAID 6:
-
- با توجه به محاسبه دادههای parity اضافه، سرعت نوشتن در مقایسه با رید 5 کمتر (حدودا 20%) است.
- خرابی درایو، تاثیر منفی بر روی throughput دارد، حتی اگر هنوز هم، دادهها قابل دستیابی باشند.
- دارای تکنولوژی پیچیده است و در صورت خرابی یک درایو، زمان زیادی برای بازسازی مجموعه ریدها نیاز است.
کاربرد RAID 6:
RAID 6، یک سیستم همه جانبه است، که دارای ذخیره سازی موثر به همراه عملکرد و امنیت عالی همراه میباشد. استفاده از رید 6 برای فایلها و سرورهایی که از درایورهای بسیار بزرگ برای ذخیره سازی اطلاعات استفاده میکنند، نسبت به رید 5 ارجحیت دارد.
RAID 10 چیست؟
RAID 10 (با نام RAID 1+0 نیز شناخته شده) به عنوان بهترین گزینه برای مجموعههای چهار درایوی است. RAID 10، به جای متکی بودن بر mirroring (اختصاص دادن درایو برای اطلاعات یکسان) یا striping، شامل هر دو آیتم میشود. به همین دلیل به آن 1+0 هم میگویند.
در اصل اطلاعات، بین دو مجموعه از دیسکهای مشابه هم قرار میگیرد. سپس سیستمی را به وجود میآورند که بتوان شکست و خرابی یک درایو واحد را یا در مجموعه درایوها و یا در صورت خرابی همزمان هر دو مجموعه، کنترل کرد. تنها چیزی که قابل کنترل نیست، خرابی درایوهای یک مجموعه به صورت همزمان است.
به عنوان مثال، اگر شما شش بیت اطلاعات داشته باشید، اولین بیت (bit) در هر دو درایو در مجموعه اول، دقیقا همانند هم قرار میگیرند. بیت بعدی، در دومین مجموعه به صورت mirrored (دقیقا مشابه هم) قرار میگیرد، و سومین مورد در مجموعه بعدی و به همین ترتیب ادامه پیدا میکند.
اگر شما درایو اول را گم کنید، هنوز درایو مشابه را در مجموعه اول دارید، پس به اطلاعات خود دسترسی دارید. اما گم کردن دو درایو در یک مجموعه به صورت همزمان (دو درایو mirror)، به این معنی است که دسترسی به اطلاعات به هیچ عنوان امکانپذیر نیست.
با استفاده از تنظیمات RAID 10، نیمی از فضای ذخیره سازی کلی را به خاطر mirroring از دست میدهید و به احتمال زیاد شاهد کاهش سرعت نوشتن نیز خواهید بود.
مزایای RAID 10:
-
- اگر یکی از دیسکها دچار خرابی شود، بازسازی آن به سرعت اتفاق میافتد، زیرا تنها کاری که میبایست انجام شود، کپی کردن دادهها از فایل mirror سالم به یک درایو جدید میباشد. برای یک فایل 1TB حدودا 30 دقیقه زمان لازم است.
معایب RAID 10:
-
- نیمی از ظرفیت ذخیره سازی جهت mirroring، استفاده میشود. بنابراین در مقایسه با رید 5 یا رید 6 بسیار گران قیمت برای داشتن redundancy به شمار میرود.
RAID های 2، 3، 4 و 7
این ریدها نیز موجود هستند ولی خیلی رواج ندارند. RAID 3 اساسا شبیه به RAID 5 است با این تفاوت که دادههای parity بر روی همان درایو نوشته میشود.
RAID یا backup
تمامی ریدها به جز RAID 0، از خرابی درایو محافظت میکنند. حتی سیستم RAID 6 میتواند خرابی همزمان دو دیسک را پشتیبانی کند. اما هیچ یک از روشهای گفته شده، جایگزین مناسبی برای بکاپگیری دادهها به حساب نمیآیند و جهت افزایش امنیت، میبایست از آنها، بکاپ گرفته شود.
اگر تمامی درایوها به دلایلی مانند قطعی برق یا دزدیده شدن مجموعه RAID ، به طور همزمان از کار بیفتند، تنها بکاپ است که مفید واقع میشود. حتی در صورت بروز بلایای طبیعی مانند آتش سوزی، بکاپ ایمنتر است، زیرا در یک محل دیگر نگهداری میشود.
یکی دیگر از مهمترین دلایلی که نشان میدهد، بکاپ امنتر از RAID است این است که ممکن است خطای انسانی رخ دهد و برخی از اطلاعات مهم از بین برود و برای زمان طولانی، کسی متوجه آن نگردد.