فناوری RAID و سطوح استاندارد آن

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

تکنولوژي Raid یا همان آرایه مستقل از دیسک یک راهکار برای ذخیره سازی داده های مشابه در بخش های مختلف بر روی چند هارد دیسک یا دیسک های ذخیره سازی SSD است تا در هنگام خرابی بخش هایی از درایو ذخیره ساز، از داده ها محافظت شود.(برای کسب اطلاعات بیشتر به ویکی پدیا مراجعه کنید)

فناوری Raid با قراردهی داده های مورد نیاز برنامه های کاربردی و اپلیکیشن ها بر روی چندین هارد دیسک مختلف، اجازه می دهد تا عملیات های ورودی و خروجی با یکدیگر همپوشانی داشته و باعث بهبود عملکرد کامپیوتر صنعتی (IPC) می شوند. همچنین افزونگی ذخیره سازی داده(Redundant data Storage) باعث می شود تا کامپیوتر صنعتی (IPC) به یک سیستم با قابلیت پذیرش خطا در ذخیره سازی داده تبدیل شود.

What-is-RAID

عملکرد فناوری Raid بعد از اتصال فیزیکی چند درایو فیزیکی و ترکیب آن ها بدین گونه است که برای سیستم عامل به عنوان یک درایو منطقی (Logical Drive) شناخته می شود. Raid از تکنیک های Disk Mirroring یا Disk Striping برای ذخیره سازی داده ها استفاده می کند.

این دو تکنیک بدین شکل تعریف می شوند:

فرایند mirroring داده های یکسان را در بیش از یک درایو به صورت همزمان ذخیره می نماید و فرایند disk striping بدنه داده را به چند بخش تقسیم کرده و آن ها را در دیسک های مختلف ذخیره سازی می کند. disk mirroring یا disk striping می توانند در یک آرایه Raid به صورت ترکیبی به کار بروند.

سرعت ذخیره سازی داده یا میزان کارایی و تحمل پذیری در برابر خرابی وابسته به نوع پیاده سازی Raid متفاوت می باشد.

RAID-Technology-Network

کنترل کننده Raid:

کنترل کننده Raid یک دستگاه است که برای مدیریت درایو های دیسک سخت استفاده می شود و به عنوان یک لایه مابین سیستم عامل و درایو های دیسک سخت شناخته می شود که منجر به تبدیل این درایوها به یک درایو منطقی قابل فهم برای سیستم عامل می باشد.

کنترل کننده Raid در صورت استفاده باعث افزایش کارایی و حفاظت از داده ها در هنگام خرابی سیستم کامپیوتر صنعتی (IPC) می شود. شرکت ادونتک (Advantech) سازنده انواع مادربرد صنعتی و سرور برد صنعتی می باشد که مجهز به تکنولوژی Raid هستند. کامپیوتر های صنعتی شرکت ادونتک (Advantech) به دو صورت از این کنترل کننده پشتیبانی می کنند.

RAID-In-industrial-Pcs

کنترل کننده Raid مبتنی بر دو حالت سخت افزاری یا نرم افزاری است که کنترل کننده سخت افزاری به عنوان یک کنترل کننده فیزیکی، آرایه را مدیریت می کند و می تواند در مادربورد های صنعتی نیز تعبیه شده باشد.

با استفاده از کنترل کننده Raid مبتنی بر نرم افزار، کنترل کننده از منابع سخت افزاری سیستم مثل پردازنده و رم استفاده می کند. این کنترل کننده ها بر عملکرد دیگر بخش ها نیز تاثیر می گذارند. ولی کنترل کننده های سخت افزاری باعث افزایش کارایی می شوند.

انواع سطوح Raid:

Raid سطوح مختلفی را شامل می شود که به صورت استاندارد از 0 تا 5 نامگذاری شده است. این نامگذاری به متخصصین در تفکیک این سطوح کمک می کند.هر کدام از این سطوح از ویژگی های خاص خود برخوردار هستند. Performance و Redundancy دو عامل مهم در تعیین سطح Raid مورد نیاز می باشند.

در ادامه به بررسی سطوح استاندارد Raid می پردازیم:

سطوح استاندارد Raid:

Raid0:

این استاندارد بهترین عملکرد و کارایی را دارد اما تحمل پذیری خطا و Redundancy را شامل نمی شود و برای اموری به کار برده می شود که به سرعت بالا نیاز داشته و از اهمیت پایین برخوردار هستند. این استاندارد بدنه داده را به بخش های مختلفی تقسیم کرده و طبق شکل زیر آن ها را جانمایی می کند. حداقل دو دیسک سخت برای این Raid مورد نیاز است.

RAID0

Raid1:

پیکربندی این استاندارد مطابق disk mirroring است، بدین صورت که یک کپی از داده گرفته می شود و در دیسک ها ذخیره می شود. حداقل دو دیسک برای این استاندارد مورد نیاز است. کارایی در هنگام خواندن این سطح بالا است زیرا همزمان می تواند از دو دیسک بخواند اما در هنگام نوشتن باید یک داده را همزمان بر روی دو هارد دیسک ذخیره سازی نماید.

از مزایای این سطح از Raid می توان به Redundancy آن اشاره نمود که در هنگام از دست رفتن تا نیمی از هارد دیسک ها همچنان داده ها موجود هستند. دیگر مزیت آن سرعت بسیار بالای آن برای کاربران می باشد زیرا خواندن اطلاعات به صورت همزمان از چند دیسک این مزیت را ایجاد می نماید.
مهمترین و اصلی ترین عیب این روش آن است که یک روش پر هزینه به حساب می آید و نیمی از فضای ذخیره سازی از بین می رود.

Raid2:

این سطح از Raid دارای پیکربندی Striping است که بدنه داده را به چند بخش تقسیم نموده و هر کدام را در یک فضای ذخیره سازی دیسک سخت ذخیره می کند. این استاندارد در بخش بزرگی از دیسک ها داده را ذخیره و دیگر دیسک ها را برای ذخیره سازی اطلاعات ECC یا Error Checking and Correcting استفاده می کند و برای تامین امنیت داده های ذخیره شده از تکنینک ECC استفاده می نماید.
Error Checking and Correcting به معنای این است که فناوری Raid این قابلیت را دارد که با ذخیره سازی یک بخشی از اطلاعات اضافه در صورت بروز مشکل در ذخیره اطلاعات، مشکل را شناسایی و رفع می کند.

Raid3:

این روش از سطح بندی Raid از رویکرد Striping برای ذخیره سازی داده ها بر بستر دیسک های سخت یا SSD ها استفاده می کند. بدین صورت که برای نمونه از 4 دیسک موجود,سه دستگاه ذخیره ساز را برای ذخیره سازی داده و دیگری را برای ذخیره سازی اطلاعات Parity استفاده می کند.اطلاعات ECC برای تشخیص خطا و تصحیح آن به کار می روند.
این سطح از Raid نمی تواند پاسخگوی خیلی از کاربردها باشد. عملیات های ورودی و خروجی سیستم اگر بیش از یک عملیات باشد این سیستم به مشکل برخورد می کند. زیرا داده های یک بلوک در دیسک های مجزا ذخیره شده اند و اطلاعات Parity نیز در یک هارد جداگانه قرار گرفته است. پس Raid3 نمی تواند به صورت همپوشانی عملیات های ورودی و خروجی داشته باشد و این به معنای آن است که برای سیستم های تک کاربره طراحی شده است.

Raid4:

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

Raid5:

این استاندارد دارای Parity Block-Level Striping می باشد. بدینصورت که داده را به بخش های برابر تقسیم می کند و در هر دیسک ذخیره ساز یک بخش از‌ آن را قرار می دهد و هر دیسک میزبان یک بخش از Parity می باشد و دیگر نیازی نیست تا برای اطلاعات Parity یک دیسک ذخیره سازی جداگانه در نظر بگیریم. این استاندارد با خرابی یک درایو ذخیره ساز می تواند به کار خود ادامه دهد. معماری طراحی شده برای Raid5 به گونه ای است که این امکان را به ما می دهد تا همزمان بتوانیم عملیات خواندن و نوشتن را در چند درایو انجام دهیم و کارایی قابل قبولی نیز دارد اما این کارایی هرگز توانایی Raid0 را ندارد.

Raid5 حداقل برای کارکرد به 3 دیسک ذخیره سازی و حداکثر 32 دیسک نیازمند است. هنگام شروع داده ها را در دیسک اول و دوم ذخیره کرده و سپس Parity آن را در دیسک سوم ذخیره می نماید و برای دورهای بعد این اتفاق را به صورت چرخشی رقم می زند و Parity را در دیسک دوم و اول نیز قرار می دهد. عملا در این معماری، فضای ذخیره سازی یک دیسک از بین می رود و در هنکام خرابی یک هارد، سیستم می تواند به مسیر خود برای انجام فعالیت ادامه دهد.
این استاندارد به وفور در کامپیوتر های صنعتی و سیستم هایی که با ذخیره سازی مرتبط هستند، استفاده می شود. سرعت و قابلیت اطمینان این معماری از دیگر مزیت های آن به شمار می رود. ناگفته نماند به دلیل تولید اطلاعات Parity و اتلاف زمان برای آن، این معماری برای پایگاه داده هایی با استفاده بسیار بالا مثل SQL مناسب نمی باشد اما قابلیت پشتیبانی خوبی برای فایل سرورها دارد.

Raid6:

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


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

Raid10:

از پرکاربرد ترین معماری های Raid تو در تو می توان Raid 10 را نام برد. این معماری ترکیبی از Raid1 و Raid0 می باشد که کارایی بالاتری از Raid1 در قبال هزینه بالاتر ارایه می دهد. زیرا به حداقل 4 عدد هارد دیسک برای پیاده سازی آن نیازمند هستیم. در این معماری قابلیت Mirror سطح Raid 1 با قابلیت Striping در Raid 0 با هم ترکیب می شوند.

فرم استخدام