مقدمه ای بر RAID و انواع آن
RAID چیست و چه کاربردی دارد؟ آیا با این تکنولوژی آشنایی دارید؟ در سالهای اخیر برای افزایش اطمینان و سرعت دستگاههای ذخیرهسازی دیتا از تکنولوژی جدیدی به نام رید (RAID) استفاده میشود که انواع مختلفی دارد و بسیار مورد توجه قرار گرفته است.
در این نوشتار ما قصد داریم پس از تعریف RAID به بررسی انواع آن بپردازیم و مزایا و معایب هر یک را شرح دهیم. برای آشنایی بیشتر با آرایه چندگانه دیسک های مستقل ما را تا پایان در مرکز داده پیشتاز همراهی کنید.
RAID چیست؟
RAID (آرایه اضافی از دیسکهای مستقل) یک راهاندازی متشکل از چندین دیسک برای ذخیرهسازی داده است. ریدها معمولا برای جلوگیری از، از دست دادن دادهها یا سرعت بخشیدن به عملکرد دستگاه، به یکدیگر متصل شدهاند. داشتن چند دیسک امکان استفاده از تکنیکهای مختلف مانند نوار دیسک، آینهسازی دیسک و برابری را فراهم میکند.
RAID مخفف عبارت Redundant Array of Independent Disks است که سرورها و کامپیوترهایی که کارایی بالایی دارند از این سیستم بهرهمند هستند. در این تکنولوژی اطلاعات بصورت موازی و همزمان روی چندین هارددیسک ذخیره میشود و این سبب میشود در صورت خرابی یکی از هارددیسکها همچنان به اطلاعات در هارددیسک دیگر دسترسی داشته باشید.
معماری RAIDها با توجه به نحوه اتصال دیسکها (آرایهها) متفاوت است و نحوه اتصال آنها به هم، سطح آرایهها را مشخص میکند. تفاوت در معماری ریدها به دلایلی چون بهبود و افزایش کارایی دادههای ورودی و خروجی، توسعه و افزایش امنیت و همچنین افزایش دادن ظرفیت است.
استفاده از رید، هم بصورت سختافزاری ممکن است هم نرمافزاری. معمولا مدل سختافزاری این سیستم سرعت بالاتر و پایداری بیشتری دارد و هزینه آن نسبت به نوع نرمافزاری آن بیشتر است. چنانچه از RAID نرمافزاری استفاده شود، سیستم عامل BIOS آن را پیادهسازی میکند.
روش های ذخیره سازی داده در RAID
برای ذخیرهسازی دادهها در رید روشهای مختلفی وجود دارد که در ادامه به آنها اشاره میکنیم.
روش striping یا نواری در RAID:
در این تکنیک، دیتا به Blockهایی مساوی تقسیم میشود و سپس این بلاکهای داده به صورت یکبهیک در رید قرار میگیرند. در واقع پارتیشنهای Striping روی چند هارد قرار میگیرند.
معمولا سیستمهای ذخیرهسازی این تکنیک را به روشهای مختلفی بکار میبرند، در سطح بایت یا Block یا پارتیشن. در این حالت داده میتواند روی همه یا بخشی از دیسکهای یک کلاستر، Stripe شود.
روش mirroring یا آینهای در RAID:
در تکنیک آینهای، نسخههای یکسانی از دادههای هر هارد، روی هارددیسک دیگر موجود در RAID قرار میگیرند. در واقع در این حالت داده یکسانی روی بیش از یک هارد وجود دارد.
تکنیک parity یا افزونه در RAID:
در روش parity، داده همچون روش نواری به بلاکهای یکسان تقسیم میشود و به طور همزمان و با استفاده از تکنیک checksum در رید ذخیره میشوند. در این روش میتوان با استفاده از تابعی، هنگام بروز خرابی در یک هارد، بلاک از بین رفته را به کمک چکسام دوباره محاسبه کرد.
امکان ترکیب این سه روش ذخیرهسازی در آرایه چندگانه دیسک های مستقل وجود دارد و میتوانید بر اساس نیازتان در امنیت و کارایی، از ترکیب آنها استفاده کنید.
انواع RAID
آرایه چندگانه دیسک های مستقل علاوه بر انواع مختلف دارای سطحبندیهای متفاوتی است. معمولا ریدها به سه دسته استاندارد، غیراستاندارد و ترکیبی تقسیم میشوند. در ادامه به معرفی برخی از انواع آن به همراه مزایا و معایب آنها میپردازیم.
RAID 0: Striping
RAID 0 که به عنوان مجموعه راه راه (خط خطی) یا حجم راه راه نیز شناخته میشود، به حداقل دو دیسک نیاز دارد. دیسکها در یک حجم بزرگ ادغام میشوند که در آن دادهها به طور مساوی در تعداد دیسکهای موجود در آرایه ذخیره میشوند.
این فرآیند، نوار دیسک نامیده میشود و شامل تقسیم دادهها به بلوکها و نوشتن آنها به طور همزمان یا متوالی بر روی چندین دیسک است. پیکربندی دیسکهای راه راه به عنوان یک پارتیشن واحد، عملکرد را افزایش میدهد، زیرا چندین دیسک به طور همزمان عملیات خواندن و نوشتن را انجام میدهند. بنابراین، RAID 0 به طور کلی برای بهبود سرعت و کارایی پیادهسازی میشود.
توجه به این نکته ضروری است که اگر آرایهای از دیسکهایی با اندازههای مختلف تشکیل شده باشد، هر یک به کوچکترین اندازه دیسک در تنظیمات محدود میشود. این بدان معناست که آرایهای متشکل از دو دیسک، که یکی 320 گیگابایت و دیگری 120 گیگابایت است، در واقع ظرفیت 2×120 گیگابایت (یا در مجموع 240 گیگابایت) دارد.
برخی از پیادهسازیها به شما امکان میدهند از 200 گیگابایت باقیمانده برای استفادههای مختلف استفاده کنید. علاوه بر این، توسعهدهندگان میتوانند چندین کنترلر (یا حتی یک کنترلر در هر دیسک) را برای بهبود عملکرد پیادهسازی کنند.
RAID 0 مقرونبهصرفهترین نوع پیکربندی دیسک اضافی است و تنظیم نسبتا آسانی دارد. با این حال، هیچ افزونگی، تحمل خطا یا خرابی را در ترکیب خود شامل نمیشود. از این رو، مشکلات روی هر یک از دیسکهای موجود در آرایه میتواند منجر به از دست دادن کامل دادهها شود. به همین دلیل است که باید از آن فقط برای ذخیرهسازی غیربحرانی مانند فایلهای موقتی که در جای دیگری نسخه پشتیبان تهیه شدهاند، استفاده شود.
مزایای RAID 0
- مقرونبهصرفه و ساده برای اجرا
- افزایش عملکرد خواندن و نوشتن
- بدون سربار (استفاده از ظرفیت کل).
معایب RAID 0
تحمل خطا یا افزونگی را ارائه نمیدهد. در واقع در این نوع رید اگر یکی از هارددیسکها (دستگاه ذخیرهسازی) خراب شود، کل اطلاعات ذخیره شده از بین خواهد رفت و قابل برگشت نخواهد بود.
زمانی که Raid 0 باید استفاده شود
RAID 0 زمانی استفاده میشود که کارایی در اولویت باشد و قابلیت اطمینان آن مطرح نباشد. اگر میخواهید از درایوهای خود نهایت استفاده را ببرید و از دست دادن اطلاعات برایتان مهم نیست، RAID 0 را انتخاب کنید.
از سوی دیگر، چنین پیکربندی لزوما نباید غیرقابل اعتماد باشد. بنابراین، میتوانید نوار دیسک را به همراه آرایه RAID دیگری که حفاظت از دادهها و افزونگی را تضمین میکند، روی سیستم خود تنظیم کنید.
RAID 1: Mirroring
RAID 1 آرایهای متشکل از حداقل دو دیسک است که در آن دادههای یکسان روی هر یک ذخیره میشود تا از افزونگی اطمینان حاصل شود. رایجترین استفاده از RAID 1 راهاندازی یک جفت آینهای متشکل از دو دیسک است که در آن محتویات دیسک اول در دیسک دوم منعکس میشود. به همین دلیل است که چنین پیکربندی را آینهکاری نیز میگویند.
بر خلاف RAID 0، که در آن تمرکز فقط بر روی سرعت و عملکرد است، هدف اصلی RAID 1 ارائه افزونگی است. با جایگزین کردن یک درایو خراب با ماکت آن، احتمال از دست دادن اطلاعات و خرابی را از بین میبرد.
در چنین تنظیماتی، حجم آرایه به اندازه کوچکترین دیسک است و تا زمانی که یک درایو کار میکند این نوع رید به فعالیت خود ادامه میدهد و قابل استفاده است. جدا از قابلیت اطمینان، آینهسازی عملکرد خواندن را افزایش میدهد زیرا، درخواست میتواند توسط هر یک از درایوهای آرایه مدیریت شود. از طرف دیگر، عملکرد نوشتن مانند یک دیسک باقی میماند و برابر با کندترین دیسک در پیکربندی است.
مزایای RAID 1
- افزایش عملکرد خواندن
- افزونگی و تحمل خطا را فراهم میکند
- ساده برای پیکربندی و آسان برای استفاده.
معایب RAID 1
- فقط از نیمی از ظرفیت ذخیرهسازی استفاده میکند چون اطلاعات دوبار نوشته میشوند
- گرانتر نسبت به نوع RAID 0
- برای جایگزینی درایو خراب به خاموش کردن رایانه نیاز دارد.
هنگامی که Raid 1 باید استفاده شود
RAID 1 برای ذخیرهسازی ماموریت حیاتی استفاده میشود که به حداقل خطر از دست دادن داده نیاز دارد. سیستمهای حسابداری اغلب RAID 1 را انتخاب میکنند زیرا با دادههای حیاتی سروکار دارند و به قابلیت اطمینان بالایی نیاز دارند.
همچنین برای سرورهای کوچکتر با تنها دو دیسک مناسب است، همچنین اگر به دنبال یک پیکربندی ساده هستید، میتوانید به راحتی آن را راه اندازی کنید (حتی در خانه).
Raid 2: Bit-Level Striping with Dedicated Hamming-Code Parity
RAID 2 امروزه به ندرت در عمل استفاده میشود. این نوع رید خطبندی سطح بیت را با بررسی خطا و تصحیح اطلاعات ترکیب میکند. این پیادهسازی RAID به دو گروه دیسک نیاز دارد که یکی برای نوشتن دادهها و دیگری برای نوشتن کدهای تصحیح خطا است. RAID 2 همچنین به یک کنترلر مخصوص برای چرخش همزمان همه دیسکها نیاز دارد.
به جای بلوکهای داده، RAID 2 دادهها را در سطح بیت در چندین دیسک نواری (نواربندی) میکند و جهت تأمین امنیت دادهها از EEC بهره میگیرد. علاوه بر این، از همین کد Humming (ECC) برای تصحیح خطاها استفاده میکند و این اطلاعات را روی دیسک افزونگی ذخیره میکند.
آرایه تصحیح کد خطا را در لحظه محاسبه میکند. در حین نوشتن دادهها، آن را بر روی دیسک داده نوار میکند و کد را روی دیسک افزونگی مینویسد. از سوی دیگر، هنگام خواندن دادهها از دیسک، از دیسک افزونگی نیز برای خواندن آنها استفاده کرده تا دادهها را تأیید کند و در صورت نیاز اصلاحات را انجام دهد.
مزایای RAID 2
- قابلیت اطمینان
- امکان تصحیح اطلاعات ذخیره شده
معایب RAID 2
- گران
- اجرای آن دشوار است
- نیاز به کل دیسک برای ECC.
هنگامی که Raid 2 باید استفاده شود
RAID 2 امروزه یک روش معمول نیست زیرا، اکثر ویژگیهای آن اکنون در هارددیسکهای مدرن موجود است. به دلیل هزینه و الزامات پیادهسازی، این سطح RAID هرگز در بین توسعهدهندگان محبوب نشد.
Raid 3: Bit-Level Striping with Dedicated Parity
مانند رید 2، RAID 3 به ندرت در عمل استفاده میشود. این پیادهسازی RAID از خطبندی سطح بیت و یک دیسک برابری اختصاصی استفاده میکند. به همین دلیل، حداقل به سه درایو نیاز دارد که دو درایو برای ذخیره نوار داده و یکی برای برابری استفاده میشود.
برای اجازه دادن به چرخش همزمان، RAID 3 به یک کنترلر خاص نیز نیاز دارد. به دلیل پیکربندی و چرخش همزمان دیسک، نرخ عملکرد بهتری را با عملیات متوالی نسبت به عملیات خواندن و نوشتن تصادفی به دست میآورد.
مزایای RAID 3
- توان عملیاتی خوب هنگام انتقال حجم زیاد داده
- راندمان بالا با عملیات متوالی
- انعطافپذیری هنگام خرابی دیسک
معایب RAID 3
- برای انتقال فایلهای کوچک مناسب نیست
- پیچیده برای پیادهسازی
- راهاندازی به عنوان RAID نرمافزاری مشکل است.
هنگامی که Raid 3 باید استفاده شود
امروزه از RAID 3 معمولا استفاده نمیشود. ویژگیهای آن برای تعداد محدودی از موارد استفاده مفید است که به نرخ انتقال بالا برای خواندن و نوشتن طولانیمدت متوالی (مانند ویرایش و تولید ویدیو) نیاز دارند.
Raid 4: Block-Level Striping with Dedicated Parity
RAID 4 یکی دیگر از سطوح RAID استاندارد غیرمحبوب است. این شامل دادههای سطح بلوک است که روی دو یا چند دیسک مستقل و یک دیسک برابری اختصاص داده شده است.
پیادهسازی حداقل به سه دیسک نیاز دارد، دو دیسک برای ذخیره نوارهای داده و یکی برای ذخیره برابری و ایجاد افزونگی اختصاص داده شده است. از آنجایی که هر دیسک مستقل است و هیچ چرخش همزمانی وجود ندارد، نیازی به کنترلر نیست.
پیکربندی RAID 4 در هنگام ذخیره بیتهای برابری برای هر بلوک داده در یک درایو، مستعد گلوگاه است. چنین تنگناهای سیستمی تأثیر زیادی بر عملکرد سیستم دارند.
مزایای RAID 4
- عملیات خواندن سریع
- سربار ذخیرهسازی کم
- درخواستهای I/O همزمان.
معایب RAID 4
- تنگناهایی که تأثیر زیادی بر عملکرد کلی دارند
- عملیات نوشتن آهسته
- اگر دیسک برابری خراب شود، افزونگی از بین میرود.
هنگامی که Raid 4 باید استفاده شود
با توجه به پیکربندی آن، RAID 4 با موارد استفاده که نیازمند خواندن و نوشتن متوالی فرآیندهای داده فایلهای بزرگ هستند، بهترین کار را انجام میدهد. با این حال، درست مانند RAID 3، در اکثر راهحلها، RAID 4 با RAID 5 جایگزین شده است.
Raid 5: Striping with Parity
بیتهای برابری پس از ذخیره شدن هر دنبالهای از دادهها به طور یکنواخت در همه دیسکها توزیع میشوند. این ویژگی تضمین میکند که در صورت خرابی درایو، همچنان به دادههای بیتهای برابری دسترسی دارید. بنابراین، RAID 5 افزونگی را از طریق بیتهای برابری به جای mirroring فراهم میکند.
مزایای RAID 5
- کارایی و ظرفیت بالا
- سرعت خواندن سریع و قابل اعتماد
- خرابی تک درایو را تحمل میکند.
معایب RAID 5
- زمان بازسازی طولانیتر
- از نیمی از ظرفیت ذخیرهسازی (به دلیل برابری) استفاده میکند
- اگر بیش از یک دیسک خراب شود، دادهها از بین میروند
- پیچیدهتر برای پیادهسازی.
هنگامی که Raid 5 باید استفاده شود
RAID 5 اغلب برای سرورهای فایل و برنامه به دلیل کارایی بالا و ذخیرهسازی بهینه آن استفاده میشود. علاوه بر این، اگر دسترسی مداوم به دادهها در اولویت باشد یا نیاز به نصب یک سیستم عامل روی آرایه داشته باشید، بهترین راهحل مقرونبهصرفه است.
Raid 6: Striping with Double Parity
RAID 6 آرایهای شبیه به RAID 5 با اضافه شدن ویژگی برابری دوگانه (مضاعف) آن است. به همین دلیل از آن به عنوان RAID دو برابری نیز یاد میشود.
این تنظیمات به حداقل چهار درایو نیاز دارد. راهاندازی آن شبیه RAID 5 است اما شامل دو بلوک برابری اضافی است که در سراسر دیسک توزیع شده است. بنابراین، از نوارگذاری در سطح بلوک برای توزیع دادهها در سراسر آرایه استفاده میکند و دو بلوک برابری را برای هر بلوک داده ذخیره میکند.
striping سطح بلوک با دو بلوک برابری اجازه میدهد تا قبل از، از بین رفتن هر گونه داده، دو دیسک خراب شود. این بدان معنی است که در رویدادی که دو دیسک از کار میافتند، رید همچنان میتواند دادههای مورد نیاز را بازسازی کند.
عملکرد آن به نحوه پیادهسازی آرایه و همچنین تعداد کل درایوها بستگی دارد. به دلیل ویژگی برابری مضاعف، عملیات نوشتن در مقایسه با پیکربندیهای دیگر کندتر است.
مزایای RAID 6
- تحمل خطا و خرابی درایو بالا
- عملیات خواندن سریع
- کارایی ذخیرهسازی (زمانی که بیش از چهار درایو استفاده میشود).
معایب RAID 6
- طولانی بودن زمان بازسازی (میتواند تا 24 ساعت طول بکشد)
- عملکرد نوشتن آهسته
- پیچیده برای پیادهسازی
- گران.
هنگامی که Raid 6 باید استفاده شود
RAID 6 گزینه خوبی برای برنامههای کاربردی است که از دست دادن دادهها قابل تحمل نیست. بنابراین، اغلب برای مدیریت دادهها در بخشهای دفاعی، مراقبتهای بهداشتی و بانکی استفاده میشود.
Raid 10: Mirroring with Striping
RAID 10 بخشی از گروهی به نام RAID تو در تو یا ترکیبی است، به این معنی که ترکیبی از دو سطح مختلف RAID است. در مورد RAID 10، آرایه ترکیبی از انعکاس سطح 1 و خطکشی سطح 0 است. این آرایه RAID با نام RAID 1+0 نیز شناخته میشود.
RAID 10 از انعکاس منطقی برای نوشتن دادههای مشابه بر روی دو یا چند درایو برای ایجاد افزونگی استفاده میکند. اگر یک دیسک خراب شود، یک تصویر آینهای از دادههای ذخیره شده در دیسک دیگر وجود دارد. علاوه بر این، آرایه از نوارگذاری در سطح بلوک برای توزیع تکههای داده در درایوهای مختلف استفاده میکند. این سبب بهبود عملکرد و سرعت خواندن و نوشتن میشود زیرا، دادهها به طور همزمان از چندین دیسک قابل دسترسی هستند.
برای اجرای چنین پیکربندی، آرایه به حداقل چهار درایو و همچنین یک کنترلر دیسک نیاز دارد.
مزایای RAID 10
- عملکرد بالا
- تحمل خطای بالا
- عملیات خواندن و نوشتن سریع
- زمان بازسازی سریع.
معایب RAID 10
- مقیاسپذیری محدود
- پرهزینه (در مقایسه با سایر سطوح RAID)
- از نیمی از ظرفیت فضای دیسک استفاده میکند
- راهاندازی بسیار پیچیدهتر نسبت به سایر ریدها.
زمانی که Raid 10 باید استفاده شود
RAID 10 اغلب در مواردی استفاده میشود که نیاز به ذخیره حجم بالای داده، زمان خواندن و نوشتن سریع و تحمل خطا بالا دارد. بر این اساس، این سطح RAID اغلب برای سرورهای ایمیل، سرورهای میزبانی وب و پایگاههای داده پیادهسازی میشود.
RAID غیر استاندارد
سطوح RAID ذکر شده در بالا به عنوان پیادهسازی RAID استاندارد یا رایج در نظر گرفته میشوند. با این حال، راههای بیشماری وجود دارد که میتوانید آرایههای اضافی از دیسکهای مستقل را راهاندازی کنید.
بر این اساس، بسیاری از پروژهها و شرکتها برای راهاندازی آرایه چندگانه دیسک های مستقل گاهی از روش غیراستاندارد استفاده میکنند. بسیاری از پیادهسازیهای غیراستاندارد RAID وجود دارد که میتوان در بین آنها به موارد زیر اشاره کرد:
- RAID-DP
- Linux MD RAID 10
- RAID-Z
- Drive Extender
- Declustered RAID
RAID تو در تو (هیبرید)
شما میتوانید دو یا چند سطح استاندارد RAID را برای اطمینان از عملکرد بهتر و افزونگی ترکیب کنید. چنین ترکیباتی سطوح RAID تو در تو (یا ترکیبی) نامیده میشوند.
پیادهسازیهای ترکیبی RAID بر اساس سطوح ریدی که در خود دارند، نامگذاری میشوند. در بیشتر موارد، آنها شامل دو عدد هستند که ترتیب آنها طرح لایهبندی را نشان میدهد.
سطوح RAID هیبریدی محبوب عبارتند از:
- RAID 01 (راهراهی و آینهبندی؛ همچنین به عنوان آینه راه راه شناخته میشود)
- RAID 03 (سطوح بایت و برابری اختصاصی)
- RAID 10 (آینهکاری دیسک و خطبندی مستقیم در سطح بلوک)
- RAID 50 (تعادل توزیع شده و خطکشی در سطح بلوک مستقیم)
- RAID 60 (تعادل دوگانه و خطکشی در سطح بلوک مستقیم)
- RAID 100 (یک نوار از RAID 10)
انواع پیاده سازی RAID
سه راه برای استفاده از RAID وجود دارد که با توجه به محل انجام پردازش، متفاوت است.
RAID مبتنی بر سخت افزار
هنگام نصب تنظیمات سختافزاری، یک کارت کنترلر RAID را در یک اسلات سریع PCI-Express روی مادربرد قرار داده و آن را به درایوها متصل میکنید. محفظههای درایو RAID خارجی با کارت کنترل داخلی نیز موجود است.
RAID مبتنی بر نرم افزار
برای تنظیم نرمافزار، درایوها را مستقیما بدون استفاده از کنترلر RAID به رایانه متصل میکنید. در این صورت، دیسکها را از طریق نرمافزارهای کاربردی در سیستم عامل مدیریت میکنید.
RAID مبتنی بر سیستم عامل (درایور)
RAID مبتنی بر سیستم عامل (همچنین به عنوان RAID مبتنی بر درایور شناخته میشود) سیستمهای رید هستند که اغلب مستقیما روی مادربرد ذخیره میشوند. تمام عملیات آن توسط CPU کامپیوتر انجام میشود نه توسط یک پردازنده اختصاصی.
توجه: اگر RAID سختافزاری را راهاندازی میکنید، باید MegaCLI را برای مدیریت و برقراری ارتباط با کنترلرهای RAID نصب کنید.
جمع بندی
RAID یک راه مفید و کاربردی برای سرعت بخشیدن به عملکرد سرور و اطمینان از، از بین نرفتن دادهها است. تصمیمگیری این که چه نوع راهاندازی برای کسبوکار شما بهترین است تا حد زیادی به اولویتهای شما بستگی دارد. تمام گزینهها را کاوش کنید و تمام مزایای این ابزار و تکنیک قدرتمند آن را به دست آورید و با کمک phoenixNAP Free Raid Calculator، میزان ظرفیت آرایه مورد نیاز خود را برای پیکربندی رید خود محاسبه کنید.
با استفاده از این مقاله میتوانید نحوه پیادهسازی آرایه چندگانه دیسک های مستقل را در سیستم خود انتخاب کنید. بنابراین میتوانید بین RAID سختافزاری، RAID نرمافزاری و RAID سیستم عامل یکی را انتخاب کنید.