RAID چیست؟
RAID چیست؟
Raid یا Redundant Array of Inexpensive Disks نوعی تکنولوژی است که باعث افزایش امنیت و بالا بردن قابلیت اطمینان ذخیره سازی از طریق تکنیک های مرتب کردن دیسک ها به شکل آرایه می شود. آرایه ی RAID توسط چندین دیسک فیزیکی که با ساختار RAID مانند RAID0,RAID1 و . . . پیکربندی شده اند ایجاد می شود . در حالی که آرایه RAID داده ها را از طریق چندین دیسک توزیع می کند ، اما سیستم عامل سرور به عنوان یک دیسک آن را در نظر می گیرد .
در سال های اخیر، با توجه به مشکلات متعددی که باعث از دست رفتن اطلاعات هارد دیسکها و در نتیجه خسارات مالی فراوان میشود، استفاده از تکنولوژی که بتواند از وقوع این گونه مشکلات جلوگیری کند، از اهمیت بالایی برای کاربران برخوردار است.
در سال ۱۹۸۷ سه محقق دانشگاه کالیفرنیا به نامهای David Patterson، Garth A. Gibson و Randy Katz برای اولین بار اصطلاح RAID را که عنوان مقاله A Case for Redundant Arrays of Inexpensive Disks (RAID) بود، به کار بردند. آنها نظریه خود را با این عنوان که ذخیره و بازیابی اطلاعات بر روی هارد دیسکهای گوناگون میتواند باعث افزایش کارایی سیستم، کاهش هزینه و همچنین کم کردن میزان انرژی مصرفی برای انجام کار شود، مطرح کردند.
RAID در ابتدا برای استفاده در دیسکهای SCSI مطرح شد، با گذشت زمان و پیشرفت فناوری استفاده از این تکنولوژی در دیسکهای IDE ناموفق بود. اما بعد از آن در دیسکهای SATA به اوج خود رسید.
وسایل ذخیره سازی قدیمیتر، معمولا از یک هارد دیسک برای ذخیره اطلاعات استفاده میکردند ولی پس از به وجود آمدن RAID، سیستمها قادر بودند تا اطلاعات را بر روی چندین هارد دیسک ذخیره نمایند. به این ترتیب اطلاعات به صورت پشت سرهم به بخشهایی شکسته و در چندین هارد دیسک ذخیره میشوند. این نحوه ذخیره سازی این امکان را فراهم می کرد که در کنار بهبود ساختن کارایی سیستم، ظرفیت ذخیره سازی اطلاعات نیز افزایش پیدا کند.
امروزه این تکنولوژی تقریبا در همه وسایل ذخیره سازی به کار رفته است. با این وجود باز هم وسایلی هستند که از این تکنولوژی استفاده نمیکنند. سیستمعامل و کاربران به این حقیقت که وسیله ذخیره سازی از چندین هارد دیسک تشکیل شدهاست پی نمیبرند، و با آن مانند یک دیسک مستقل رفتار میکنند. به کمک RAID اطلاعات میتوانند به صورت موازی بر روی یک یا چند هارد دیسک ذخیره شوند؛ بنابراین اگر یکی از دیسکها با مشکل مواجه شود، اطلاعات باز در دسترس خواهد بود.
معماری های مختلف RAID جهت برآورده شدن حداقل یکی از دو اهداف زیر طراحی شده اند:
افزایش قابلیت اطمینان داده
افزایش کارایی داده های ورودی و خروجی
مفاهیم
RAID در واقع آرایه ای است که از دو دیسک سخت و یا بیشتر که در روی یک واحد قرار گرفته اند تشکیل شده است . برای این که به آرایه RAID سه ویژگی بیشتر در مقایسه با JBOD داده شود سه مفهوم اساسی زیر استفاده می شوند :
- Mirroring
- Striping
- Error correction
Mirroring
یعنی داده ها در بیش از یک دیسک نوشته شوند . مثال اساسی Mirroring آرایه RAID1 با دو دیسک است. هر دو دیسک محتوای یکسانی دارند. زمانی که برای درایو اولی مشکلی پیش آید، عملیات خواندن و نوشتن به شکل مستقیم در دیسک دوم انجام می شود. عملیات خواندن در ارایه های Mirroring در مقایسه با دیسک تنها به دلیل این که سیستم، داده ها را از چندین دیسک و در یک زمان می خواند سریع تر است. اگرچه عملیات نوشتن از آن جایی که داده ها باید در چند دیسک به جای یک دیسک نوشته شوند ، کند تر است. بازسازی آرایه دیسک mirroring شده بسیار آسان است داده ها از دیسک سالم به دیسک جدید کپی می شوند . در طول بازسازی کارایی خواندن کاهش پیدا می کند. چرا که تنها یک دیسک mirroring قابل استفاده می باشد.
Striping
عملیات جداسازی داده ها از چندین دیسک است. برای مثال آرایه RAID 0 داده ها را در دو دیسک قرار می دهد که این کار تنها کارآیی را افزایش می دهد . عملیات خواندن و نوشتن در آرایه ی Striping در مقایسه با دیسک های تکی سریع تر است.
Error correction
داده های parity را با روشی که به آن ها اجازه یافته شدن و احتمال تصحیح مشکلات را بدهد بر روی دیسک ذخیره می کند . RAID5 مثال خوبی از مکانیزم تصحیح خطا است . مثلا آرایه RAID5 از سه نوار داده در دو دیسک اول تشکیل شده و parity را در دیسک سومی قرار می دهد . مکانیزم تصحیح خطا باعث کاهش کارایی خصوصاً در عملیات نوشتن می شود چراکه هم داده و هم parity باید نوشته شود .
طراحی شمای raid شامل حفاظت از داده و کارایی آن می شود . با توجه به نیازهای سرور شما باید پیکربندی مناسب RAID را انتخاب نمایید.
در ادامه نحوه پیاده سازی چند RAID مختلف آمده است :
RAID0 : این نوع پیاده سازی کاملی از striping است . برای پیاده سازی آن حداقل دو نوع دیسک مورد نیاز است . اطلاعات parity با هدف ردوندانسی ذخیره نمی شود . نکته مهم این است که RAID 0 یکی از سطوح raid اصلی نمی باشد و REDUNDANCY داده ها را فراهم نمی نماید . raid 0 برای افزایش کارایی مورد استفاده قرار می گیرد .و برای جاهایی که افزونگی مهم نیست بسیار مفید است . این نوع raid می تواند دیسک ها با اندازه مختلف را ایجاد نماید اما فضای کلی آرایه با توجه به کوچکترین دیسک محدود می شود . مثلا اگر یک دیسک ۴۵۰ گیگابایتی با دیسک ۳۰۰ گیگا بایتی وجود داشته باشند ، فضای قابل استفاده آرایه به شکل زیر محاسبه می شود:
۲ x min(450GB, 300GB) = 600GB.
برای عملیات خواندن و نوشتن با بلاک های کوچک مانند پایگاه داده اکسس داده ها به صورت مستقل واکشی خواهد شد . سرعت انتقال آرایه معادل سرعت همه ی دیسک هاست که با سرعت کنترلر raid محدود می شود . برای خواندن و نوشتن داده ها با بلاک های بزرگتر مانند کپی فایل ها و یا ویدئو ، داده ها در یک دیسک ، واکشی شده و کارایی ارایه RAID0 کاهش پیدا خواهد کرد.
RAID1 : پیاده سازی ضعیفی از mirroring است و حداقل دو دیسک برای پیاده سازی این تکنولوژی مورد نیاز است . این زمانی مفید است که کارایی خواندن یا اطمینان از ذخیره سازی برای ما مهم تر باشند . از آنجایی که هر دیسک یک نسخه کامل از داده ها را نگهداری می کند ، آدرس دهی آن مستقل بوده و به دنبال آن قابلیت Tear and wear افزایش پیدا می کند . در این تکنولوژی مانند RAID0 نیز زمانی یک دیسک ۴۵۰ گیگابایت با یک دیسک ۳۰۰ گیگابایت mirror شود ، فضای قابل استفاده ی آرایه حداقل در نظر گرفته می شود . یعنی ۴۵۰GB, 300GB) = 300GB .
RAID5 : در تکنولوژی RAID5 آرایه از striping بلاک شده به همراه بلاک های parity پخش شده در همه ی دیسک ها استفاده می کند . دیسکی که برای بلاک parity استفاده می شود ، از یک strip به دیگری به صورت متناوب کار می کند . برای این تکنولوژی حداقل ۳ دیسک نیاز داریم . این تعداد برای RAID6 برابر حداقل ۴ دیسک می باشد . با افزایش مقدار RAIDD تعداد دیسک ها نیز افزایش می یابد .
گونه ای از دیسک ها به نام Hot spare نیز وجود دارد که به عنوان پشتیبانی برای آرایه RAID به کار می روند . این دیسک ها به صورت فیزیکی در آرایه نصب شده وتا زمانیکه دیسک های فعال از کار بیفتند غیر فعال هستند . کنترلر RAID به صورت اتوماتیک درایوهای fail را با دیسک spare تعویض می کند و شروع به ایجاد مجدد فرآیند ها برای آرایه می نماید . برای مثال آرایه ی RAID5 با یک دیسک Hotspare مساوی تعداد دیسک های RAID6 بوده و از نظر حفاظت در هنگام به وجود آمدن خطا تسهیلات بیشتری را فراهم می کنند.
نتیجه گیری
آرایه های RAID باعث ایجاد سطح بالایی از کارایی و اطمینان برای ذخیره سازی سرور می شوند . درحالیکه RAID1 نقطه شروع خوبی برای برنامه هایی مانند ایمیل و وب سرور است ، RAID10 برای برنامه های دیتابیس پشنهاد داده می شود .RAID5 , RAID50 می توانند جهت کاربردهای پشتیبانی با خطای پایین و ظرفیت ذخیره سازی بالا استفاده شوند .