چگونه یک RAID مناسب انتخاب کنیم؟- بخش اول
RAID چیست و چگونه کار میکند؟
امروزه با توجه به وابستگی بیش از حد به تکنولوژی و دیجیتال شدن دادهها و روالهای کسب و کار، از دست رفتن دادهها و اطلاعات شرکتهای کوچک و یا سازمانهای بزرگی مانند Data Centerها به معنای از دست رفت تجارتشان است. گرچه دو راهکار برای محافظت از دادهها وجود دارد؛ راهکار اول، پشتیبانگیری از دادههاست که بوسیله آن میتوانید از دادههای خود در برابر خرابیهای کلی سیستم، ویروسها و سایر ایرادات غیرقابل پیش بینی محافظت نمائید. اما راهکار دوم استفاده از قابلیتی به نام RAID میباشد به این صورت که با استفاده از آن در سطح هارد دیسکها از دادههای خود محافظت میکنید. هر دو راهکار برای اطمینان از این که دادههای شما از خطرات احتمالی در امان باشند ضروری هستند.
حال در بخش اول مطلب چگونه یک RAID مناسب انتخاب کنیم؟ قصد داریم در مورد انواع پیکربندی RAIDها، نحوه استفاده و چگونگی پیادهسازی آنها صحبت کنیم.
به یاد داشته باشید استفاده از RAID یک راهکار پشتیبانگیری قابل برنامهریزی نمیباشد. بلکه راهکاری برای تجمیع چندین هارد دیسک به منظور ایجاد یک فضای ذخیرهسازی یکپارچه با قابلیت تحمل خطا است. لذا تمام سازمانها و افراد میبایست یک راهکار و استراتژی مجزای پشتیبانگیری داشته باشند.
مفهوم RAID چیست؟
واژهی RAID در واقع مخفف عبارت Redundant Array of Inexpensive Disks میباشد.
RAID در واقع یک ساختار ذخیرهسازی داده است که به مدیر، طراح، سازنده و کاربر سیستم این امکان را میدهد تا تعداد دو و یا بیشتری هارد دیسک فیزیکی یا هارد SSD را باهم ترکیب کرده و با آنها یک Logical Unit یکپارچه یا همان آرایه (Array) را ایجاد نماید. البته سیستم عامل نیز این Array ایجاد شده را به عنوان یک فضای ذخیرهسازی یکپارچه در اختیار خواهد گرفت.
سه فاکتور اساسی یک RAID موارد ذیل هستند:
1. قابلیت Striping یا RAID 0: بخشی از داده را برروی یک هارد دیسک مینویسد و بخشی دیگر را برروی هارددیسک دیگر، در این مدل زمان خواندن و نوشتن دادهها کاهش و عملکرد I/O افزایش مییابد.
2. قابلیت Mirroring یا RAID 1: در این مدلRAID، دادهها برروی یک هارد دیسک نوشته میشوند و سپس برروی هارد دیسک دیگر کپی خواهند شد. از ویژگیهای این مدل میتوان به جلوگیری از Data Loss در مواقعی که یکی از هارددیسکها Failed میشود اشاره کرد.
3. قابلیت Parity در RAID 5 و RAID 6: این مدل دارای قابلیت تحمل خطا (Fault Tolerance) میباشد. ساختار این مدل به این گونه است که ذخیره سازی دادهها برروی دو هارد صورت گرفته و Parity تولید شده از دادههای موجود برروی همان دو هارد دیسک نیز برروی هارد دیسک سوم ذخیره میگردند. لذا زمانی که یک هارد دیسک Failed شده نیز جایگزین میشود، دادههای از بین رفته از طریق Parityهای ذخیره شده برروی سایر هارددیسکها مجددا قابل بازیابی میباشند.
همچنین به یاد داشته باشید امکان ترکیب این مدل RAIDها با یکدیگر نیز وجود دارد و میتوان پیکربندی جدیدی از RAIDها مانند RAID 10, 50 را فراهم آورد.
در تمام این مدلها RAID Controller وظیفه مدیریت هارددیسکها را برعهده دارد. پیکربندیهای متفاوت برای افزایش عملکرد، افزایش فضای ذخیرهسازی، افزایش امنیت بوسیله افزونگی (Redundancy) و مقرون به صرفه بودن راهکار متناسب با نیاز کاربر صورت میپذیرد.
تفاوت RAID سختافزاری و RAID نرمافزاری
یک RAID میتواند سختافزاری و یا نرمافزاری باشد. RAID سختافزاری وابسته به یک کنترلر فیزیکی موجود برروی درگاه PCIe سرور و یا به صورت Onboard یعنی (RAID-on-Chip یا همان ROC) میباشد. کنترلر تمام قابلیتهای RAID را بوسیلهی پردازنده و حافظه اختصاصی خودش مدیریت میکند. بنابراین پردازنده اصلی سرور درگیر پردازشهای مربوط به فرآیند ذخیرهسازی نخواهد شد و تمام توان عملیاتی آن برای مدیریت نیازهای نرمافزارها و سیستم عامل و برنامههای کاربردی صرف خواهد شد.
مزایای RAID سختافزاری
-
عملکرد بهتر نسبت به RAID نرمافزاری
-
کنترلر در مواقعی مانند خرابی و بروزرسانی به آسانی قابل تعویض و جایگزینی میباشد.
معایب RAID سختافزاری
-
هزینههای بالاتر نسبت به RAID نرمافزاری
اما یک RAID نرمافزاری برای پردازش فرآیندهای ذخیرهسازی کاملا به پردازنده سیستم وابسته خواهد بود.
مزایای RAID نرمافزاری
-
هزینه کمتر به دلیل عدم نیاز به کنترلر سختافزاری
معایب RAID نرمافزاری
-
عملکرد پایینتر؛ چرا که تنها بخشی از توان پردازشی CPU اصلی سیستم به آن اختصاص داده میشود.
عملکرد یک RAID چگونه است؟
در یک RAID نرمافزاری، پیادهسازی RAID مانند راهاندازی یک برنامه کاربردی برروی سیستم میزبان میباشد. این مدل RAID از هارددیسکهای متصل به کامپیوتر بوسیلهی یک I/O Interface تعبیه شده برروی Motherboard و یا یک کارت Host Bus Adapter) HBA) بدون توان پردازشی استفاده میکند. RAID نرم افزاری به محض اینکه سیستم عامل درایور نرمافزاری RAID را بارگذاری نماید، فعال میشود.
اما در یک RAID سختافزاری، کنترلر یک پردازنده و حافظه اختصاصی همراه با چندین درگاه اتصال برای شناسایی هارددیسکها به صورت مستقیم توسط خودش و یا برروی یک Hot-Swap Backplanes در اختیار دارد.
در هر دو حالت سختافزاری و نرمافزاری، یک RAID از چندین هارددیسک مجزا که به عنوان یک Logical Disk شناخته میشوند تشکیل شده است. سیستم عامل با این هارددیسکها همان گونه برخورد میکند که با هر هارددیسک دیگری در کامپیوتر برخورد میکند. در واقع برای سیستم عامل تفاوتی بین هارددیسکهای متصل به Motherboard و یا یک RAID Array ایجاد شده توسط RAID Controller وجود ندارد.
اما در عملکرد نهایی و انعطافپذیری، RAID سختافزاری برای استفادههای رایج در سرورها مناسبتر و بهینهتر میباشد.