آذرسیس

Introduction of Raid technology checking the difference and its application in the server
5/5 - (1 امتیاز)

Raid یا همان (redundant arrey of inexpemsive disks) فرآیند ترکیب چندین هارد یا SSD به صورت موازی است که یک حجم واحد را تشکیل می دهد و کل آرایه raid را در مقابل خرابی درایو مقاوم تر می کند. دیسک هایی که جمع شده و بطور واحد عمل می کنند، سرعت و قابلیت اطمینان یک دیسک قدرتمند و گران قیمت را دارند، البته سرعت و قابلیت raid به نوع آن بستگی دارد. raid انواع مختلفی دارد که ما در این مقاله بررسی خواهیم کرد، کدام یک را باید برای سرور خود انتخاب کنیم.

آذرسیس ارائه دهنده انواع سرور مجازی لینوکس ، سرور مجازی ویندوز و پلن های مختلف سرور مجازی و سرور اختصاصی با بهترین کیفیت و پهنای باند نامحدود

 Raid چیست و چه استفاده ای دارد؟

فرض کنید دو عدد هارد یک ترابایتی داریم. در یک رایانه معمولی، احتمالا هر دو را وصل می کنیم و 2 ترابایت فضای قابل استفاده برای کار خواهیم داشت.

با این حال، در یک محیط سرور، در واقع بهتر است دیسک دوم را انتخاب کنیم و از آن به عنوان پشتیبان استفاده کنیم و یک آرایه واحد raid تشکیل دهیم. این کار را می توان در زمان واقعی با یک کنترل کننده raid انجام داد که به درایو ها متصل می شود و آرایه raid را برای ما مدیریت می کند. raid بصورت نرم افزار نیز وجود دارد ولی اکثر سرور ها دارای یک کنترکننده raid اختصاصی هستند.

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

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

دلایل زیادی وجود دارد که نشان می دهد raid بسیار بهتر از یک درایو بزرگ است. یک درایو بزرگ 8 ترابایتی به اندازه پنج درایو 2 ترابایتی که در raid 5 پیکربندی می شوند، انعطاف پذیری ندارد. ما به سختی می توانیم سروری پیدا کنیم که تنها یک درایو نصب شده دارد.

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

در اینجا به یک نکته اساسی باید اشاره کرد و آن این است که اعدادی که برای تعیین سطوح مختلف raid استفاده می شوند، معنایی ندارند. مثلا: raid 5 برتری نسبت به raid 1 ندارد. سطوح raid دیگری نیز مانند: raid 2، 3 و 4 نیز وجود دارد که عملا مورد استفاده قرار نمی گیرند و به همین خاطر نیازی به توضیح آنها نیست.

انواع مختلف Raid

 JBOD

تفاوت انواع raid در سرور ها چیست؟ مناسب چه سرورهایی است!

jbod از نظر پیکربندی raid محسوب نمی شود ولی ذکر آن در این مقاله خالی از لطف نیست. از نظر فنی این گزینه مخفف عبارت «joint batch of disks» است، اما می توانیم آن را «دسته ای از دیسک ها» بنامیم، زیرا، اساسا به همین صورت است. jbod در واقع دیسک ها را در یک دیسک بزرگ به هم متصل می کند. این امر هیچ بهبودی در عملکرد ارائه نمی دهد و هیچ افزونگی ندارد ولی در کل به این موضوع هم اهمیتی نمی دهد که چه دیسک هایی در آن قرار می گیرند.

بسیاری از کنترلر های raid حالت jbod را ارائه می دهند. البته بهتر است از آن استفاده نکنیم مگر اینکه، تعداد زیادی دیسک با اندازه های مختلف داشته باشیم و بخواهیم آنها را به هم پیوند دهیم.

Raid 0

تفاوت انواع raid در سرور ها چیست؟ مناسب چه سرورهایی است!

داده ها در این حالت در چندین درایو بصورت striped قرار گرفته اند. به عنوان مثال، اگر بخواهیم یک فایل را از آرایه raid بخوانیم، از چندین درایو که بصورت موازی قرار گرفته اند می خوانیم و این امر باعث می شود raid 0 بسیار سریع تر از هر درایو واحدی عمل کند.

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

raid 0 به نوعی مانند عدم وجود raid است و این امکان را می دهد که همه درایو ها را در یک حجم بزرگ و سرعت دسترسی بسیار بالا، داشته باشیم. با این حال، خرابی یک درایو می تواند برای داده های آرایه فاجعه بار باشد. بنابراین هرگز نباید raid 0 را بدون solution پشتیبان اجرا کنیم، مگر اینکه داده ها 100% موقتی باشند.

raid 0 ظرفیت را به حداکثر می رساند زیرا، هیچ فضایی برای افزونگی استفاده نمی شود. اگر دو دیسک 1 ترابایتی داشته باشیم، اندازه آرایه 2 ترابایت خواهد بود. با این حال، raid 0 به کمترین آرایه دیسک خارج از آرایه محدود می شود. آرایش raid 0 با درایو های SSD رایج است و با توجه به اینکه SSD ها درجه خرابی کمتری دارند، این امر منطقی تر است. این سیستم یک راه اندازی رایج در سیستم های دسکتاپ پیشرفته است زیرا، سرعت بیشتر از افزونگی اهمیت دارد.

Raid 1

تفاوت انواع raid در سرور ها چیست؟ مناسب چه سرورهایی است!

raid 1 یکی دیگر از انواع اصلی raid است و مشابه raid 0 از دو یا چند دیسک استفاده می کند. اما بجای اینکه داده ها را روی آرایه جدا کند، با حالت mirroring، داده ها از درایو اول به درایو دوم و یا هر درایو اضافه دیگر در آرایه منعکس می شوند. اگر دو درایو داشته باشیم یکی از آنها بطور کامل به عنوان نوعی پشتیبان گیری rael-time استفاده می شود و ظرفیت کل ذخیره سازی در این فرآیند به صفر کاهش میابد. اگر هر یک از درایوها به باکت صدمه زد، می توانیم از درایو دیگر به خواندن ادامه دهیم و با تعویض درایو معیوب، آرایه را بازسازی کنیم.

این مورد مزایای خوبی در خواندن دارد، زیرا می توان از دو درایو استفاده کرد، اما از آنجایی که داده های یکسانی را از هر درایو می خواند به خوبی raid 0 نیست. در این میان سرعت نوشتن به کندترین درایو محدود می شود.

اگر فقط به یک راه اندازی اولیه درایو نیاز داریم، از یک آرایه ساده raid 1 استفاده می کنیم. اکثر کنترکننده های raid هنگام اتصال دو درایو بطور پیش فرض روی raid 1 انجام می گیرند.

Raid 5

تفاوت انواع raid در سرور ها چیست؟ مناسب چه سرورهایی است!

گزینه raid 5 قسمتی است که موضوع جالب تر می شود. این raid بجای کپی کردن داده ها از روش بسیار کارآمدتری استفاده می کند، یعنی parity یا برابری.

parity نوعی بررسی خطا مانند hash است، ولی بسیار ساده تر از آن. معمولا برای اطمینان از اینکه ترافیک شبکه در سیم ها بهم نخورد، استفاده می شود.

raid 5 بجای ذخیره کپی از داده ها، به سادگی یک بیت parity را ذخیره می کند. می توانیم این raid را مانند raid 0 با افزونگی تصور کنیم. همه درایوها بجز یکی مانند یک آرایه raid 0 معمولی استفاده می شوند، اما آخرین درایو برای parity استفاده می شود. اگر یکی از درایو ها رفت، می توانیم محاسبه parity را بصورت معکوس انجام دهیم تا تمام داده های درایو ها بازیابی شود (البته باید گفت اینه یک عملیات طولانی و فشرده است).

در عمل، raid 5 از یک درایو اختصاصی برای parity استفاده نمی کند، ولی می توانیم این روش را، هنگام محاسبه مقدار فضایی که یک آرایه raid 5 در اختیار ما قرار می دهد، در نظر بگیریم. با استفاده از raid 5 با درایو های بیشتر، فضا کارآمدتر می شود. یعنی مثلا، با سه درایو 66 درصد کارایی امکان پذیر است و با 10 درایو 90 درصد کارایی امکان پذیر است. این امر هزینه ها را بطور چشمگیری نسبت به raid 1 کاهش می دهد.

البته raid 5 بدون اشکال نیست. زیرا، در محاسبه parity، زمان انجام نوشتن روی درایو، عملکرد نوشتن کاهش پیدا می کند. مشکل زمانی تشدید می شود که مثلا برگرداندن یک بیت در یک درایو مستلزم خواندن همه درایو ها برای محاسبه مجدد parity برای آن بلوک است. در عملکرد، اگر raid 0 مقیاس عملکرد را با n درایو ارائه دهد، raid 5 عملکرد n-1 را برای عملیات نوشتن ارائه می دهد. با این حال، با یک آرایه ای که به اندازه کافی بزرگ باشد، مشکل آنقدرها هم مهم نیست.

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

اگر ما دارای سه درایو باشیم، raid 5 باید گزینه مورد علاقه ما باشد، زیرا raid 1 باعث اتلاف فضا خواهد شد. حتی اگر 4 درایو هم داشته باشیم، raid 5 بهترین گزینه است، اما دو گزینه دیگر در لیست نیز در دسترس ما قرار دارند.

Raid 6

تفاوت انواع raid در سرور ها چیست؟ مناسب چه سرورهایی است!

raid 6 مانند raid 5 است. با این تفاوت که «parity دیسک» به حالت mirror ارائه شده است. این موضوع به آرایه raid اجازه می دهد تا از دو شکست درایو جان سالم به در برد. با این حال، عملکرد نوشتن در n-2 بدتر است و البته فضای کمتری در اختیار ما قرار می دهد.

در واقع چیز زیادی در این قسمت برای گفتن نیست. اگر آرایه بزرگی از درایو ها (مثلا: 6،8 یا بیشتر) داریم، ممکن است بخواهیم raid 6 را برای افزونگی بیشتر در نظر بگیریم. raid 6 به تنهایی بخش اول استراتژی پشتیبان گیری 1-2-3 را انجام می دهد. یعنی، باید حداقل سه نسخه از داده های خود را با دو نسخه پشتیبان در رسانه های مختلف و حداقل یکی از آنها را خارج از سایت ذخیره کنیم. raid 6 می تواند از دو خرابی درایو نجات یابد و از نظر عملکرد مانند: raid 1 با سه دیسک است.

عملا، raid 6 تقریبا هرگز با شکست کل آرایه مواجه نمی شود، بخصوص اگر دیسک های parity بیشتری به معادله اضافه کنیم.

raid 10

تفاوت انواع raid در سرور ها چیست؟ مناسب چه سرورهایی است!

raid 10 از نظر فنی مانند nested raid عمل می کند، که خودش یک raid پیچیده است. اکنون، اساسا اگر چهار درایو داشته باشیم و نخواهیم از raid 5 یا 6 استفاده کنیم، تنها گزینه های ما raid 0 و 1 است که هر دو مشکل خود را دارند. در عوض، آن درایو ها را به دو نیم تقسیم می کنیم و دو آرایه raid 1 می سازیم. سپس، از این دو آرایه بدست آمده برای ایجاد یک آرایه raid 0 بزرگ استفاده می کنیم. raid 10 حداقل چهار و همچنین به تعداد زوج از کل درایو ها نیاز دارد.

این عملکرد، تمام مزایای raid 1 و 0 را بدون نکات منفی برای ما در بر دارد. این مزایا عبارتند از: سرعت خواندن بالا، سرعت نوشتن بالا، افزونگی بالا و بازسازی آسان. و این درحالی است که می توانیم از نیمی از فضای کل درایو های خود استفاده کنیم. raid 10 انعطاف پذیرتر از raid 1 است. در نمودار بالا دیسک 1 و 3 ممکن است از کار بیوفتد ولی آرایه همچنان می تواند بطور کامل بازسازی شود (البته باید تاکید کنیم که اگر دیسک 0 و 1 بطور همزمان خراب شوند، غیر قابل بازیابی است).

این raid یک سطح بسیار رایج برای سرورها است. باید گفت این سطح بسیار سریع است و حداقل می تواند از یک شکست درایو جان سالم بدر برد. تنها مشکل raid 10 قیمت آن است، زیرا همچنان ما برای نگهداری کپی از تمام داده های خود باید دو برابر مبلغ را بپردازیم. ولی در کارهای عمومی، raid 10 تقریبا از تمام سطوح دیگر پیشی می گیرد و تنها در مقابل raid 0 در خروجی شکست می خورد.

Raid 50/60

تفاوت انواع raid در سرور ها چیست؟ مناسب چه سرورهایی است!

سطح raid 50/60 در واقع، دو آرایه raid 5 و 6 در raid 0 است. این کار عملکرد را مخصوصا در نوشتن درست مانند raid 10 بهبود می بخشد، زیرا خواندن از درایو های دیگر هنگام محاسبه parity سریع تر است.

در این سطح ما حداقل به 6 درایو نیاز داریم. البته اگر raid 60 باشد 8 درایو لازم است و از آنجایی که آرایه های raid 5 بصورت جداگانه قرار گرفته اند، پس به درایو های parity اضافی نیاز خواهیم داشت که باعث می شود فضای کمتری داشته باشیم ولی انعطاف پذیری بیشتری دارد. در واقع باید بگوییم raid 50 اساسا یک نسخه کامل تر از raid 5 است.

کدام سطح raid برای ما مناسب است؟

no raid:

این سطح زمانی به درد می خورد که ما بتوانیم چندین ساعت خرابی یا از دست دادن داده ها را در حین بازیابی سایت خود از پشتیبان گیری تحمل کنیم.

raid 0:

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

raid 1:

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

raid 5/6:

این سطح زمانی خوب است که ما سرور های وب با محیط های خواندن بالا یا آرایه های ذخیره سازی بسیار بزرگ به شکل واحد داشته باشیم. البته عملکرد آن ضعیف تر از raid 1 خواهد بود. اگر محیط ما از نظر نوشتن سنگین است یا به فضایی بیش از حد دیسک raid 1 نیاز نداریم، احتمالا raid 1 گزینه مناسب تری است.

raid 10:

این سطح یک solution همه جانبه خوب است که سرعت خواندن و نوشتن بیشتر و همچنین افزونگی اضافی را برای ما فراهم می کند.

نتیجه گیری

ما در این مقاله سطوح مختلفی از raid را شرح دادیم و خصوصیات و تفاوت های آنها را بررسی کردیم. بطور خلاصه باید بگوییم که برای اکثر شرکت های کوچک و متوسط، سطوح raid 5,6 و 10 در تحمل خطا و عملکرد خوب کافی است، ولی اگر بودجه محدودی داشته باشیم و بخواهیم از دیسک هایی که در آرایه خود قرار داده ایم نهایت استفاده را ببریم، raid 5 و6 بهترین گزینه هستند. در نهایت، از اینکه ما را در این مقاله همراهی کردید متشکریم.

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

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