آشنایی با تکنولوژی RAID

رضا فرخندگان ۲۵ دی ۱۳۹۷ ۰ دیدگاه

هدف ما از این مقاله آشنایی با تکنولوژی RAID است. از تکنولوژی RAID باید در تمامی سرورها استفاده شود. مدیران سرور باید همواره وضعیت RAID را مانیتور کرده و به هشدارهای آن اهمیت دهند. اما تکنولوژی یا مکانیسم RAID چیست؟ RAID چه کاربردی در سرور دارد؟ انواع RAID چیست؟ این سؤالاتی است که برای خیلی از ما ممکن است به وجود بیایند. پس با ما همراه باشید تا به این سؤالات پاسخ دهیم.

تکنولوژی RAID چیست؟

RAID مخفف عبارت redundant array of independent disks بوده و معنی آن آرایه‌های افزونه از دیسک‌های مستقل است. RAID در حقیقت روشی برای ذخیره‌ی داده‌های یکسان در نقاط مختلفی از چندین هارد دیسک است. این تکنولوژی از داده‌ها و اطلاعات شما محافظت می‌کند.

آشنایی با تکنولوژی RAID

تاریخچه RAID

اصطلاح RAID اولین بار در سال ۱۹۸۷ میلادی توسط David Patterson و همکارانش مطرح شد.

 آن‌ها استدلال کردند که با استفاده از این مکانیسم، مجموعه‌ای از درایوهای ارزان‌قیمت می‌توانند عملکرد یک هارد دیسک گران‌قیمت را انجام دهند. با استفاده از افزونگی، آرایه‌ی RAID می‌تواند از هر دیسک درایوی قابل‌اعتمادتر باشد. 

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

این امر باعث شد تا بعداً محققین تمرکز خود را بر این موضوع گذاشته و بتوانند انواع مختلفی از این تکنولوژی را  به بازار عرضه کنند. 

مکانیسم RAID یک دستاورد بسیار ارزشمند در حوزه‌ی اینترنت و به‌خصوص حفاظت از اطلاعات است که امروزه در سراسر جهان از آن استفاده می‌شود. 

عملکرد RAID

خوب بیایید ببینیم RAID چگونه کار می‌کند؟ مکانیسم RAID با قرار دادن داده‌ها بر روی چند دیسک و اجازه دادن به عملیات ورودی / خروجی به‌منظور بهبود عملکرد کار می‌کند. ذخیره شدن داده‌ها بر روی چند دیسک باعث می‌شود تا امکان از دست رفتن داده‌ها و همچنین زمان دسترسی به داده‌ها کاهش بیابد.

عملکرد RAID

آرایه‌های RAID در سیستم‌عامل به‌عنوان یک هارد دیسک نمایان می‌شوند. RAID از تکنولوژی کپی دیسک یا Mirroring  و همچنین striping استفاده می‌کند. بدین ترتیب داده‌های یکسان بر روی چند درایو کپی می‌شوند. تکنولوژی striping فضای ذخیره‌سازی هر درایو را به واحدهای مختلف از یک بخش (۵۱۲ بایت) تا چندین مگابایت تقسیم می‌کند. سپس داده‌ها را بر روی این بخش‌ها کپی می‌کند. stripe همه‌ی دیسک‌ها به‌صورت جداگانه و به‌صورت مرتب مشخص می‌شوند.

در یک سیستم تک کاربر که رکوردهای حجیمی مانند عکس‌های علمی در آن ذخیره ‌شده‌اند، stripeها به‌ بخش‌های کوچک (مثلاً ۵۱۲ بایت) تقسیم می‌شوند. بدین ترتیب یک رکورد تمام دیسک‌ها را پوشش می‌دهد و با خواندن همه‌ی دیسک‌ها به‌سرعت در دسترس خواهد بود.

در یک سیستم چند کاربر، عملکرد بهتر مستلزم این است که stripe را به‌اندازه‌ی کافی گسترش دهید تا بتوانید حداکثر اندازه‌ی رکورد را داشته باشید.

Mirroring  و striping می‌توانند در یک آرایه‌ RAID باهم ترکیب شوند.

کنترل کننده RAID یا RAID controller

از کنترل‌کننده‌ RAID می‌توان به‌عنوان رابطی بین سیستم‌عامل و دیسک‌های فیزیکی استفاده کرد. کنترل‌کننده RAID می‌تواند عملکرد را بهبود بخشد و به حفاظت از داده‌ها در صورت ایجاد حادثه کمک کند.

کنترل‌کننده RAID می‌تواند در انواع آرایه‌های RAID سخت‌افزاری و نرم‌افزاری به کار گرفته شود. در RAID سخت‌افزاری، یک کنترل‌کننده فیزیکی آرایه را مدیریت می‌کند. RAID سخت‌افزاری دیسک‌هایی را با فرمت‌هایی نظیر SATA و SCSI پشتیبانی می‌کند. البته یک کنترل‌کننده فیزیکی RAID می‌تواند قسمتی از motherboard هم باشد.

در کنترل‌کننده نرم‌افزاری RAID، کنترل‌کننده از منابع سخت‌افزاری سیستم استفاده می‌کند. درحالی‌که نقش کنترل‌کننده‌ نرم‌افزاری همانند کنترل‌کننده سخت‌افزاری است، اما کارایی آن را ندارد.

آشنایی با تکنولوژی RAID

سطوح RAID

در سال ۱۹۸۸ محققین ۶ سطح از RAID را از ۰ تا ۵ تعریف کردند. این شماره‌گذاری به محققین اجازه می‌‌دهد تا تفاوت بین ورژن‌ها را تشخیص داده و نحوه‌ی افزونگی و انتشار داده‌ها را از طریق آرایه مشخص کنند. امروزه این سطوح توسعه پیدا کرده‌اند و به سه دسته‌ی استاندارد، تودرتو (nested) و سطوح غیراستاندارد RAID تقسیم شده‌اند.

سطوح RAID استاندارد

RAID 0

 این پیکربندی دارای striping است اما هیچ افزونگی اطلاعاتی ندارد. این RAID بهترین عملکرد را ارائه می‌دهد، اما در هنگام حادثه ایراداتی دارد.

RAID 1

این سطح را با نام Disk mirroring هم می‌شناسند. پیکربندی آن شامل حداقل ۲ درایو است که داده‌ها در آن‌ها ذخیره می‌شوند. در این حالت striping وجود ندارد. عملکرد خواندن داده‌ها بهبود می‌یابد چون دیسک‌ها می‌توانند هم‌زمان خوانده شوند. عملکرد نوشتن داده‌ها هم مانند حالت تک دیسکی است.

RAID 2

پیکربندی این سطح از striping استفاده می‌کند که برخی از دیسک‌ها نقص‌های احتمالی را بررسی کرده و اطلاعات را تصحیح می‌کنند. البته این سطح دیگر مورد استفاده قرار نمی‌گیرد.

RAID 3

این تکنیک از striping استفاده کرده و یک درایو را به ذخیره‌ی اطلاعات همسان اختصاص می‌دهد. اطلاعات embedded ECC، برای یافتن خطاها استفاده می‌شوند. بازیابی داده‌ها از طریق محاسبه‌ی اطلاعات ثبت شده در درایوهای دیگر انجام می‌پذیرد. ازآنجایی‌که سیستم ورودی / خروجی تمام درایوها را در یک‌زمان در اختیار دارد، RAID 3 نمی‌تواند با ورودی / خروجی همپوشانی داشته باشد. به همین دلیل RAID 3 برای سیستم‌های تک کاربر با رکوردهای طولانی‌مدت بسیار مناسب است.

RAID 3

RAID 4

این سطح از stripe های بزرگ استفاده می‌کند. بدین معنی که شما می‌توانید هر رکوردی را از هر درایوی بخوانید. این امر به شما کمک می‌‎کند تا بتوانید از همپوشانی ورودی / خروجی برای خواندن تمام عملیات استفاده کنید. RAID 4 هیچ برتری نسبت به RAID 5 ندارد.

RAID 5

سطح پنجم مبتنی بر block-level striping همراه با یکسان‌سازی است. اطلاعات یکسان در هر درایو stripe می‌شوند. این امر باعث می‌شود تا آرایه حتی اگر یکی از درایوها متوقف شود، به کار خود ادامه دهد. معماری آرایه در این حالت در تمام درایوها عملیات نوشتن و خواندن را انجام می‌دهد. عملکرد RAID 5 بالاتر از حالت‌های تک درایوی است، اما همچنان عملکرد RAID 0 از بقیه بالاتر است. RAID 5 به حداقل ۳ دیسک نیاز دارد، اما برای بهبود عملکرد توصیه می‌شود حداقل از ۵ دیسک استفاده کنید.

ازآنجایی‌که عملکرد این سطح تحت تأثیر نوشتن اطلاعات یکسان بر روی چند درایو است، برای سیستم‌هایی که اطلاعاتشان فشرده هستند، گزینه‌ای ضعیف محسوب می‌شود. زمانی که یکی از درایوها دچار مشکل می‌شود، بازسازی مجدد RAID 5 ممکن است مقداری طول بکشد. همین باعث می‌شود تا آرایه در زمان بازسازی مجدد آسیب‌پذیر باشد.

RAID 6

این سطح به لحاظ تکنیکی مانند RAID 5 است، اما حاوی یک طرح یکسان‌سازی ثانویه بوده که در تمامی درایوها توزیع شده است. استفاده از این طرح به آرایه اجازه می‌دهد حتی اگر هم‌زمان ۲ دیسک با مشکل مواجه شدند، بازهم به کار خود ادامه دهد. البته توجه داشته باشید که این طرح ثانویه با هزینه همراه است. آرایه‌های RAID 6 نسبت به RAID 5 هزینه‌های بیشتری دارند و عملکرد نوشتن آن‌ها پایین‌تر است.

سطوح RAID تودرتو یا Nested

برخی از سطوح RAID با نام تودرتو یا سطوح Nested معروف هستند. دلیل آن است که این سطوح از ترکیب سطوح قبلی به وجود می‌آیند. در این قسمت به برخی از این سطوح اشاره می‌کنیم.

(RAID 10 (RAID 1+0

این سطح ترکیبی از RAID 1 و RAID 0 است. به همین دلیل به سطح RAID 10 معروف شده است. عملکرد این سطح به‌مراتب از RAID 1 بالاتر است، اما متعاقباً هزینه‌های آن‌هم بیشتر است. در این سطح داده‌ها mirror می‌شوند و سپس stripe می‌شوند.

RAID 10
(RAID 01 (RAID 0+1

سطح RAID 0+1 مانند RAID 1+0 است، با این تفاوت که روش سازمان‌دهی داده‌ها مقداری تفاوت دارد. به‌جای ایجاد یک mirror و سپس stripe کردن آن، در این سطح ابتدا داده‌ها stripe شده و پس‌ازآن mirror می‌شوند.

(RAID 03 (RAID 0+3

این سطح با نام RAID 53 یا RAID 5+3 هم معروف است. این سطح از stripe سبک RAID 0 برای بلوک‌های مجازی دیسک RAID 3 استفاده می‌کند. همین باعث می‌شود تا عملکرد این سطح نسبت به RAID 3 بالاتر باشد، اما هزینه‌های آن مقداری بیشتر خواهد شد.

(RAID 50 (RAID 5+0

این سطح توزیع همسان RAID 5 را با استریپ RAID 0 ترکیب می‌کند تا عملکرد RAID 5 را بهبود بخشد. در این سطح علاوه بر بالا رفتن عملکرد، مکانیسم حفاظت از داده‌ها هم اصلاً کاهش پیدا نمی‌کند.

 

سطوح RAID غیر استاندارد

RAID 7

این سطح مبتنی بر RAID 3 و RAID 4 است. با این تفاوت که سیستم caching به آن اضافه شده است. این سطح شامل یک کنترل‌کننده با نام real-time embedded OS، سیستم caching سرعت بالا و جزئیات دیگری است.

Adaptive RAID  

این سطح به کنترل‌کننده RAID اجازه می‌دهد تا مشخص ‌کند که چگونه داده‌ها را بر روی دیسک ذخیره کند. کنترل‌کننده از میان RAID 3 و RAID 5 یکی را انتخاب می‎‌کند؛ بسته به اینکه کدام RAID عملکرد بهتری نسبت به نوع داده‌ای که باید نوشته شود، دارد.

RAID S

یک روش جایگزین و اختصاصی برای همسان‌سازی RAID از EMC Symmetrix است که دیگر مورد استفاده در تجهیزات فعلی نیست. این روش شبیه سطح RAID 5 بوده که عملکرد آن مقداری بهبود یافته است.

Linux MD RAID 10

این سطح توسط کرنل لینوکس تولیدشده و ایجاد آرایه‌های RAID غیراستاندارد و تودرتو را پشتیبانی می‌کند. همچنین نرم‌افزار RAID لینوکس می‌تواند از ایجاد آرایه‌های استاندارد RAID 0، RAID 1، RAID 4، RAID 5 و RAID 6 پشتیبانی کند.

 

مزایای استفاده از تکنولوژی RAID

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

مزایای استفاده از تکنولوژی RAID

در RAID 0 فایل‌ها تقسیم شده و در قالب یک فایل در درایوهایی توزیع می‌شوند که با همدیگر کار می‌کنند. به همین دلیل سرعت خواندن و نوشتن نسبت به یک تک درایو بالاتر می‌رود. آرایه‌های RAID 5 داده‌ها را به چند قسمت تقسیم می‌کنند و یک درایو دیگر را به همسان‌سازی اختصاص می‌دهد. اگر درایو اصلی دچار مشکل شود، این درایو همسان‌‌سازی می‌تواند علت را متوجه شود. همین امر باعث می‌شود که قابلیت در دسترس بودن داده‌ها افزایش پیدا کند.

با قابلیت mirroring، آرایه‌های RAID می‌توانند شامل ۲ درایو با داده‌های یکسان باشند. بدین ترتیب اگر یکی از درایوها با مشکلی مواجه شد، درایو دیگر به کار خود ادامه خواهد داد.

جنبه‌های منفی استفاده از تکنولوژی RAID

هزینه‌های سطوح RAID تودرتو نسبت به سطوح RAID سنتی بیشتر است؛ چون به تعداد دیسک بیشتری نیاز دارند. البته این RAID علی‌رغم هزینه‌هایش از محبوبیت بالایی برخوردار است؛ زیرا برخی از مشکلات قابلیت اطمینان در RAID استاندارد در آن رفع شده‌اند.

درایو‌های ذخیره‌ی اطلاعات در یک‌زمان باید نصب شوند. بدین معنی که عمر آن‌ها تقریباً برابر خواهد بود. یکی از مشکلات احتمالی این است که اگر یکی از درایوها با مشکلی مواجه شود، پس احتمالاً درایو‌های دیگر هم به‌زودی با همین مشکل مواجه خواهند شد.

برخی از سطوح RAID مانند RAID 5 و RAID 1 فقط می‌توانند شکست یک درایو را متحمل شوند و اگر درایو دیگر هم با مشکل مواجه شود، ممکن است داده‌ها از دست بروند. البته برخی از ورژن‌های RAID 1 شامل چند mirror شده که بدین ترتیب قابلیت تحمل چند حادثه را خواهد داشت.

 

جنبه‌های منفی استفاده از تکنولوژی RAID

یکی از مشکل‌های رایج این سطحوح این است که اگر یکی از دیسک‌ها با مشکلی مواجه شود، آرایه‌ی RAID و اطلاعات آن در مکانی آسیب‌پذیر باقی می‌مانند تا دیسک مذکور جایگزین شده و اطلاعات بر روی آن مجدداً بارگذاری شوند. ازآنجایی‌که تمام اطلاعات بر روی یک دیسک ذخیره می‌شوند، کپی داده‌ها بر روی دیسک جدید مدت‌زمان زیادی ممکن است طول بکشد. این زمان طولانی ممکن است باعث شود که دیسک دوم هم در حین کپی کردن داده‌ها با مشکل مواجه شود. چون اگر در داده‌ها مشکل عدم خوانایی (unreadable data) وجود داشته باشد یا دیسک bad sector داشته باشد، خود را نشان می‌دهد.

البته این مشکلات در سطوح RAID تودرتو یا Nested رفع شده است.

نتیجه‌گیری

در این مقاله سعی کردیم تا حد ممکن با تکنولوژی RAID آشنا شده، عملکرد، انواع سطوح، مزایا و معایب استفاده از آن را توضیح دهیم. در پایان باید بگوییم که مزایای استفاده از RAID به‌مراتب بیشتر از معایب آن بوده و بهتر است تمام سرورها از این مکانیسم استفاده کنند.

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

آشنایی با تکنولوژی RAID
فناوران شبکه سینداد (آهنگ نوآوری)

سینداد یعنی هدیه‌ی سیمرغ، یا فرزند سیمرغ؛ به عبارتی یعنی خود سیمرغ، با همه ی شگفتی هایش، اما جوانتر و سرزنده تر. و این چیزی است که ما سعی می کنیم در سینداد باشیم. از سال ۱۳۸۵ دانش مان را به صورت خدماتی در حوزه ی هاستینگ، شبکه و تولید نرم افزار در اختیار مشتریان مان قرار داده ایم و به این افتخار می کنیم که تک تک آنها تا به امروز همراه ما مانده اند. باور داریم که سینداد صرفاً یک شرکت نیست، بلکه نوعی باور است به ارائه ی شگفت انگیز از هر چیز.