آشنایی با تکنولوژی RAID
(Raid (redundant array of Disks نوعی تکنولوژی است که باعث افزایش ظرفیت ذخیره سازی و بالا بردن اطمینان از طریق تکنیک های مرتب کردن دیسک ها به شکل آرایه می شود . آرایه ی RAID توسط چندین دیسک فیزیکی که با ساختار RAID مانند RAID0,RAID1 و . . . پیکربندی شده اند ایجاد می شود . در حالیکه آرایه RAID داده ها را از طریق چندین دیسک توزیع می کند ، اما سیستم عامل سرور به عنوان یک دیسک آن را در نظر می گیرد .
معماری های مختلف RAID جهت برآورده شدن حداقل یکی از دو اهداف زیر طراحی شده اند .
افزایش قابلیت اطمینان داده .
افزایش کارایی داده های ورودی و خروجی
مفاهیم :
RAID در واقع آرایه ای است که از دو دیسک سخت و یا بیشتر که در روی یک واحد قرار گرفته اند تشکیل یافته است . برای اینکه به آرایه RAID سه ویژگی بیشتر در مقایسه با JBOD داده شود سه مفهوم اساسی استفاده می شوند . :
- Mirroring
- Striping
- Error correction
مفهوم Mirroring : یعنی داده ها در بیش از یک دیسک نوشته شوند . مثال اساسی Mirroring آرایه RAID1 با دو دیسک می باشد . هر دو دیسک محتوای یکسانی دارند . زمانی که برای درایو اولی مشکلی پیش بیاید ، عملیات خواندن و نوشتن به شکل مستقیم در دیسک دوم انجام می شود . عملیات خواندن در ارایه های Mirroring در مقایسه با دیسک تنها به دلیل اینکه سیستم ، داده ها را از چندین دیسک و در یک زمان می خواند سریع تر است . اگرچه عملیات نوشتن از آنجایی که داده ها باید در چند دیسک به جای یک دیسک نوشته شوند ، کند تر می باشد . بازسازی آرایه دیسک mirror شده بسیار آسان است داده ها از دیسک سالم به دیسک جدید کپی می شوند . در طول بازسازی کارایی خواندن کاهش پیدا می کند . چرا که تنها یک دیسک mirror قابل استفاده می باشد.
Striping : عملیات جداسازی داده ها از چندین دیسک است .برای مثال آرایه RAID 0 داده ها را در دو دیسک قرار می دهد که این کار تنها کارآیی را افزایش می دهد . عملیات خواندن و نوشتن در آرایه ی Striping در مقایسه با دیسک های تکی سریع تر می باشد .
Error correction : داده های parity را با روشی که به آنها اجازه یافته شدن و احتمال تصحیح مشکلات را بدهد بر روی دیسک ذخیره می کند . RAID5 مثال خوبی از مکانیزم تصحیح خطا است .مثلا آرایه RAID5 از سه نوار داده در دو دیسک اول تشکیل یافته و parity را در دیسک سومی قرار می دهد . مکانیزم تصحیح خطا باعث کاهش کارایی خصوصا در عملیات نوشتن می شود چراکه هم داده و هم parity باید نوشته شود .
طراحی شمای raid شامل حفاظت از داده و کارایی آن می شود . با توجه به نیازهای سرور شما باید پیکربندی مناسب RAID را انتخاب نمایید .
در ادامه نحوه پیاده سازی چند RAID مختلف آمده است :
RAID0 : این نوع پیاده سازی کاملی از striping است . برای پیاده سازی آن حداقل دو نوع دیسک مورد نیاز است . اطلاعات parity با هدف ردوندانسی ذخیره نمی شود . نکته مهم این است که RAID 0 یکی از سطوح raid اصلی نمی باشد و REDUNDANCY داده ها را فراهم نمی نماید . raid 0 برای افزایش کارایی مورد استفاده قرار می گیرد .و برای جاهایی که افزونگی مهم نیست بسیار مفید است . این نوع raid می تواند دیسک ها با اندازه مختلف را ایجاد نماید اما فضای کلی آرایه با توجه به کوچکترین دیسک محدود می شود . مثلا اگر یک دیسک 450 گیگابایتی با دیسک 300 گیگا بایتی وجود داشته باشند ، فضای قابل استفاده آرایه به شکل زیر محاسبه می شود:
2 x min(450GB, 300GB) = 600GB.
برای عملیات خواندن و نوشتن با بلاک های کوچک مانند پایگاه داده اکسس داده ها به صورت مستقل واکشی خواهد شد . سرعت انتقال آرایه معادل سرعت همه ی دیسک هاست که با سرعت کنترلر raid محدود می شود . برای خواندن و نوشتن داده ها با بلاک های بزرگتر مانند کپی فایل ها و یا ویدئو ، داده ها در یک دیسک ، واکشی شده و کارایی ارایه RAID0 کاهش پیدا خواهد کرد.
RAID1 : پیاده سازی ضعیفی از mirroring است و حداقل دو دیسک برای پیاده سازی این تکنولوژی مورد نیاز است . این زمانی مفید است که کارایی خواندن یا اطمینان از ذخیره سازی برای ما مهم تر باشند . از آنجایی که هر دیسک یک نسخه کامل از داده ها را نگهداری می کند ، آدرس دهی آن مستقل بوده و به دنبال آن قابلیت Tear and wear افزایش پیدا می کند . در این تکنولوژی مانند RAID0 نیز زمانی یک دیسک 450 گیگابایت با یک دیسک 300 گیگابایت mirror شود ، فضای قابل استفاده ی آرایه حداقل در نظر گرفته می شود . یعنی 450GB, 300GB) = 300GB .
RAID5 : در تکنولوژی RAID5 آرایه از striping بلاک شده به همراه بلاک های parity پخش شده در همه ی دیسک ها استفاده می کند . دیسکی که برای بلاک parity استفاده می شود ، از یک strip به دیگری به صورت متناوب کار می کند . برای این تکنولوژی حداقل 3 دیسک نیاز داریم . این تعداد برای RAID6 برابر حداقل 4 دیسک می باشد . با افزایش مقدار RAID تعداد دیسک ها نیز افزایش می یابد .
گونه ای از دیسک ها به نام Hot spare نیز وجود دارد که به عنوان پشتیبانی برای آرایه RAID به کار می روند . این دیسک ها به صورت فیزیکی در آرایه نصب شده وتا زمانیکه دیسک های فعال از کار بیفتند غیر فعال هستند . کنترلر RAID به صورت اتوماتیک درایوهای fail را با دیسک spare تعویض می کند و شروع به ایجاد مجدد فرآیند ها برای آرایه می نماید . برای مثال آرایه ی RAID5 با یک دیسک Hotspare مساوی تعداد دیسک های RAID6 بوده و از نظر حفاظت در هنگام به وجود آمدن خطا تسهیلات بیشتری را فراهم می کنند.
نتیجه گیری :
آرایه های RAID باعث ایجاد سطح بالایی از کارایی و اطمینان برای ذخیره سازی سرور می شوند . درحالیکه RAID1 نقطه شروع خوبی برای برنامه هایی مانند ایمیل و وب سرور است ، RAID10 برای برنامه های دیتابیس پشنهاد داده می شود .RAID5 , RAID50 می توانند جهت کاربردهای پشتیبانی با خطای پایین و ظرفیت ذخیره سازی بالا استفاده شوند .