ISMدانشنامهمجازی سازی

همه چیز درباره RAID

RAID چیست؟

به تکنیکی که با هدف تامین امنیت و یا کارائی و یا هر دوی آنها، چندین هارد دیسک را در یک واحد منطقی ترکیب می کند، RAID گفته می شود که مخفف Redundant Array of Independent Disks می باشد.

در سالهای اخیر، با توجه به مشکلات متعددی که باعث از دست رفتن دیتای هارد دیسک‌ها و در نتیجه خسارات مالی فراوان شده است، و همچنین به دلیل نیاز روز افزون به سرعت های بالا برای خواندن و نوشتن بر روی هارد دیسک ها، استفاده از تکنولوژی RAID، از اهمیت بالایی برای کاربران برخوردار بوده است.

تکنولوژی RAID هم بصورت نرم افزاری و هم بصورت سخت افزاری وجود دارد که هر کدام مزایا و معایب مربوط به خود را دارند.
RAID نرم افزاری مبتنی بر نصب یک نرم افزار بر روی سرور مربوطه است که در نتیجه آن با محدودیت هایی مانند استفاده از CPU سرور، عدم پشتیبانی از تمامی انواع RAIDها و عدم سازگاری با انواع سیستم عامل، روبرو هستیم. ولی هزینه راه اندازی آن به میزان زیادی کمتر از نوع سخت افزاری آن می باشد.

در نوع سخت افزاری، یک RAID Controller بر روی سرور و یا استوریج نصب می گردد و دیسک درایوها به آن متصل می شوند. بسیاری از سازنده ها این کنترولر را بصورت پیش فرض در داخل مادربورد قرار می دهند و نیازی به تهیه جداگانه آن نمی باشد. امروزه تمامی استوریج ها دارای این کنترولر هستند که در واقع یک واسط بین سرور و هاردهای موجود در استوریج می باشد.

وظیفه کلیدی این کنترولر چه نرم افزاری باشد و چه سخت افزاری، مدیریت و کنترل هارد درایوهای جمع شده و همچنین ترجمه درخواست های واصله، مربوط به خواندن و نوشتن، بین درایوهای فیزیکی و منطقی می باشد. وقتی از درایو فیزیکی صحبت می کنیم، منظور فضای درایو هاردی هست که بصورت فیزیکی وجود دارد. اما منظور از درایو منطقی، فضایی است که ممکن است مقداری از آن در یک درایو فیزیکی باشد و مقداری دیگر در یک درایو فیزیکی دیگر. که در واقع این وظیفه کنترولر است که این آدرس دهی را بدرستی انجام دهد.

تکنیک های RAID

۳ تکنیک موجود در RAID زیربنای ایجاد سطوح مختلف RAID می گردد.

عکس 59

تکنیک Striping :

در این تکنیک دیتا در بین چند دیسک درایو پخش می شود و بدین ترتیب چندین درایو بصورت همزمان و موازی با هم کار می کنند که در نتیجه آن، دیتای بیشتر در زمان کمتر پردازش می شود و کارایی، در مقایسه با خواندن و نوشتن از یک دیسک درایو، افزایش چشمگیری پیدا می کند. در این تکنیک می بایست یک واحد به نام Strip size تعیین گردد که در واقع تعداد بلاک هایی است که می بایست دیتا در یک دیسک درایو ذخیره گردد و سپس مابقی به هارد بعدی منتقل گردد و این روند ادامه پیدا می کند تا تمامی دیتا در دیسک درایوهای موجود در یک RAID set ذخیره گردند. استفاده از strip size های کوچکتر به این معنی است که شما دیتا را به قطعات کوچکتر شکانده و در بین دیسک ها پخش می کنید.

این تکنیک تنها باعث افزایش سرعت و کارایی می گردد و هیچگونه امنیت و حفاظتی برای دیتا تامین نمی کند. برای مثال در این تکنیک اگر یکی از هاردهای موجود در RAID set بسوزد، تمامی دیتا از دسترس خارج می شود و راهی برای برگشت آنها نیست.

تکنیک Mirroring :

در این تکنیک دیتا در دو هارد دیسک مختلف کپی می گردد، اگر به هر دلیل یکی از دیسک ها از مدار خارج شود، دیتا همچنان در دیسک دوم موجود است و سرور و یا استوریج بدون هیچگونه وقفه ای به کار خود ادامه می دهد. وقتی که هارد خراب را با هاردی دیگر جابه جا نماییم، کنترولر تمامی دیتا را بصورت اتوماتیک از دیسک باقیمانده بر روی دیسک جدید کپی می کند.

البته باید در نظر داشت که این روش نمی تواند جایگزینی برای پشتیبان گیری باشد. زیرا در این تکنیک دیتا دائما در حال جایگزینی است و تغییر می کند در حالی که در سیستم بکاپ شما یک کپی از دیتا را در یک زمان خاص، تهیه و نگهداری می کنید.

با توجه به اینکه در این تکنیک شما هر میزان فضایی که نیاز دارید را باید در دو ضرب نمایید، به عنوان یک روش گران قیمت در نظر گرفته می شود و عموما برای نرم افزارهایی استفاده می شود که اهمیت دیتا در آن بسیار زیاد است و نمی توان ریسک از بین رفتن آن را تحمل کرد. در این تکنیک سرعت خواندن با توجه به اینکه کنترولر می تواند از هر دو دیسک استفاده نماید بالاتر می رود ولی سرعت نوشتن به دلیل اینکه می بایست دو بار انجام گیرد، کمتر می شود. مطمئنا این تکنیک از لحاظ کارایی بسیار پایینتر از تکنیک striping است.

تکنیک Parity :

این تکنیک روشی است که از striped data در مقابل از کار افتادن دیسک، محافظت می نماید، بدون اینکه هزینه تکنیک Mirroring وجود داشته باشد. در این روش حداقل تعداد هاردها ۳ عدد می باشد. دیتا، روی دو هارد دیسک اول و دوم به روش striping ذخیره می‌شود و سپس محاسباتی روی دیتا انجام شده و با نام بیت افزونه یا Parity آن را روی هارد سوم ذخیره می‌کند. این parity ها می توانند تنها در یک دیسک ذخیره گردند و یا در بین دیسک های مختلف قرار گیرند. در این تکنیک حدودا فضای یک هارد دیسک را از دست می‌دهیم و چنانچه یک هارد دیسک به هر دلیلی دچار مشکل شود، با جایگزین کردن آن با یکی دیگر دیتای روی آن شروع به ریکاور شدن می‌کند.
 

انواع RAID Level

با توجه به ۳ تکنیکی که در بالا توضیح داده شد می توانیم انواع مختلفی از سطوح RAID را داشته باشیم که در ادامه هر کدام به تفکیک توضیح داده خواهد شد.

RAID 0

این نوع از RAID از تکنیک Striping استفاده می کند، حداقل برای ساخت آن به دو دیسک نیاز است. برای نرم افزارهایی که نیاز به سرعت بالا در خواندن و نوشتن دارند (I/O throughput) بسیار مناسب است اما باید توجه داشت که در صورت ایجاد مشکل در هر کدام از دیسک ها دیگر هیچ کاری برای برگشت آن نمی توان کرد.

عکس 60

RAID 1

این RAID از تکنیک Mirroring استفاده می کند و برای نرم افزارهایی که نیاز به high availability دارند و پارامتر هزینه خیلی اهمیت ندارد، مناسب است. حداقل تعداد دیسک در این روش، ۲ عدد می باشد و تعداد دیسک ها حتما باید زوج باشد. در این روش ۵۰ درصد از فضای دیسک ها را برای ذخیره سازی در اختیار داریم.

عکس 61

RAID 3

این RAID از تکنیک Parity استفاده می کند بدین شکل که یک دیسک را برای parity اختصاص می دهد و دیتا را بر روی سایر دیسک ها کپی می کند. امروزه استفاده از این روش منسوخ شده است.

عکس 62

RAID 5

این نوع از RAID مانند RAID 3 عمل می کند با این تفاوت که parity ها بین تمام دیسک ها پخش می شوند و یک دیسک بصورت اختصاصی به این امر اختصاص داده نمی شود. حداقل تعداد دیسک ها در این روش ۳ عدد می باشد. در این روش اگر یک دیسک خراب شود با جایگزینی آن مشکل برطرف می گردد ولی اگر دو دیسک خراب شود برای برگشت دیتا به مشکل بر خواهیم خورد. در این روش فرمول محاسبه فضای موجود برای ذخیره سازی دیتا عبارت است از : یک واحد از تعداد دیسک های موجود کم کرده و حاصل را تقسیم بر تعداد دیسک ها می کنیم و در پایان نتیجه را در ۱۰۰ ضرب می نماییم. برای مثال اگر ۵ عدد دیسک موجود است، فضای موجود برای استفاده ۸۰% می باشد.

عکس 63

RAID 6

این RAID مانند RAID 5 عمل می کند با این تفاوت که دو عدد parity ایجاد و بر روی دیسک ها ذخیره می گردد. در این حالت اگر ۲ عدد از دیسک های ما خراب شوند، قابل برگشت می باشد. حداقل تعداد دیسک ها در RAID6 چهار عدد می باشد. در این روش فرمول محاسبه فضای موجود برای ذخیره سازی دیتا عبارت است از : دو واحد از تعداد دیسک های موجود کم کرده و حاصل را تقسیم بر تعداد دیسک ها می کنیم و در پایان نتیجه را در ۱۰۰ ضرب می نماییم. برای مثال اگر ۵ عدد دیسک موجود است، فضای موجود برای استفاده ۶۰% می باشد.

عکس 64

نوع دیگری از RAID وجود دارد که به تودرتو یا Nested RAID معروف هستند که ترکیبی از دو نوع مختلف RAID هستند.

RAID 10

با توجه به معایب موجود در RAID 0 و RAID 1 این نوع از RAID که با نام Striped mirror نیز شناخته می شود، ساخته شد که محاسن موجود در آنها را ترکیب می کند. حداقل تعداد دیسک در این روش ۴ عدد می باشد. در واقع این RAID هم از تکنیک striping استفاده می کند و هم از تکنیک Mirroring .

عکس 65

RAID 50

از ترکیب RAID 0 با RAID 5 حاصل می شود. در این مدل ما یک Parent raid داریم و یک Sub raid . به این صورت می باشد که parent از نوع RAID 0 و SUB از نوع RAID 5 . همانطور که در شکل زیر مشاهده می نمایید، طراحی ما دارای دو leg می باشد که با توجه به تعداد ۶ دیسک موجود نمی توانیم طراحی دیگری انجام دهیم ولی اگر تعداد دیسک ها زیاد باشد می توانیم با توجه به نیاز، تعداد leg ها را خودمان مشخص نماییم.

عکس 66

RAID 60

از ترکیب RAID 0 با RAID 6 حاصل می شود. در این مدل ما یک Parent raid داریم و یک Sub raid . به این صورت می باشد که parent از نوع RAID 0 و SUB از نوع RAID 6 . همانطور که در شکل زیر مشاهده می نمایید، طراحی ما دارای دو leg می باشد که هر leg دارای ۴ دیسک است، که با توجه به تعداد ۸ دیسک موجود نمی توانیم طراحی دیگری انجام دهیم ولی اگر تعداد دیسک ها زیاد باشد می توانیم با توجه به نیاز، تعداد leg ها را خودمان مشخص نماییم.

عکس 67

نمایش بیشتر

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا