پرش لینک ها

جلوگیری از حذف یکباره اطلاعات با RAID

تاریخچه RAID

اصطلاح RAID که بیانگر Redundant Array of Inexpensive Disks است، در سال ۱۹۸۷ توسط سه دانشمند در عرصه کامپیوتر با نام های دیوید پترسون و رندی کتز و گارث آلن گیبسون، مطرح شد. ایده این سه نوآور در مقاله‌ای که در سال ۱۹۸۸ برای بنیاد SIGMOD تهیه کردند این بود که با داشتن آرایه‌ای از دیسک های ارزان قیمت، می‌توان به کارایی دیسک های High level دست یافت. با استفاده از افزونگی یا Redundancy، آرایه رید از یک تک دیسک، قابل اطمینان‌تر است.

جهت خرید و نصب انواع دوربین مداربسته در تهران با ما تماس بگیرید.

RAID چیست ؟

RAID  در واقع تکنولوژی مجازی سازی ذخیره دیتا است. درRAID چند هارد درایو فیزیکی با هم ترکیب می‌شوند و یک یا چند واحد لاجیکال و منطقی ایجاد می‌کنند. جمله ساده تر تعریف رید این می‌شود که داده و اطلاعات را بین چند هاردی که با هم رید بسته شده‌اند توزیع کنیم که البته سیستم عامل‌، این هاردهای RAID شده را به عنوان یک هاردِ واحد شناسایی خواهد کرد.

این فناوری با هدف افزایش امنیت تصاویر یا اطلاعات حیاتی ذخیره شده استفاده می‌شود. در این تکنولوژی معمولا به طور همزمان از چند عدد هارد دیسک برای ذخیره اطلاعات حیاتی استفاده می‌گردد. در این تکنولوژی از اصطلاح آرایه ( Array ) جهت مشخص شدن نحوه مرتب کردن ضبط تصاویر استفاده می شود که در این زمینه انواع RIDE ها را برای شما به صورت جداگانه در گزینه‌های زیر شرح خواهیم داد.

تکنولوژی های ذخیره داده در RAID

روش striping یا نواری : در تکنیک نواری، دیتا به بلاک هایی مساوی تقسیم می‌شود و سپس این Block های داده به صورت یک به یک در RAID قرار می‌گیرند. یعنی پارتیشن های Striping روی چند هارد قرار می‌گیرند.

سیستم‌های ذخیره سازی این تکنیک را به روش‌های مختلفی انجام می‌دهند: در سطح بایت یا بلاک یا پارتیشن. حتی داده می‌تواند روی همه یا بخشی از دیسک های یک کلاستر Stripe شود. مثلا استوریجی با ده هارد دیسک می‌تواند بلاک‌های ۶۴ کیلوبایتی را روی دیسک اول، دوم، سوم، چهارم و پنجم، Stripe کند و دوباره به دیسک اول بازگردد. سیستمی دیگر دیتاهای یک مگابایتی را رو هر یک از ده دیسک ذخیره می‌کند و دوباره به دیسک اول بازگشته و این فرآیند ادامه دارد.

روش mirroring یا آیینه ای : در تکنیک آیینه ای، نسخه های یکسانی از داده هر هارد، روی هارد دیگر موجود در رید قرار می‌گیرند. یعنی داده های یکسانی روی بیش از یک هارد وجود دارد.

تکنیک parity یا افزونه:  در روش parity، دیتا مانند روش نواری به بلاک های یکسان تقسیم و به طور همزمان و با استفاده از تکنیک checksum در RAID ذخیره می‌شوند . در این تکنیک از تابعی استفاده می‌شود که هنگام بروز خرابی در یک هارد ، بلاک از بین رفته را به کمک chechsum دوباره محاسبه می‌کند.

امکان ترکیب این سه روش ذخیره سازی وجود دارد و می‌توانید بر اساس نیازتان در امنیت و کارایی، از ترکیب آنها استفاده کنید.

RAID 0 چیست ؟

RAID 0 : دارای پیکربندی Striping یا نواری است به همین دلیل RAID 0 به نام Striping یا نواری نیز شناخته می‌شود. بهترین کارایی را دارد، افزونگی دیتا ندارد و Fault Tolerance هم ندارد و ضریب خطای آن صفر است. برای تنظیم این نوع RAID به حداقل ۲ هارددیسک نیاز است. در بین تمام RAID ها سریع‌ترین نوع محسوب می‌شود.

RAID 0 اطلاعات را به قسمت‌های مساوی به نام Stripe یا Chunk (نواری و قطعه قطعه) تقسیم کرده و هر قسمت را روی یک هارد ذخیره می‌کند یعنی بین مجموعه هاردهای موجود در آرایه توزیع و ذخیره می‌کند .

کاربرد RAID 0 چیست؟

با توجه به آنچه گفتیم، RAID 0 برای ذخیره داده‌هایی که حساس و مهم نیستند و سرعت بالا در خواندن و نوشتن نیاز دارند، مناسب است مثل live streaming video و ادیت ویدئو که کارایی و سرعت مطرح است.

یکی دیگر از کاربردهای RAID 0 این است که Striping بدون Redundancy برای داده‌های موقتی، فضای چرک نویس فراهم می‌کند. همچنین در مواردی که کپی اصلی از داده موجود است و به راحتی از دستگاه‌های استوریج دیگر قابل ریکاوری است می‌توان از RAID 0 استفاده کرد .

RAID 1 چیست؟

RAID 1 دارای پیکربندی Mirroring است و Striping ندارد به همین دلیل RAID 1 به نام Mirror یا آینه‌ای نیز شناخته می‌شود. حداقل دو هارد دیسک لازم دارد تا داپلیکیت دیتا را فراهم کند. کارایی خواندن بالاست زیرا از هر دو دیسک همزمان می‌تواند بخواند. کارایی نوشتن همانند نوشتن روی یک هارد دیسک است: توجه دارید که نوشتن، دو بار و روی دو دیسک انجام می‌شود و در نتیجه کارایی نوشتن از کارایی خواندن پایین تر است.

RAID 1 حداقل به ۲ هارددیسک برای راه‌اندازی نیاز دارد و تعداد هارددیسک‌ها باید زوج باشد. در این مدل، ثبت اطلاعات روی هر دو دیسک انجام می‌شود بدین گونه که دیتا روی یک هارددیسک ذخیره می‌شود و سپس همان دیتا روی هارددیسک دیگری نوشته می‌شود. به عنوان مثال اگر ۴ هارددیسک را با این روش RAID کنیم، دو هارددیسک، کپی دیتای دو هارددیسک دیگر می‌شود.

مهم ترین عیب RAID 1 این است که نیمی از فضای ذخیره سازی را از دست می‌دهیم. در واقع روشی گران‌قیمت است و تعداد معدودی سازمان های انترپرایزی و یزرگ از آن استفاده می‌کنند. فضای مفید برای ذخیره دیتا در RAID 1 از RAID 5 و RAID 6 کمتر است. اما سرعت ریکاوری در RAID 5 و RAID 6 از RAID 1 پایین تر است.

کاربرد RAID 1 چیست ؟

کاربرد RAID 1 در محیط‌هایی است که به کارایی و دسترسی بالا و دسترس پذیری بالا نیاز است مانند اپلیکیشن‌های Transactional و سیستم عامل ها و ایمیل ها. RAID 1 همچنین در اپلیکیشن هایی که خواندن بسیار سریعی لازم دارند مناسب است. اگر درایوهای اصلی آرایه خراب شود، ترافیک به درایوهای ثانویه یا میرور شده و بکاپ شده سوییچ می‌کند.

یکی دیگر از کاربردهای RAID 1 استفاده در آرشیو داده است یعنی جایی که از دست رفتن اطلاعات، غیرقابل قبول است.

RAID 5 چیست ؟

RAID 5 دارای پیکربندی Parity Block-Level Striping است یعنی داده را استرایپ می‌کند و پریتی را هم بین تمام هاردها توزیع می‌کند پس دیسک جداگانه برای پریتی نداریم. اطلاعات پریتی در هر درایو به صورت نوار در می‌آید و به همین خاطر اگر حتی یک درایو Fail شود، آرایه RIAD به کار خود ادامه می‌دهد. معماری رید ۵ به گونه‌ای است که عملیات خواندن و نوشتن از چند درایو ممکن است که در مقایسه با حالتی که فقط از یک درایو انجام می‌شود، کارایی بهتری ارایه می‌دهد. اما این کارایی در RAID 5 به پای کارایی در RAID 0 نخواهد رسید. سرعت خواندن و نوشتن در RAID 5نسبت به RAID 0  پایین‌تر و نسبت به RAID 1 بالاتر است.

برای پیاده سازی RIAD 5 حداقل به ۳ دیسک نیاز است اما اغلب برای کارایی بیشتر، توصیه می‌شود حداقل ۵ دیسک استفاده شود. اطلاعات، روی دو هارددیسک اول و دوم ذخیره می‌شود و سپس محاسباتی روی دیتا انجام داده و با نام بیت افزونه یا Parity آن را روی هارد سوم ذخیره می‌کند. در دفعات بعدی Parity را روی هارددیسک‌ها می‌چرخاند. در این نوع RAID حدودا فضای یک هارددیسک را از دست می‌دهیم و چنانچه یک هارددیسک به هر دلیلی دچار مشکل شود، سیستم بدون وقفه به ادامه کار خود می‌پردازد. پس از اینکه یک هارددیسک دچار مشکل شد می‌توان یک هارد دیسک جدید روی سرور قرار داد و دیتا روی آن شروع به ریکاور شدن می‌کند.

کاربرد RAID 5 چیست؟

RAID 5 برای پایگاه‌های داده مانند SQL مناسب است. این RAID برای سیستم‌هایی که عملیات نوشتن زیاد و فشرده بر روی هاردها را دارند و در اصطلاح سیستم‌های (فشرده نویسی)Write Intensive هستند، اصلا گزینه مناسبی نیست زیرا عملیات تولید بیت افزونه Parity در زمان نوشتن اطلاعات کمی زمان‌بر است و کارایی نوشتن را کم می‌کند.

RAID 10 چیست ؟

RAID 10 یا RAID 1+0 از ترکیب RAID 1 و RAID 0 به دست آمده است. RAID 10 در مقایسه با RAID 1 کارایی بالاتری دارد اما هزینه بیشتری هم دارد. دیتا در RAID 10 ابتدا Mirror و سپس Stirpe می‌شود.

از معایب ترکیب تکنیک Mirroring و Striping این است که نیمی از ظرفیت هارد درایو ها را به دلیل تامین امنیت داده از دست می‌دهیم.

برای راه‌اندازی RAID 10 حداقل ۴ هارددیسک نیاز است و به این صورت عمل می‌کند که داده‌ها را بین هاردهای آینه‌ای شده به صورت نواری توزیع می‌کند. مادامی که یک هارددیسک از هر جفت هارد آینه‌ای شده، فعال باشد اطلاعات قابل بازیابی هستند. اما اگر هر دو هارد از یک جفت آینه‌ای Fail شوند، اطلاعات به دلیل عدم وجود بیت افزونه (Parity) دیگر قابل دسترس نخواهد بود.

ذخیره سازی بخش بسیار مهمی از تحمل خطا است. اگر برای داده های یک شرکت اتفاقی بیفتد مانند خرابی دیسک ،که منجر به از دست رفتن داده ها شود، آنگاه می تواند تأثیر جدی بر نحوه عملکرد شرکت داشته باشد. به همین دلیل است که باید مطمئن شویم که اگر دیسکی از کار بیفتد، هیچ گونه از دست دادن اطلاعات رخ نمی دهد. و یکی از بهترین راه ها برای جلوگیری از از دست رفتن داده ها، RAID است، در راه اندازی RAID، داده ها روی چندین دیسک کپی می شوند اکنون RAID 0 قابل تحمل خطا نیست. در واقع RAID 0 نباید RAID نامیده شود زیرا نه تنها تحمل خطا را ارائه نمی دهد، بلکه در واقع شانس از دست دادن داده ها را افزایش می دهد. زیرا در RAID 0، داده ها تکراری نیستند و در واقع در دو قسمت پخش می شوند. بنابراین تنها یکی از این دیسک‌ها از کار می‌افتد، یا اگر تصمیم دارید آن را با چکش نابود کنید، تمام داده‌ها از بین می‌روند. بنابراین تنها دلیلی که می‌خواهید از RAID 0 استفاده کنید سرعت است. زیرا زمانی که به جای یک، 2 کنترلر دیسک کار می کنند، دسترسی به داده ها بسیار سریعتر است. اکنون RAID 1 قابل تحمل خطا است. در راه اندازی RAID 1 داده ها روی بیش از یک دیسک کپی می شوند. بنابراین دیسک 2 دقیقاً یک کپی از دیسک 1 خواهد داشت. بنابراین در صورت خرابی یک دیسک، مانند از بین رفتن توسط پرتو لیزر، پس از دست دادن اطلاعات رخ نمی دهد زیرا دیسک دیگر دارای یک نسخه تکراری است.

برای استفاده از RAID 5 باید 3 یا بیشتر دیسک داشته باشید. RAID 5 احتمالاً رایج ترین راه اندازی است که استفاده می شود زیرا سریع است و می تواند مقدار زیادی داده را ذخیره کند. بنابراین در یک راه‌اندازی RAID 5، داده‌ها تکراری نیستند، بلکه در چندین دیسک پخش می‌شوند. و برای بازسازی داده‌ها در صورت خرابی دیسک استفاده می‌شود. اما RAID 5 یک نقطه ضعف دارد، زیرا از آنجایی که معادل کل دیسک برای ذخیره برابری استفاده می‌شود، مقدار جمعی از داده‌ها را دوباره مصرف می‌کند. در این آرایه ذخیره می شود، به عنوان مثال، اگر هر 4 دیسک موجود 1 ترابایت باشد، که مجموعاً 4 ترابایت است، اما در راه اندازی RAID 5، کل مقداری که برای ذخیره سازی داده ها استفاده می شود، 3 ترابایت خواهد بود، زیرا معادل 1 دیسک کامل برای ذخیره برابری استفاده می شود.

در نهایت RAID 10 وجود دارد ، RAID 10 اساساً همان چیزی است که RAID 1 و RAIN 0 را با هم ترکیب می کند، و شما باید حداقل از 4 دیسک استفاده کنید. بنابراین در راه اندازی RAID 10، مجموعه ای از 2 دیسک هستند. با استفاده از راه‌اندازی RAID 1 منعکس شده است. سپس هر دو مجموعه از دو دیسک با استفاده از RAID 0 راه راه می‌شوند. بنابراین RAID 10 از تحمل خطا RAID 1 و سرعت RAID 0 بهره می‌برد.

اما نقطه ضعف RAID 10 این است که شما فقط می توانید از 50 درصد ظرفیت برای ذخیره سازی داده ها استفاده کنید. بنابراین اگر از چهار دیسک در راه اندازی RAID 10 استفاده می کنید، فقط می توانید از دو عدد از آنها برای ذخیره سازی واقعی استفاده کنید. شما میتوانید با توجه به نوع دستگاه و تعداد هاردهایی که میتوانید در دستگاه استفاده کنید نوع RAID مد نظر خود را انتخاب کنید.