RAID چیست؟ هر آنچه درباره تکنولوژی RAID باید بدانید!
RAID مخفف Redundant Array of Inexpensive (Independent) Disks است که یک مکانیزم پیشرفته برای هارددیسکهاست که باعث میشود چندین هارددیسک با یکدیگر کار کنند و نتیجه آن سرعت، اطمینان (Reliability) و عملکرد بالاست. RAID بیشتر در سمت سرورها معنی پیدا میکند و انواع و اقسام متفاوتی دارد که در مطلب تفاوت دیسک Basic با Dynamic به آن اشاره کردیم. اگر قصد خرید سرور سختافزاری را داشته باشید قطعا با واژه RAID برخورد خواهید کرد پس بهتر است بدانید که RAID چیست و کاربرد آن چگونه است؟
RAID چیست و چرا از RAID استفاده میکنیم؟
RAID معماری است که از طریق آن دو یا چند دیسک با همدیگر کار میکنند تا باعث ایجاد عملکرد بالا شوند. مفهوم عملکرد در اینجا میتواند معانی متفاوتی داشته باشد که میتوان به سرعت و تحمل خطاپذیری (Fault Tolerance) اشاره کرد. بسته به نوع RAID استفاده شده در سرور یا هر سختافزاری دیگر میتوان دقیقتر در مورد سرعت و تحملخطا صحبت کرد. RAID روی هارددیسکهای داینامیک قابل پیادهسازی است.
بیشتر بخوانید:«تفاوت دیسک Basic با Dynamic در چیست؟»
چه زمانی باید از RAID استفاده کنیم؟
RAID را برای یک سرویسی اجرا میکنید که شما و یا سازمانی که در آن کار میکنید نیاز دارد به شدت UP باشد و Down نشود. درسته که بکاپ باعث میشود که شما از فاجعه جلوگیری کنید و اطلاعات از دست ندهید یا اصطلاحا Data Loss نداشته باشید اما بازگردانی حجم زیاد اطلاعات زمانبر خواهد بود. اتفاق بدتر این است که سرویس شما از دسترس خارج شده است. RAID برای زمانی مناسب است که Downtime یا Data Loss نمیخواهید داشته باشید حتی اگر یک یا چند هارددیسک بسوزد و از بین برود.
علاوه بر این RAID برای زمانی که مشکل Read/Write اطلاعات دارید مناسب است. یعنی اپلیکیشنی دارید که برای اجرا شدن باید در صف هارددیسک منتظر بماند با راهاندازی RAID چون چند هارددیسک با همدیگر کار میکنند این مشکل حل خواهد شد.
چند نمونه از RAID های قابل پیادهسازی
تا اینجا متوجه شدیم که RAID چیست و چه کاربردی دارد. در ادامه با چند نمونه از RAID آشنا میشویم.
RAID 0
به این نوع Striped Volume هم میگویند. به این صورت است که اطلاعات روی دیسکهای موجود پخش میشود و سرعت خواندن و نوشتن اطلاعات بالاست ولی با خراب شدن یکی از هارددیسکها کل اطلاعات از بین میرود. برای زمانی مناسب است که از بین رفتن اطلاعات مهم نیست و فقط سرعت ارجعیت دارد. کلمه Stripe یعنی خطی.
RAID 1
به این نوع Mirrored Volume هم میگویند. به این صورت است که یک کپی از اطلاعات به صورت تمام و کمال روی تک تک دیسکها موجود است. سرعت خواندن و نوشتن اطلاعات در این نوع RAID بسیار کند است ولی در عوض قابل اعتماد است و با از بین رفتن یکی از دیسکها اطلاعات از بین نمیرود. مناسب برای سازمانهایی است که میخواهند سرویس آنها Uptime بالایی باید داشته باشد و همیشه در دسترس باشد.
RAID 5
این نوع RAID که به striped volume with parity نیز معروف است مکانیزم کاری آن همانند RAID 0 است با این تفاوت که یکسری اطلاعات به نام Parity دارد که آن را بین دیسکها پخش میکند تا هنگام خراب شدن یک دیسک بتوان آن را از طریق دیسکهای دیگر بازیابی کرد. برای تشکیل RAID 5 حداقل باید 3 عدد دیسک داشته باشیم و میزان فضای یک دیسک به Parity اختصاص مییابد و قابل استفاده نیست. از این نوع RAID زیاد استفاده میشود و معمولا به صورت پیشفرض روی سرورها تنظیم و کانفیگ شده است. فضای یکی از هارددیسکها در RAID5 قابل استفاده نیست.
RAID 6
کاملا مانند RAID 5 است با این تفاوت که تحمل خطای آن به 2 عدد دیسک رسیده است یعنی با از بین رفتن دو عدد هارددیسک مشکلی به وجود نمیآید و برای اجرای آن حداقل 4 عدد دیسک نیاز داریم. RAID6 مشکلات RAID5 را حل کرده و تحمل خطا را تا دو عدد دیسک افزایش داده است.
RAID های دیگری نیز وجود دارند که از حوصله بحث خارج است بعنوان مثال RAID 10 که ترکیبی از RAID 1 و RAID 0 است. در تصویر زیر کاملا مشخص است به چه صورت عمل میکند.
RAID سخت افزاری یا نرمافزاری؟
RAID سخت افزاری نیاز به RAID Controller دارد که یک قطعه است که به صورت سختافزاری روی مادربرد قرار میگیرد و وظیفه کنترل کردن معماریهای RAID را دارد. هر RAID Controller توانایی پیادهسازی برخی از RAIDها را دارد و همچنین هارددیسکهای به خصوصی را پشتیبانی میکند.
برخی از RAIDها به صورت نرمافزاری قابل پیادهسازی نیستند و فقط از طریق سختافزار قابل پیادهسازی و پیکربندی هستند. قبل از انتخاب RIAD Controller به این موضوع دقت داشته باشید که چه نوع RAIDای قصد دارید پیاده کنید. RAIDهای نرمافزاری به هیچ تجهیزاتی نیاز ندارند و به صورت نرمافزاری پیاده میشوند و فقط برخی از RAIDهای معروف مانند RAID 0 و RAID 1 را پشتیبانی میکند و به هیچ وجه کارایی RAID سختافزاری را ندارند و فقط برای تست و یادگیری هستند.
چه انتظاراتی نباید از RAID داشته باشیم؟
- داشتن RAID به معنای Uptime صددرصد نیست چون ممکن است خود RAID Controller از کار بیفتد. البته هیچ چیز صددرصدی نیست.
- RAID را با بکاپ اشتباه نگیرید.
- RAID نمیتواند از بروز خطا در اطلاعات جلوگیری کند و همچنین خطاهایی که توسط ما بهوجود میآید.
- نمیتوان RAID را گسترش داد و به راحتی به آن دیسک اضافه کرد اگر قصد اینکار را دارید باید دوباره پیکربندی کنید.
بیشتر بدانید: «فایل سیستم چیست و تفاوت NTFS با FAT32 چیست؟»
نتیجهگیری کلی و نظر بخش IT
الان باید متوجه شده باشید که RAID چیست؟ اگر نشدید دوباره میگم. 🙂 RAID یک معماری است که چند عدد هارددیسک را به هم متصل میکند تا سرعت و کارایی را افزایش دهد و با توجه به نوع RAID مشخص میشود که سرعت افزایش پیدا میکند یا کارایی (Performance). RAIDها به دو صورت نرمافزاری و سختافزاری قابل پیاده شدن هستند و برای پیادهسازی نوع سختافزاری نیاز به یک سختافزار به نام RAID Controller داریم و برای نوع نرمافزاری هیچ تجهیزات جانبی نمیخواهید و از طریق Disk Management ویندوز و تبدیل کردن دیسک Basic به داینامیک قابل اجراست. خدایی دیگه باید بدونید که RAID چیست؟
اگر قصد اجرای RAID در یک محیط عملیاتی را دارید به هیچ وجه سراغ RAID نرمافزاری نروید که کارایی ندارد و قبل از خرید RAID سختافزاری حتما عنوان کنید که قصد پیادهسازی چه نوع RAIDای را دارید. امیدوارم آموزش RAID چیست مورد توجه شما قرار گرفته باشد. با بامادون هر چیزی را بهتر بدون و ما را به دیگران هم معرفی کنید.
منبع: بامادون | کپی و نشر مطلب با ذکر منبع و نام نویسنده بلامانع است.