این صفحه را با دوستانتان به اشتراک بگزارید :

Raid بندی چیست ؟

به مجموعه ای از هاردها که با الگوریتم ها و روش های خاصی یک دیتا را ذخیره می کنند ، Raid بندی هارد می گویند .

هدف از Raid بندی هارد ها چیست ؟

  1. امنیت دیتا یا همان تحمل خطا (Fault tolerance)
  2. افزایش سرعت Read/Write و در نتیجه افزایش Performance
raid چیست و هدف آن چه می باشد

انواع RAID بندی :

۱ – رید بندی نرم افزاری :

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

معایب : چون در این روش خود سیستم عامل وظیفه اجرا و مدیریت RAID ها را بر عهده دارد
طبیعتا به دلیل استفاده از منابع سیستم ( رم ، سی پی یو ) باعث کندی و کاهش کارایی می شود ،
که البته این کاهش کارایی تا حد زیادی به نوع RAID که استفاده می کنیم هم بستگی دارد.

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

۲ – سخت افزاری :

نیاز به تهیه یک قطعه سخت افزاری مجزا به نام RAID Controller داریم تا کار ایجاد و مدیریت RAID را برایمان انجام دهد.
البته این Controller های سخت افزاری معمولا روی سرورهای سخت افزاری وجود دارد ؛
به عنوان مثال سرورهای شرکت HP برای خود یک کنترلر دارند ( بسته به نوع نیاز شما که چه Raid ای را می خواهید پیاده کنید قابل تغییر می باشد ) ،
که بعضاً با استفاده از نرم افزاری به نام HP Smart Start در Boot سیستم ؛
و حتی قبل از نصب سیستم عامل راه اندای می شوند.

مزایا : RAID های سخت افزاری قابل اعتماد تر از RAID های نرم افزاری هستند ؛
و وابستگی به نرم افزار یا همان سیستم عامل ندارند.
در روش نرم افزاری ابتدا نیاز به نصب سیستم عامل و در گام بعد راه اندازی RAID هست ،
ولی در سخت افزاری قبل از راه اندازی سیستم عامل میتوان RAID ایجاد نمود.
در سخت افزاری چون خود ریدکنترلر ( به وسیله منابع پردازشی که دارد ) امور مربوط به RAID و نحوه تقسیم دیتا را برعهده دارد طبیعتا سیستم عامل و منابع سیستم را درگیر نمی کند و در نتیجه باعث کاهش کارایی سیستم نمی شود.

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

معماری Raid بندی :

در نوع سخت افزاری وقتی RAID انجام می دهیم در نهایت خروجی به عنوان یک Disk به سیستم عامل معرفی می شود ؛
و سیستم عامل یک دیسک می بیند که عملیات پارتیشن بندی را روی این دیسک انجام می دهد و برای نوشتن دیتایش را تحویل کنترلر داده و بقیه امور توسط کنترلر انجام می شود.
اگر تنظیمات Disk Management در سیستم عامل را ببینید این قضیه را مشاهده خواهید کرد.

Storage Controller : چیپستی که روی مادربرد pc ها قرار دارد و با اتصال هارد ها به این چیپست امکان استفاده از هاردها فراهم می شود. به نوعی واسط بین هارد و سیستم عامل است.

انواع Raid بندی

Raid 0

raid بندی در این نوع با نام striped volume هم شناخته می شود .
در اینجا حد اقل نیاز به دو عدد دیسک داریم .
اگر تعداد دیسک ها را n در نظر بگیریم در این روش وقتی دیتایی به دست RAID Controller می رسد آن را به n قسمت تقسیم می کند و هر قسمت را داخل یک دیسک ذخیره می کند.

مزایا : سرعت بسیار بالایی دارد این RAID به Crazy raid معروف است.

معایب : اصلا تحمل خطا ندارد یعنی این که اگر یک دیسک Fail شود کل دیتا ناقص میشود.

کاربرد : در جایی که به سرعت بالا نیاز داریم و ماندگاری دیتا برایمان اهمیتی ندارد مثلا در Cache server ها و در محیط تست و لابراتور های آموزشی.

سوال : چرا در RAID 0 اگر حتی یک دیسک از بین برود کل دیتا تحت تاثیر قرار می گیرد و قابل استفاده نمی باشد؟

جواب : این سوال را با یک مثال پاسخ می دهیم .
در زمان فرمت volume قسمتی به نام Allocation unit size داریم مقداری که در اینجا تعریف می کنیم ،
مثلا ۶۴k سیستم عامل برای ذخیره سازی دیتا روی این volume دیتا را به تکه های ۶۴ تایی تقسیم و تحویل کنترلر می دهد.

نحوه ذخیره سازی اطلاعات در Raid 0 :

حالا فرض کنید فایل a.mp3 با حجم ۱۲۸k را میخ واهیم روی دیسک ذخیره نمائیم ،
سیستم عامل این فایل را به دو تکه ۶۴ تایی تقسیم می کند ( به این تکه ها بلاک می گوئیم ) به نام فرضی A1 , A2 و به کنترلر تحویل می دهد ،
حالا خود کنترلر طبق مکانیسم هایی که دارد هر کدام از این A1 , A2 را به n قسمت تقسیم کرده و هر قسمت را روی یک دیسک می نویسد ؛
مثلا اگر دو دیسک داشته باشیم A1-1 , A2-1 روی دیسک اول و A1-2 , A2-2 هم روی دیسک دوم.
پس کنترلر عملیات تقسیم را به ازای هر بلاک انجام میدهد از این رو اگر دیسکی از بین برود تمامی فایلها قسمتی از بلاک هایشان را از دست داده اند.
بهتر است در انتخاب تعداد دیسک هد در RAID 0 طبق قاعده باینری عمل کنیم مثلا ۲ , ۴ , ۸ ,۱۶ … این کار باعث افزایش کارایی خواهد شد.

NameMin HDDMax HDDCapacitySpeed
Read / Write
( rpm )
Fault Tolerance
Raid 0۲
DOC
( Depend on Contriller )
n برابرn برابرندارد
مانایی

Raid 1

در این نوع نیاز به دو عدد دیسک داریم .
دیتا به صورت mirror دقیقا روی هر دو دیسک نوشته می شوند .
بنابراین سرعت نوشتن کم می شود .
این نوع Raid‌ بندی بهترین انتخاب برای نصب سیستم عامل است .

در این نوع نیاز به دو عدد دیسک داریم دیتا به صورت mirror دقیقا روی هر دو دیسک نوشته میشوند بنابراین سرعت نوشتن کم میشود.این نوع بهترین برای نصب سیستم عامل است.
NameMin HDDMax HDDCapacitySpeed
Read / Write
( rpm )
Fault Tolerance
Raid 1۲
۲n / 2سرعت خواندن : ۲ برابر

سرعت نوشتن : ۱ برابر

۱ هارد

Raid 5

در این raid بندی هارد ، Raid 5 برای جبران معایب صفر و یک ساخته شد.
مکانیسم عملکرد raid 5 چیست :
کنترلر دیتا را به n-1 قسمت تقسیم ( n تعداد هارد می باشد ) می کند و هر قسمت را روی یک دیسک می نویسد ؛
و روی دیسک باقیمانده Parity مربوط به آن n قسمت را می نویسد.

Parity : یک فرمول به دست آمده از بخش های دیتا است که سایزش اندازه دیگر بخش هاست.

مثال: با ۳ دیسک رید ۵ راه اندازی کرده ایم ؛ بلاک A به n-1 قسمت که می شود ۲ قسمت تقسیم می شود ؛ که می دهد A1 , A2 حالا A1 روی دیسک اول و A2 روی دیسک دوم و ( Parity ( A1A2 روی دیسک سوم ذخیره می شود ؛
با تلفیق A1 با Parity به A2 و با تلفیق A2 با Parity به A1 می رسیم .

کنترلر برای ذخیره این قسمت ها روی دیسک به صورت چرخشی عمل می کند ،
یعنی Parity را به ترتیب هر بار روی یک دیسک می نویسد.
تحمل خطا در این روش یک دیسک است .
یعنی اگر دو دیسک همزمان از بین بروند دیتا را از دست می دهیم.

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

نحوه ذخیره سازی اطلاعات در Raid 5 :

مثلا برای بلاک A در رید ۵ با ۴ دیسک داریم:

A > A1 , A2 , A3 , Parity a

A1 + A2 + Parity a = A3

A1 + A3 + Parity a = A2

A3 + A2 + Parity a = A1

کاربرد: رید ۵ کاربرد عمومی دارد مثلا برای File server , Web server

RAID 5 - رید 5
NameMin HDDMax HDDCapacitySpeed
Read / Write
( rpm )
Fault Tolerance
Raid 5۳
DOCn – 1n – 1۱ هارد

Raid 6

این raid بندی هارد مشابه رید ۵ می باشد منتها دوبار Parity دارد.
در این روش چون دوتا Parity داریم دیتا به n-2 قسمت تقسیم می شود.
در این رید نیاز به حداقل ۴ دیسک داریم.

نحوه ایجاد Parity : یک بار برای قسمت های دیتا Parity محاسبه می کند و یک بار هم برای مجموع Parity قبلی و دیتا Parity محاسبه می کند.
چون دو تا Parity داریم تحمل خطا به دو دیسک افزایش می یابد.

برای بلاک A در رید ۶ با ۴ دیسک داریم:

(A1 , A2 , Parity (A) , Parity (A) , Parity (A

A1 + Parity (A) = A2

A2 + Parity (A) = A1

A1 + Parity (A, Parity (A)) = A2 , Parity (A)

A2 + Parity (A, Parity (A)) = A1 , Parity (A)

Parity (A) + Parity (A, Parity (A)) = A1 , A2

RAID 6 - رید 6
NameMin HDDMax HDDCapacitySpeed
Read / Write
( rpm )
Fault Tolerance
Raid 6۴
DOCn – 2n – 2۲ هارد

(Raid 1+0 (10

این raid بندی هارد از ترکیب RAID 0 با RAID 1 حاصل می شود.
در این مدل ما یک Parent raid داریم و یک Sub raid .
به این صورت میباشد که parent از نوع RAID 0 و SUB از نوع RAID 1 می باشد .
در این Raid نیاز به حداقل ۴ دیسک داریم (D1 , D2 , D3 , D4 ) که دو دیسک ، دو دیسک باهم RAID 1 می شوند و نتیجه حاصله باهم RAID0 می شوند.

عملکرد: اگر تعداد Subraid ها را n در نظر بگیریم وقتی بلاک A به کنترلر میرسد کنترلر ابتدا آن را به n قسمت تقسیم می کند و هر قسمت را به یک Subraid می دهد در مرحله بعد در هر Subraid هر قسمت دقیقا روی دو دیسک نوشته می شود.

نکته : تحمل خطا در این نوع رید به شانس ما هم بستگی دارد مثلا فرض کنید ۸ تا هارد داریم که میشود ۴ تا رید ۱ و یک رید صفر که ۴ عضو دارد .
حالا اگر همزمان از هر subraid یک هارد بسوزد ۴ تا هارد سوخته داریم ولی هیچ اتفاقی برای دیتا نیافتاده .
اما اگر در یک subraid همزمان دو تا هاردش بسوزد یعنی اینکه یک رید ۱ را از دست داده ایم که می شود یکی از اعضای رید صفر از دست رفته و با توجه به خاصیت رید صفر که در بالا توضیح داده شد کل اطلاعات مان از دست می رود و بی استفاده می شود.

کاربرد : از آنجایی که در کار با دیتابیس ها بیشتر عملیات خواندن داریم این نوع رید برای استفاده در دیتابیس کاربرد دارد.

رید 10 - Raid 10
NameMin HDDMax HDDCapacitySpeed
Read / Write
( rpm )
Fault Tolerance
Raid 10۴
DOCn / 2n – 2به ازای هر Sub Raid 2 هارد

(Raid 5+0 (50

این raid بندی هارد از ترکیب RAID 0 با RAID 5 حاصل می شود.
در این مدل ما یک Parent raid داریم و یک Sub raid .
به این صورت می باشد که parent از نوع RAID 0 و SUB از نوع RAID 5 می باشد .
اگر تعداد Subraid ها را n و تعداد دیسک های هر Raid 5 را m در نظر بگیریم .
بلاک A ابتدا به دلیل وجود Raid 0 به n قسمت تقسیم می شود و هر قسمت به یک subraid تعلق می گیرد.
سپس هر قسمت به m-1 قسمت دیگر تقسیم شده و در دیسک ها نوشته می شود.
برای RAID 5+0 با توجه به تعداد دیسک ها میتوان هم بندی های متفاوتی در نظر گرفت .

نکته : تحمل خطا و سرعت در هر هم بندی متفاوت است هر چه تعداد subraid ها بیش تر شود سرعت و حجم کمتری داریم ولی تحمل خطا بیشتر میشود.

NameMin HDDMax HDDCapacitySpeed
Read / Write
( rpm )
Fault Tolerance
Raid 50۶
DOCn – تعداد Sub Raid هاn – تعداد Sub Raid هابه ازای هر Sub Raid 1 هارد

منابع : ونداتوسینسو

۰ پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

پاسخی بگذارید

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