سرور چه تفاوتی با کامپیوتر معمولی دارد؟ اگر در پاسخ به این سوال شروع به مطالعه کنید قطعا با قطعه ای به نام RAID Controller رو به رو خواهید شد، قطه ای که هارد دیسک ها را مدیریت میکند، آنها را در کنار یکدیگر داخل یک گروه قرار می دهد و اطلاعات را بین آنها پخش می کند و در نهایت وضعیت سلامت این گروه از هارد دیسک ها را بررسی و به کاربر گزارش میدهد. این گروه از هارد دیسک ها را RAID می نامند.علاوه بر پاسخ به این سوال که RAID چیست در این مقاله با انواع RAID نیز آشنا خواهید شد.
برای توضیحات کامل و جامع تر در ادامه مقاله همراه ما باشید. کلمه RAID مخفف عبارت Redundant Array of Independent Array می باشد به این معنی که آرایه (یا به عبارتی) گروه از هارد دیسک های مستقل را RAID می نامند. اما ایجاد گروه یا آرایه ای از هارد دیسک چه پیش نیازی دارد، چه کاربردی دارد و چگونه امکان پذیر است؟ نکته ای که باید در اینجا به آن اشاره شود که پیاده سازی RAID مدل های مختلفی دارد که هر کدام را یک نوع RAID یا به عبارت دیگر RAID Level جداگانه در نظر میگیرند.
به طور خلاصه برای ایجاد یک آرایه از هارد دیسک باید به این نکته توجه داشت که ظرفیت و سرعت چرخش هارد دیسک های عضو گروه باید یکسان باشد، بعد از این پیش شرط باید تعداد هارد دیسک شما متناسب با نوع RAID که می خواهید پیاده سازی کنید باشد. چرا؟ چون گروه ایجاد شده دارای ویژگی های خاصی است که اصلی ترین آن این است که اگر یک یا تعدادی (بستگی به نوع RAID دارد) از هارد دیسک های عضو گروه، به هر علتی از مدار خارج بشوند و یا به صورت کامل خراب بشوند، اطلاعات برروی باقی اعضا گروه باقی خواهد ماند و سرویس دهی متوقف نخواهد شد (البته به جز RAID 0)
همانطور که اشاره شد ، قراردادن یک یا تعدادی هارد دیسک هم نوع و هم ظرفیت در یک گروه، به صورتی که سیستم عامل این گروه را به عنوان یک هارد دیسک واحد در نظر بگیرد RAID نامیده می شود و یادآور شدیم که برای این گروه بندی (ایجاد آرایه) روش های مختلفی خلق شده که هر کدام را یک RAID Level می نامیم. برای ایجاد هر کدام از انواع RAID الگوریتم خاصی پیاده سازی می شود و برروی اعضا گروه اعمال میشود. کلیه این اتفاقا تحت مدیریت قطعه ای به نام RAID Controller رخ میدهد، پس شما علاوه بر در اختیار داشتن تعداد مناسب هارد دیسک که با یکدیگر هم مدل باشند، باید RAID Controller مناسب که بتواند همه انواع RAID را ایجاد کند نیز در اختیار داشته و هارد دیسک های خود را به آن متصل نمایید.
هدف از ایجاد RAID این است که اطلاعات به روشی خاص (RAID Level) بین اعضا گروه هارد دیسک پخش شود تا اگر یک یا تعدادی از اعضا گروه از مدار خارج شدند اطلاعات از بین نرود. بنابراین انواع مختلف RAID بر حسب ایجاد اطمینان دسته بندی می شوند، به نحوی که با پیاده سازی قوی ترین RAID شما اطمینان بیشتری در مواقعی مثل سوختن سخت افزار هارد دیسک خود داشته باشید. اما در کنار قابلیت اطمینان باید سرعت دسترسی به اطلاعات و هزینه پیاده سازی هر کدام از روش ها را نیز در نظر گرفت. در ادامه انواع مختلف RAID را معرفی می نماییم.
اولین و ساده ترین مدل RAID 0 :
یکی از انواع RAID که در این مدل تعدای هارد دیسک در یک گروه قرار میگیرند با این ویژگی که مجموع فضای که در اختیار سیستم عامل قرار میگیرد برابر است با جمع ظرفیت هارد دیسک های عضو گروه یعنی با اجرای این روش حداکثر استفاده از منابع هارد دیسک رخ می دهد اما یک نکته وجود دارد، با الگوریتمی که این RAID ایجاد می شود هر کدام از هارد دیسک های عضو گروه به عنوان یه بخش (سیلندر) از یک هارد دیسک در نظر گرفته میشوند، و اگر یکی از اعضا گروه به هر دلیلی در دسترس نباشد، کل آن هارد دیسک واحد که ایجاد شده است از هم پاشیده و ساختار RAID از بین می رود.
این اتفاق به معنی آن است که هدف اولیه ایجاد RAID که همان ایجاد قابلیت Redundancy یا جایگزینی دیگر اعضا گروه در صورت از مدار خارج شدن عضو دیگر، تامین نخواهد شد. اما با همه ی این احوالات این مدل نیز به عنوان یک گونه از انواع RAID استاندارد شده است.
تا به اینجای کار یکی از محاسن این مدل ایجاد گروه این است که حداکثر میزان فضای ممکن را در اختیار کاربر می گذارد ولی باید توجه داشت که قابلیت Redundancy وجود ندارد، ویژگی مثبت دیگر این مدل این است که سرعت بسیار بالایی در موقع درج و همچنین دسترسی به اطلاعات برخوردار است و به نوعی سریعترین مدل RAID نیز است و به واسطه این ویژگی کاربرد های خاص خود را دارد.
دلیل سرعت بالای RAID 0 چیست؟
با دقت در توضیحاتی که برای پیاده سازی RAID بیان شد دلیل این امر نیز مشخص است، اطلاعات بین اعضا گروه پخش می شود و با توجه به نحوه ی پیاده سازی این مدل RAID مشاهده می کنیم که اطلاعات توسط RAID Controller بین اعضا گروه پخش می شود و هر کدام به صورت مستقل دارای یک هد برای خواندن و نوشتن اطلاعات است و این سناریو مشابه این است که یک هارد دیسک دارید که برای هر سیلندر آن یک هد مستقل وجود دارد و عملا برای دسترسی به یک سکتور خاص از سیلندر زمان بسیار کوتاهی نیاز است.
بهرحال با تمامی معایب و مزایا کارکرد این مدل از RAID در سناریو هایی است که نیاز به حجم بالای فضای ذخیره سازی اطلاعات است و اطلاعات موجود به خودی خود اهمیت خاصی ندارند و در صورت از بین رفتن آنها آسیبی به کسب و کار ایجاد نمی شود، به عنوان مثال برای ذخیره سازی تصاویر دوربین مداربسته می توان از این مدل استفاده کرد زیرا هم سرعت بالای درج اطلاعات وجود دارد و هم کمترین هزینه را در پی دارد.
در نظر داشته باشید که با مطالعه مقاله آموزش ایجاد RAID 0 می توانید ویدیو آموزش ایجاد RAID 0 در سرور اچ پی را مشاهده بفرمایید.
رایج ترین مدل RAID 1 :
با تعاریفی که برای RAID بیان شد می توان گفت که RAID 1 نمونه ای واقعی از ایجاد RAID است (برخلاف RAID 0) این RAID متداول ترین نوع از انواع RAID قابل پیاده سازی می باشد، در این مدل قابلیت جایگزینی وجود دارد ضمن اینکه سرعت دسترسی به اطلاعات نیز خوب است، اما سرعت درج اطلاعات پایین است، چرا؟ به علت الگوریتم پیاده سازی این مدل از RAID ، در ادامه با توضحیاتی بیشتری در باره RAID 1 با ما همراه باشید.
الگوریتم RAID 1 به این صورت عمل می کند که RAID Controller فقط و فقط دو عدد هارد دیسک یکسان با ظرفیت و سرعت برابر را در یک گروه قرار می دهد و تشکیل آرایه می دهد، سپس در هنگام درج اطلاعات تمامی صفر و یک دریافتی را برروی هر دو عدد هارد دیسک به صورت یکسان درج می کند به گونه ای که در انتها اطلاعات برروی هر دو هارد یکی باشد، به همین علت این مدل از RAID را آینه یا Mirror نیز نام گذاری می کنند. با این اقدام اگر یکی از هارد دیسک های عضو گروه به هر دلیلی از مدار خارج شود، هارد دیسک دوم که حاوی اطلاعات مشابه می باشد، می تواند به کار خود ادامه دهد و RAID Controller فقدان هارد اول را جبران می کند.
اما تاثیر این الگوریتم در سرعت درج اطلاعات و دسترسی به اطلاعات نیز باید بررسی کرد، با اجرای این الگوریتم سرعت درج اطلاعات برروی آرایه نصف می شود ودلیل آن هم همانطور که توضیح داده شد این است که اطلاعات باید به صورت یکسان برروی هر دو هارد دیسک درج شود و این فرآیند زمانبر خواهد بود. از طرف دیگر به علت اینکه اطلاعات برروی هر دو هارد عضو گروه وجود دارد، در هنگام دسترسی به اطلاعات سرعت افزایش می یابد، زیرا هر هارد دیسک هد مستقل دارد و می تواند به صورت مستقل دسترسی به کل اطلاعات داشته باشد، در این صورت هر هارد دیسکی که سریعتر به اطلاعات برسد، پاسخ را برای RAID Controller و در نهایت سیستم عامل ارسال خواهد شد.
RAID 1 یا Mirror به نوعی متداول ترین و پرکاربردترین مدل RAID است. این مدل مناسب است برای نصب سیستم عامل و آرشیو اطلاعات فایل Share Server البته اگر حجم اطلاعات و برآوردی که از حجم آتی آنها دارید ، محدود به ظرفیت های موجود در بازار می باشد.
برای جمع بندی این مدل RAID و به صورت خلاصه :
نقاط مثبت RAID Mirror :
*قابلیت اطمینان بالا به ساختار این مدل از RAID
*سرعت بالا دسترسی به اطلاعات
*پیاده سازی ساده بدون نیاز به سخت افزار RAID Controller قوی به طوری که RAID Controller های نرم افزاری نیز از این مدل پشتیبانی میکنند.
*قابلیت بازیابی سریع اطلاعات نسبت به سایر انواع RAID در صورت به وجود هر گونه مشکل برای RAID و یا خود سخت افزار هارد ها
نقاط منفی RAID Mirror :
*محدودیت در تعداد اعضا عضو آرایه (همانطور که اشاره شد فقط و فقط دو عدد هارد دیسک)
*سرعت پایین درج اطلاعات نسبت به RAID 0
قابلیت افزایش فضا ذخیره سازی با RAID 5 :
اگر شما نیاز به فضای بیشتری داشته باشید دیگر استفاده از RAID 1 از لحاظ اقتصادی بهینه نیست، زیرا به ازای هر دو عدد هارد دیسک که خریداری میشود و به سرور متصل می کنید فقط به اندازه ی یکی از آنها میزان فضای ذخیره سازی شما افزایش می یابد. پس راه حل چیست؟ در چنین سناریو هایی بوده است که در اواخر دهه 80 میلادی ایده به وجود آمدن مدل دیگری از RAID به وجود آمده است، اما RAID 5 دیگر نمی تواند از ایده ی آینه کردن هارد دیسک ها استفاده کند و راه حل دیگری را برای تامین قدرت جایگزینی اعضا گروه ارائه کرده است، در این مدل از RAID برای پیاده سازی و ایجاد شدن گروه (آرایه) حداقل به سه عدد هارد دیسک یکسان نیاز است، و همچنین به RAID Controller قدرتمند تر، پس از اینکه هارد دیسک ها به کنترلر متصل شدند و گروه تشکیل داده شد الگوریتم خاصی برروی دیتا که میخواهد برروی آرایه درج شود اعمال میشود و جواب حاصل از اجرا این الگوریتم بر روی همه اعضا گروه پخش می شود.
الگوریتم RAID 5 چگونه عمل می کند؟
همان طور که اشاره شد هدف از اجرا چنین الگوریتمی این است که اگر یکی از اعضا گروه به هر علتی از مدار خارج شد و گروه با کمبود منابع مواجه شد بازهم اطلاعات از بین نروند، پس بنابراین الگوریتم باید بر روی اطلاعات ورودی عملیاتی انجام دهد که حاصل آن برگشت پذیر باشد به این معنی که اگر اصل اطلاعات از بین رفت با داشتن خروجی الگوریتم بتوان اطلاعات را مجددا بازسازی کرد.با پذیرش این ایده، حال به سراغ تشریح روش اجرا آن می پردازیم.
جواب به این صورت است که اطلاعات ورودی XOR می شوند و بعد از آن ، خروجی الگوریتم به تکه های کوچک تقسیم می شوند و با اسمParity نامگذاری می شوند، سپس هر کدام از این Parity ها بر روی یکی از هارد دیسک های عضو گروه (آرایه) نگهداری می شوند. به این ترتیب اصل اطلاعات و Parity آنها بین هر سه عدد هارد دیسک پخش می شوند و اگر یکی از هارد دیسک ها با مشکل مواجه شود اطلاعات از طریق معکوس کردن فرمول Parity بازنشانی می شود.
این بدان معنی است که از طریق این فرمول کلیه اطلاعات معکوس می شوند و این مقدار معکوس Parity نامیده می شود.
البته با استفاده از این مدل RAID فقط و فقط اگر یکی از اعضا گروه از مدار خارج بشود اطلاعات باقی خواهد ماند و توجه داشته باشید که در شرایطی که تعداد اعضا که دچار مشکل شده اند افزایش یابد، اصل اطلاعات با خطر مواجه خواهد شد. به طور کلی در این RAID به ازای N عدد هارد دیسک در هنگام ایجاد گروه، پس از ایجاد گروه به ازای N-1 عدد هارد دیسک توسط RAID Controller در اختیار سیستم عامل قرار خواهد گرفت.
نقاط مثبت RAID 5 :
ایمنی بالا ساختار گروه
قابلیت ایجاد گروه با تعداد اعضا بیشتر نسبت به RAID 1
استفاده از هارد دیسک های عضو گروه در حالت بهینه از لحاظ اقتصادی (فقط یک عدد هارد دیسک از مجموع تمام اعضا گروه توسط کنترلر رزرو می شود)
نقط منفی RAID 5 :
نیاز به حداقل سه عدد هارد دیسک برای پیاده سازی الگوریتم
نیاز به در اختیار داشتن RAID Controller قدرتمند جهت اجرای فرمول الگوریتم
سرعت درج اطلاعات پایین ، به علت اجرا الگوریتم برروی اطلاعات ورودی توسط RAID Controller و دسته بندی اطلاعات و در ادامه توزیع آنها بین تمام هارد دیسک های عضو آرایه.
اطمینان پذیری بالاتر با RAID 6 :
اگر در تعریف RAID 5 دقت کرده باشید می بینید که فقط و فقط تا هنگامی که یک عدد هارد دیسک از گروه حذف بشود می توانید اطمینان داشته باشید که اطلاعات توسط Parity قابل بازیابی و بازنشانی هست، اما اگر تعداد هارد دیسک معیوب بیشتر شود در این مواقع موجودیت گروه در خطر قرار می گیرد و اطلاعات ممکن است به طور کامل از بین برود. چنین سناریویی وقتی تعداد هارد دیسک های عضو گروه بیشتر می شوند محتمل تر و خطر ایجاد شده نیز به مراتب بیشتر خواهد شد. به طور کلی در ساختاری که اطلاعات ارزش بالایی دارند و هزینه به فایده تامین تجهیزات به شما اجازه خرید تجهیزات سرور قدرتمند تر را می دهد، می توانید به جای استفاده از RAID 5 به گزینه های ایمن دیگری نگاهی بیندازید.
برای بالا بردن ضریب اطمینان خود به آرایه ای که هارد دیسک ها را در آن قرار داده اید می توانید از الگوریتم RAID 6 استفاده کنید. در این مدل RAID شما به میزان 2 عدد هازد دیسک از مجموع اعضا آرایه را به عنوان Parity در اختیار دارید بدان معنی که اگز 2 عدد هارد دیسک هم از مدار خارج شوند همچنان اطلاعات برروی سایز اعضا گروه باقی خوااطمینان پذیری بالاتر با RAID 6 :هد ماند و مشکلی پیش نمی آید.
اما ساختار RAID 6 چگونه است و به چه طریقی ایجاد می شود:
RAID 6 از میزان امینت بالاتری نسبت به سایر انواع RAID که تا به اینجا بررسی کردیم برخوردار است اما باید در نظر داشته باشید که داشتن امنیت بالاتر نیاز به صرف هزینه بیشتر می باشد. این امنیت زیر سایه اجرای الگوریتم پیچیده تری حاصل میشود و الگوریتم RAID 6 مقداری با عملکرد RAID 5 متفاوت است.
نحوه ی عملکرد الگوریتم RAID 6 بدین صورت است که برای هر دیتا وارد شده به آرایه در دو مرحله Parity ایجاد شده و هر کدام از این دو Parity برروی هارد دیسک های متفاوتی از اعضا گروه درج می شوند. بدین ترتیب ضریب اطمینان بالاتر نسبت به RAID 5 حاصل می شود و این امکان وجود دارد که اگر 2 عدد هارد دیسک از مجموع اعضا گروه نیز از بین رفتند همچنان اطلاعات در دسترس باشد.
در این مدل RAID نیز همچنان Parity حاصل XOR کردن اطلاعات است اما چون دو مرتبه باید درج شود نیاز به RAID Controller قوی نیز می باشد ضمن اینکه سرعت درج اطلاعات نیز کاهش می یابد.
نقاط مثبت RAID 6 :
ایمنی بالا ساختار گروه حتا نسبت به RAID 5.
نقط منفی RAID 6 :
نیاز به حداقل چهار عدد هارد دیسک برای پیاده سازی الگوریتم.
عدم توجیح اقتصادی اجرای این مدل RAID در سناریو های وجود آرایه با تعداد کمتر از 8 عدد هارد دیسک.
نیاز به در اختیار داشتن RAID Controller قدرتمند جهت اجرای فرمول الگوریتم.
سرعت درج اطلاعات پایین حتی نسبت به RAID 5 ، به علت اجرا الگوریتم برروی اطلاعات ورودی توسط RAID Controller و دسته بندی اطلاعات و در ادامه توزیع آنها بین تمام هارد دیسک های عضو آرایه.
معرفی RAID ترکیبی، استفاده از سرعت RAID 0
بعد از معرفی مدل های اصلی RAID نوبت به معرفی RAID های ترکیبی است، نسل های نوین RAID که از ترکیب دو مدل RAID گونه ای جدید ایجاد می کنند که ترکیبی از مزیت و نقاط مثبت هر دو RAID می باشد. به این صورت است که یکی از از RAID های اصلی انتخاب می شود و برروی دو گروه از هارد دیسک یکسان اعمال شده ، به این ترتیب دو آرایه یکسان از هارد دیسک مشابه که تحت یک الگوریتم یکسان در کنار هم قرار گرفته اند در اختیار داریم، سپس این دو گروه (آرایه) را با یکدیگر RAID 0 می کنیم تا به این صورت از سرعت ارائه شده توسط RAID 0 در کنار امنیت سایر مدل های RAID استفاده میکنیم. به طور کلی سه مدل RAID ترکیبی ایجاد شده است که به ترتیب به معرفی آنها می پردازیم.
ترکیب RAID 0 با RAID 1 و ایجاد RAID 10 :
همان طور که اشاره شد این سری از RAID به گونه ای هستند که ترکیبی از یک مدل RAID به همراه RAID 0 هستند که عدد اول از سمت چپ نشان دهنده آرایه اصلی است که در کنار RAID 0 (عدد دوم ، یعنی 0 نشان دهنده همین امر می باشد.) قرار گرفته است. با این نکته می توان اینگونه بیان کرد که RAID 10 یعنی ایجاد دو گروه آرایه از RAID 1 یا Mirror و قرار دادن آنها در کنار هم تحت RAID 0 به وجود می آید.
با این کار علاوه بر بالا رفتن سرعت درج و سرعت خواندن اطلاعات برروی هارد دیسک ها – به واسته در اختیار داشتن RAID 0 – از قابلیت Redundancy که RAID1 آن را ارائه می کند نیز بهره می برید.
توجه داشته باشید که با توجه به اینکه دو گروه RAID 1 در این مدل در کنار هم قرار می گیرند و با در نظر گرفتن این نکته که هر RAID 1 فقط و فقط از دو عدد هارد دیسک مشابه ایجاد می شود، بنابراین برای در اختیار داشتن RAID 10 نیاز به 4 عدد هارددیسک مشابه دارید نه بیشتر و نه کمتر.
نکته قابل اشاره دیگر این است که برای ایجاد آرایه ای با RAID 10 به در اختیار داشتن سخت افزار RAID Controller قدرتمند مشابه آنچه در مورد RAID 5 و RAID 6 اشاره شد نیاز نخواهید داشت.
ترکیب RAID 0 با RAID 5 و ایجاد RAID 50 :
با مکانیزمی که برای ایجاد RAID 10 بیان شد و با همانن ترتیب می توانید با ترکیب دو دسته RAID 5 در یک گروه جدید تحت الگوریتم RAID 0 به RAID 50 رسید و ضمن سرعت بالا در RAID 0 از قابلیت اطمینان RAID 5 هم بهره برد. قابل ذکر است که با ایجاد RAID 50 تعداد ۲ عدد هارد دیسک می توانند از مجموعه هارد خارج شود و همچنان اطلاعات سالم و آرایه آن قابل بازیابی باقی بماند.
توجه کنید که برای ایجاد آرایه RAID 50 به حداقل ۶ هارد دیسک نیاز است.
ترکیب RAID 0 با RAID 6 و ایجاد RAID 60
با همان مکانیزم RAID 50 می توان برای ایجاد این آٰرایه نیز اقدام کرد. فقط در نظر داشته باشید که حداقل ۸ عدد هارد دیسک برای ایجاد این آرایه مورد نیاز است و همچنین حداکثر ۴ عدد هارد از این مجموعه که از مدار خارج شوند نیز همچنان آرایه برقرار خواهد بود.





