RAID چیست؟
RAID (آرایه اضافی از دیسکهای مستقل) روشی برای ذخیره دادههای مشابه در مکانهای مختلف روی چندین هارد دیسک یا درایوهای حالت جامد (SSD) ، برای محافظت از دادهها در صورت خرابی درایو است. با این حال، سطوح RAID مختلفی وجود دارد، و هدف همه آنها ارائه افزونگی نیست.
نحوه عملکرد RAID
RAID با قرار دادن داده ها بر روی چندین دیسک کار می کند و اجازه می دهد تا عملیات ورودی/خروجی (I/O) به صورت متعادل با هم همپوشانی داشته باشند و عملکرد را بهبود بخشد. از آنجایی که استفاده از چندین دیسک باعث افزایش میانگین زمان بین خرابی ها می شود، ذخیره داده ها به صورت اضافی نیز، Fault tolerance را افزایش می دهد.
آرایه های RAID برای سیستم عامل (OS) به عنوان یک Logical Drive منفرد ظاهر می شوند.
RAID از تکنیک های disk mirroring یا Disk striping استفاده می کند. تکنیک disk mirroring داده های یکسان را روی بیش از یک درایو کپی می کند. پارتیشن های Disk striping به پخش داده ها روی چندین درایو دیسک کمک می کند. فضای ذخیره سازی هر درایو به واحدهای مختلف از یک بخش 512 بایت تا چندین مگابایت تقسیم می شود. نوارهای همه دیسک ها به ترتیب در هم قرار گرفته و آدرس دهی می شوند.
Disk Mirroring و Disk striping را نیز می توان در یک آرایه RAID ترکیب کرد.
در سیستم تک کاربرهای که سوابق/بایگانی های (Records) بزرگ ذخیره میشوند، نوارها معمولاً کوچک (مثلاً 512 بایت) تنظیم میشوند به طوری که یک رکورد واحد همه دیسکها را در بر میگیرد و با خواندن همزمان همه دیسکها میتوان به سرعت به آن دسترسی پیدا کرد.
در یک سیستم چندکاربره، عملکرد بهتر به stripe به اندازه کافی بزرگ نیاز دارد تا سوابق/بایگانی های با سایز معمولی یا حداکثر اندازه را نگه دارد و ورودی/خروجی دیسک را در درایوها فعال کند.
کنترلر RAID
کنترلر RAID دستگاهی است که برای مدیریت درایوهای دیسک سخت در یک آرایه ذخیره سازی استفاده می شود. می توان از آن به عنوان سطحی از abstraction بین سیستم عامل و دیسک های فیزیکی استفاده کرد و گروه هایی از دیسک ها را به عنوان Logical Units ارائه کرد. استفاده از یک کنترلر RAID می تواند عملکرد را بهبود بخشد و به محافظت از داده ها در صورت خرابی کمک کند.
یک کنترلر RAID ممکن است مبتنی بر سخت افزار یا نرم افزار باشد. در یک محصول RAID مبتنی بر سخت افزار، یک کنترل کننده فیزیکی کل آرایه را مدیریت می کند. این کنترلر همچنین می تواند برای پشتیبانی از فرمت های درایو مانند Serial Advanced Technology Attachment و Small Computer System Interface طراحی شود. یک کنترلر RAID فیزیکی نیز می تواند در مادربرد سرور تعبیه شود.
با RAID مبتنی بر نرم افزار، کنترل کننده از منابع سیستم سخت افزاری مانند پردازنده مرکزی و حافظه استفاده می کند. در حالی که عملکردهای مشابه یک کنترلر RAID مبتنی بر سخت افزار را انجام می دهد، کنترل کننده های RAID مبتنی بر نرم افزار ممکن است افزایش عملکرد را فعال نکنند و می توانند بر عملکرد سایر برنامه های کاربردی روی سرور تأثیر بگذارند.
اگر پیادهسازی RAID مبتنی بر نرمافزار با فرآیند راهاندازی سیستم سازگار نیست و کنترلکنندههای RAID مبتنی بر سختافزار بسیار گران هستند، سیستم عامل یا RAID مبتنی بر درایور یک گزینه بالقوه است.
راشه های کنترل کننده RAID مبتنی بر سیستم عامل، بر روی مادربرد قرار دارند و کلیه عملیات ها توسط واحد پردازش مرکزی (CPU) مشابه RAID مبتنی بر نرم افزار؛ انجام می شود. با این حال، با سیستم عامل، سیستم RAID فقط در ابتدای فرآیند بوت اجرا می شود. هنگامی که سیستم عامل بارگیری شد، درایور کنترلر، عملکرد RAID را بر عهده می گیرد. یک کنترلر RAID میانافزار، به اندازه یک گزینه سختافزاری گران نیست، اما فشار بیشتری به CPU کامپیوتر وارد میکند. در واقع RAID مبتنی بر Firmware به نرمافزار مکمل سختافزار، مدل هیبریدی و RAID جعلی نیز گفته میشود.
سطوح RAID
دستگاه های RAID از نسخه های مختلفی استفاده می کنند که سطوح نامیده می شوند. مقاله اصلی که این اصطلاح را ابداع کرد و مفهوم راه اندازی RAID را توسعه داد، شش سطح از RAID را تعریف کرد – 0 تا 5. این سیستم شماره گذاری شده، افراد در فناوری اطلاعات را قادر می ساخت تا نسخه های RAID را متمایز کنند. تعداد سطوح از آن زمان گسترش یافته و به سه دسته تقسیم شده است: سطوح RAID استاندارد، تو در تو و غیر استاندارد.
سطوح استاندارد RAID
RAID 0 . این پیکربندی دارای striping است اما داده های اضافی ندارد. بهترین عملکرد را ارائه می دهد، اما fault tolerance را ارائه نمی دهد.
RAID 1 .
این پیکربندی که به عنوان Disk Mirroring نیز شناخته میشود، از حداقل دو درایو تشکیل شده است که ذخیرهسازی دادهها را کپی میکنند. در نتیجه striping وجود ندارد. عملکرد خواندن بهبود یافته است زیرا هر دیسک را می توان همزمان خواند. عملکرد نوشتن مانند single-disk storage است.
RAID 2 .
این پیکربندی از striping در بین دیسک ها استفاده می کند و برخی از دیسک ها اطلاعات ECC را ذخیره می کنند.
RAID 2 همچنین از یک برابری Hamming code اختصاصی استفاده می کند که شکل خطی ECC است. RAID 2 هیچ مزیتی نسبت به RAID 3 ندارد و دیگر استفاده نمی شود.
RAID 3 .
این تکنیک از striping استفاده می کند و یک درایو را به ذخیره اطلاعات به میزان یکسانی parity ؛ اختصاص می دهد. اطلاعات ECC تعبیه شده برای تشخیص خطاها استفاده می شود. بازیابی اطلاعات با محاسبه اطلاعات انحصاری ثبت شده در درایوهای دیگر انجام می شود. از آنجا که یک عملیات I/O به تمام درایوها به طور همزمان آدرس می دهد، RAID 3 نمی تواند I/O را با هم ،همپوشانی کند. به همین دلیل، RAID 3 برای سیستم های تک کاربره با برنامه های طولانی مدت ؛ بهترین است.
RAID 4 .
این سطح از stripe های بزرگ استفاده می کند، به این معنی که کاربر می تواند سوابق/بایگانی ها را از هر درایو واحد بخواند. سپس Overlapped I/O را می توان برای عملیات خواندن استفاده کرد. از آنجا که تمام عملیات نوشتن برای به روز رسانی درایو parity مورد نیاز است، هیچ تداخلی I/O امکان پذیر نیست.
RAID 5 .
این سطح بر اساس Block-Level Striping یکسان و برابری است. وجود اطلاعات یکسان و برابری در حاشیه هر درایو ، آرایه را قادر می سازد حتی اگر یکی از درایوها از کار بیفتد، کار کند و به فعالیت ادامه دهد. معماری آرایه، عملیات خواندن و نوشتن را قادر می سازد تا چندین درایو را در بر بگیرد. این نتیجه، عملکرد بهتری نسبت به یک درایو دارد، اما نه به اندازه آرایه RAID 0 . به هر حال RAID 5 به حداقل سه دیسک نیاز دارد، اما اغلب توصیه می شود از حداقل پنج دیسک به دلایل عملکردی؛ استفاده کنید.
آرایههای RAID 5 عموماً به دلیل تأثیر عملکرد مرتبط با نوشتن دادههای یکسان و برابر، انتخاب ضعیفی برای استفاده در Write-Intensive Systems هستند. وقتی یک دیسک از کار بیفتد، بازسازی آرایه RAID 5 ممکن است زمان زیادی طول بکشد.
این تکنیک مشابه RAID 5 است، اما شامل یک طرح parity دوم است که در بین درایوهای آرایه؛ توزیع شده است. استفاده از یکسانی و برابری اضافی؛ آرایه را قادر می سازد به عملکرد خود ادامه دهد، حتی اگر دو دیسک به طور همزمان از کار بیفتند. با این حال، این حفاظت اضافی هزینه دارد. آرایههای RAID 6 اغلب عملکرد نوشتن کندتری نسبت به آرایههای RAID 5 دارند.
سطوح RAID تو در تو Nested RAID Levels
برخی از سطوح RAID که مبتنی بر ترکیبی از سطوح RAID هستند به عنوان RAID تودرتو (Nested) نامیده می شوند. در اینجا چند نمونه از سطوح RAID تو در تو (Nested) آورده شده است.
RAID 10 (RAID 1+0) .
این سطح اغلب به عنوان RAID 10 شناخته می شود که با ترکیب RAID 1 و RAID 0 ایجاد میگردد ؛ که عملکرد بالاتری نسبت به RAID 1 ارائه می دهد، اما هزینه بسیار بالاتری دارد. در RAID 1+0 داده ها Mirrored و Mirror ها نیز بصورت striped هستند.
RAID 0+1 مشابه RAID 1+0 است، با این تفاوت که روش سازماندهی داده ها کمی متفاوت است. RAID 0+1 به جای ایجاد یک Mirror و سپس striping آن، یک مجموعه stripe ایجاد می کند و سپس مجموعه stripe را Mirror می کند.
RAID 03 (RAID 0+3 که همچنین به عنوان RAID 53 یا RAID 5+3 شناخته میشود) .
این سطح از striping در سبک RAID 0 برای بلوک های دیسک مجازی RAID 3 استفاده می کند. این وضعیت ، با هزینه بالاتر ؛ کارایی بالاتری نسبت به RAID 3 را ارائه می دهد.
RAID 50 (RAID 5+0) .
این پیکربندی، parity توزیع شده RAID 5 را با RAID 0 striping ترکیب می کند تا عملکرد RAID 5 را بدون کاهش حفاظت از داده ها ؛ بهبود بخشد.
سطوح غیر استاندارد RAID
سطوح RAID غیر استاندارد با سطوح RAID استاندارد متفاوت است و معمولاً توسط شرکت ها یا سازمان ها برای استفاده عمدتاً اختصاصی توسعه داده می شوند. در اینجا چند نمونه آورده شده است.
یک سطح RAID غیر استاندارد مبتنی بر RAID 3 و RAID 4، به سادگی caching را اضافه می کند. این حالت شامل یک سیستم عامل جاسازیشده در زمان واقعی بهعنوان یک کنترلکننده، caching از طریق یک گذرگاه پرسرعت و سایر ویژگیهای یک رایانه مستقل است.
این سطح به کنترلر RAID امکان می دهد تصمیم بگیرد که چگونه parity را روی دیسک ذخیره کند. بین RAID 3 و RAID 5 یکی را انتخاب می کند. انتخاب بستگی به این دارد که چه نوع مجموعه RAID با نوع داده های نوشته شده روی دیسک ها عملکرد بهتری دارد.
این سطح که توسط هسته لینوکس ارائه شده است، از ایجاد آرایه های RAID تو در تو ( Nested ) و غیر استاندارد پشتیبانی می کند. نرم افزار لینوکس RAID همچنین می تواند از ایجاد تنظیمات استاندارد RAID 0، RAID 1، RAID 4، RAID 5 و RAID 6 پشتیبانی کند.
RAID سخت افزاری در مقابل RAID نرم افزاری
همانند کنترلرهای RAID، خوده RAID از طریق سخت افزار یا نرم افزار پیاده سازی می شود. RAID مبتنی بر سخت افزار از پیکربندی های مختلف، RAID پشتیبانی می کند و به ویژه برای RAID 5 و 6 مناسب است. پیکربندی سخت افزار RAID 1 برای پشتیبانی از فرآیند درایو بوت و برنامه های کاربردی خوب است، در حالی که سخت افزار RAID 5 برای آرایه های ذخیره سازی بزرگ مناسب است. هر دو سخت افزار RAID 5 و 6 برای ، عملکرد و کارایی هر چه بهتر ؛ مناسب هستند.
RAID مبتنی بر سخت افزار، نیاز به نصب یک کنترلر اختصاصی در سرور دارد. کنترلرهای RAID در سخت افزار از طریق سیستم ورودی/خروجی اولیه کارت یا Option ROM قبل یا بعد از بوت شدن سیستم عامل پیکربندی می شوند. سازندگان کنترلرهای RAID نیز معمولاً ابزارهای نرم افزاری اختصاصی را برای سیستم عامل های پشتیبانی شده خود ارائه می دهند.
RAID مبتنی بر نرم افزار ، توسط چندین سیستم عامل مدرن ارائه شده است که به روش های مختلفی اجرا می شود، از جمله:
این روش RAID از مقداری از قدرت محاسباتی سیستم برای مدیریت پیکربندی RAID مبتنی بر نرم افزار استفاده می کند. به عنوان مثال، ویندوز از نرم افزار RAID 0، 1 و 5 پشتیبانی می کند، در حالی که macOS اپل از RAID 0، 1 و 1+0 پشتیبانی می کند.
مزایای RAID
از مزایای RAID می توان به موارد زیر اشاره کرد:
معایب استفاده از RAID
با این حال، RAID محدودیت های خود را دارد. برخی از این موارد عبارتند از:
با این حال، سطوح RAID تودرتو ( nested ) با ارائه افزونگی ( redundancy ) بیشتر، این مشکلات را برطرف میکند و به طور قابل توجهی احتمال خرابی در سطح آرایه را به دلیل خرابی همزمان دیسک ؛کاهش میدهد.
چه زمانی باید از RAID استفاده کرد؟
مواردی که در آن راه اندازی RAID مفید است، عبارتند از:
تاریخچه RAID
اصطلاح RAID در سال 1987 توسط دیوید پترسون، رندی کاتز و گارث ای گیبسون ابداع شد. در گزارش فنی خود در سال 1988، ” موردی برای تحقیق بنام RAID ” این سه نفر استدلال کردند که مجموعهای از درایوهای ارزان قیمت میتواند عملکرد برترین درایوهای دیسک گران قیمت آن زمان را شکست دهد. با استفاده از redundancy ، یک آرایه، RAID می تواند قابل اعتمادتر از هر دیسک درایوی باشد.
در حالی که این گزارش اولین گزارشی بود که نامی برای این مفهوم گذاشت، استفاده از دیسک های اضافی قبلاً توسط دیگران مورد بحث قرار گرفته بود. دو نفر از متخصصان این حوزه با نامهای Gus German و Ted Grunau از شرکت Geac Computer ؛ برای اولین بار این ایده را با نام MF-100 معرفی کردند. یکی از متخصصین شرکت IBM به نام Ken Ouchi در سال 1977 یک حق اختراع برای این فناوری به ثبت رساند که بعداً RAID 4 نام گرفت. در سال 1983، شرکت Digital Equipment Corp. درایوهایی را که تبدیل به RAID 1 می شدند، ارائه کرد و در سال 1986، یک حق اختراع دیگر IBM برای آنچه که RAID 5 نامیده می شد ؛ ثبت شد.
پترسون، کاتز و گیبسون برای تعریف طبقه بندی RAID خود، به کارهایی که توسط شرکت هایی مانند Tandem Computers، Thinking Machines و Maxstor انجام می شد؛ نیز توجه کردند.
در حالی که سطوح RAID فهرست شده در گزارش 1988 اساساً نام فناوری هایی را که قبلاً مورد استفاده قرار می گرفتند را مورد توجه قرار می داد، اما ایجاد اصطلاحات رایج برای این مفهوم، به تحریک بازار ذخیره سازی داده ها برای توسعه محصولات آرایه RAID بیشتر کمک کرد.
به گفته کاتز، اصطلاح inexpensive ( کم خرج ، معقول ، بصرفه ) در کاربرد و کاربری ؛ به زودی توسط فروشندگان صنعتی جایگزین اصطلاح independent ( مستقل ،خود مختار،داراى قدرت مطلقه ) ، به دلیل پیامدهای هزینه های پایین ؛ خواهد شد.
آینده RAID
RAID کاملاً ” منسوخ/بدون بهره وری ” نیست، اما بسیاری از تحلیلگران می گویند که این فناوری در سال های اخیر منسوخ شده است. جایگزینهایی مانند Erasure Coding حفاظت بهتری از دادهها را ارائه میکنند – البته با قیمت بالاتر – و با هدف رفع نقاط ضعف RAID توسعه یافتهاند. با افزایش ظرفیت درایو، احتمال خطا با آرایه RAID نیز افزایش می یابد و ظرفیت ها به طور مداوم افزایش می یابد.
ظهور SSD ها همچنین به عنوان کاهش نیاز به RAID در نظر گرفته می شود. SSD ها قطعات متحرک ندارند و به اندازه هارد دیسک خراب نمی شوند. آرایه های SSD اغلب از تکنیک هایی مانند Wear Leveling به جای تکیه بر RAID برای محافظت از داده ها استفاده می کنند.
SSD های مدرن به اندازه کافی سریع هستند بطوری که سرورهای مدرن ممکن است به افزایش عملکرد جزئی که RAID ارائه می دهد نیاز نداشته باشند. با این حال، در حال حاضر هنوز هم ممکن است برای جلوگیری از اتلاف داده ها استفاده شود.
همچنین Hyperscale Computing نیز با استفاده از سرورهای اضافی به جای درایوهای اضافی، نیاز به RAID را از بین می برد.
با این حال، RAID بخشی ریشهدار از ذخیرهسازی دادهها است و فروشندگان بزرگ فناوری همچنان به انتشار محصولات RAID ادامه میدهند. مثلا :
https://www.techtarget.com/searchstorage/definition/RAID
گرد آوری ، ترجمه و تنظیم : ” بهشاد ابرقوئیان “
#تکباکس_آی_آر #تکباکس_آی_آر #ذخیره_ساز #سرور #تجهیزات_شبکه #ورک_استیشن #اس_اس_دی
#techboxir #techboxiran #server #storage #raid #draid #ibm #dell #redundant # redundancy #Hyperscalecomputing #uptime #cache #mirroring #striping #ssd