رید (RAID) چیست ؟
رید یا RAID مخفف عبارت Redundant Array of Independent Disks یا آرایه افزونه دیسکهای مستقل بوده و یک فناوری مجازیسازی ، ذخیرهسازی داده را در اختیار ما قرار می دهد که باعث می شود چندین مؤلفه درایو دیسک فیزیکی را در یک یا چند واحد منطقی برای اهداف افزونگی دادهها (Data Redundancy) در چند مکان مختلف در کنار داده اصلی و ذخیره یکسان یک داده قرار می دهد که این اطلاعات اضافی به تصحیح خطاهای موجود و عملکرد بهتر منجر می شود . به طور خلاصه روشی برای ذخیرهسازی و یا تکثیر دادههای مشابه در مکانهای مختلفی بر روی یک سیستم میباشد. که به عنوان “دیسک تک بزرگ گران قیمت (SLED) شناخته می شود.بسته به سطح مورد نیاز افزونگی و عملکرد، داده ها به یکی از چندین روش، که سطوح RAID نامیده می شوند، در بین درایوها توزیع می شوند. طرحهای مختلف یا طرحبندیهای توزیع دادهها با کلمه «RAID» و به دنبال آن یک عدد نامگذاری میشوند.
بسیاری از سطوح RAID از یک طرح حفاظت از خطا به نام “تعادل” استفاده می کنند، روشی که به طور گسترده در فناوری اطلاعات مورد استفاده قرار می گیرد تا تحمل خطا را در مجموعه ای معین از داده ها فراهم کند. بیشتر آنها از XOR ساده استفاده می کنند، اما RAID 6 از دو parity مجزا به ترتیب بر اساس جمع و ضرب در یک فیلد خاص Galois یا تصحیح خطای Reed-Solomon استفاده می کند. RAID همچنین می تواند امنیت داده ها را با درایوهای حالت جامد (SSD) بدون هزینه سیستم تمام SSD فراهم کند. به عنوان مثال، یک SSD سریع را می توان با یک درایو مکانیکی منعکس کرد. برای اینکه این پیکربندی مزیت سرعت قابل توجهی را ارائه دهد، به یک کنترلر مناسب نیاز است که از SSD سریع برای همه عملیات خواندن استفاده کند.
انواع رید به چند دسته تقسیسم می شود ؟
در ابتدا، رید به پنج سطح استاندارد وجود داشت که عبارت بودن از RAID 0 ، RAID 1 ،RAID 2 ، RAID 3 ، RAID 4 اما تغییرات زیادی از جمله چندین سطح تو در تو و بسیاری از سطوح غیر استاندارد اختصاصی منجرب به سطوح RAID و فرمتهای داده مرتبط با آن توسط انجمن صنعت شبکه ذخیرهسازی (SNIA) در استاندارد فرمت رایج دیسک درایو RAID (DDF) استاندارد شده که باعث شد استاندارد های جدید به وجود آید که تمامی کنترلر ها آنها را پشتیبانی کنند مانند رید های RAID 0 ، RAID 1 ،RAID 5 ، RAID 6 ، RAID 10 ، RAID 50 ، RAID 60 که ما در اینجا به تضویح آنها می پردازیم .
- رید 0 Striping
- رید 1 Mirroring
- رید 2
- رید 3
- رید 4
- رید 5
- رید 6
- رید 10
- رید 50
- رید 60
رید Raid 0 یا Striping چیست و چه مزایایی دارد؟
RAID 0 بر پایه تکنیک Striped volume پایه گذاری شده است. به همین دلیل به نام Striped نیز شناخته می شود در رید صفر حداقل نیاز به دو عدد دیسک داریم . اگر تعداد دیسک ها را n در نظر بگیریم در این روش وقتی دیتایی به دست RAID Controller می رسد آن را به n قسمت تقسیم می کند و هر قسمت را داخل یک دیسک ذخیره می کند.خرابی هر درایو باعث می شود کل حجم و همه فایل ها از بین برود. در این مدل عملکرد سیستم به شکل مناسبی افزایش پیدا می کند. اما تحمل خطا تغییری نمی کند.در نهایت عدد صفر در نام گذاری این رید به معنی عدم داشتن Redundant در آن است.
مزایا استفاده از رید صفر :
سرعت بالا : به دلیل خواندن و نوشتن اطلاعات با سرعت بالا توان عملیات خواندن و نوشتن برای هر فایل در تعداد درایوها ضرب می شود، خواندن و نوشتن همزمان انجام می شود.
معایب استفاده از رید صفر :
نداشتن تحمل خطا : به عبارتی هر تعداد دیسک که داشته باشید و اطلاعات ذخیره شده بر روی یکی از آن ها آسیب ببیند، کل اطلاعات غیر قابل استفاده می شود ( اصلا تحمل خطا ندارد یعنی اگر یک دیسک Fail شود کل دیتا ناقص می شود.) و اطلاعاتی که بر روی دیسک های سالم دیگر وجود داشته باشد دیگر به درد نمی خورند.
هر چقدر تعداد دیسک های تشکیل دهنده آن بیشتر باشد، احتمال از بین رفتن اطلاعات بیشتر است، چرا که هر دیسک طول عمر مشخصی دارد و هر کدام که طول عمر کمتری داشته باشد منجر به حذف کامل اطلاعات می شود.
میانگین میزان خرابی حجم با تعداد درایوهای متصل افزایش مییابد.
رید Raid 1 یا Mirroring چیست و چه مزایایی دارد؟
RAID 1 شامل انعکاس داده ها (Data Reflection)، بدون parity یا خط کشی است. که باعث می شود داده ها به طور یکسان در دو یا چند درایو نوشته می شوند، در نتیجه یک “مجموعه آینه ای” (Mirroring) از درایوها تولید می شود. بنابراین، هر درخواست خواندن می تواند توسط هر درایو موجود در مجموعه سرویس شود. اگر درخواستی برای هر درایو موجود در مجموعه پخش شود، میتواند توسط درایوی که ابتدا به دادهها دسترسی دارد (بسته به زمان جستجو و تأخیر چرخشی آن) سرویس داده شود و عملکرد را بهبود بخشد. توان خواندن پایدار، اگر کنترلکننده یا نرمافزار برای آن بهینهسازی شده باشد، به مجموع خروجیهای هر درایو در مجموعه نزدیک میشود، درست مانند RAID 0. سرعت خواندن جزء سریع ترین ها می باشد و سرعت نوشتن کندتر از باقی رید ها می باشد زیرا هر درایو باید به روز شود و کندترین درایو عملکرد نوشتن را محدود می کند. آرایه تا زمانی که حداقل یک درایو کار می کند به کار خود ادامه می دهد.
مزایا استفاده از رید یک :
- افزایش سرعت که باعث می شود جزء سریع ترین ها به شمار آید در خواندن اطلاعات.
- اجرای آسان، زیرا فناوری سادهای است.
- تحمل در برابر خطا.
- به بازسازی اطلاعات نیازی ندارد. (درصورت خرابی یک هارد، دادهها به سادگی در هارد دیگر کپی میشوند.)
- استفاده از تمام فضای دیسک ها
معایب استفاده از رید یک :
در این نوع RAID اطلاعات همزمان میتواند از روی دو هارد خوانده شود و به همین علت سرعت Read & Write در این ساختار بالاست. اما سرعت نوشتن بر روی هارد در این ساختار هم اندازه سرعت نوشتن اطلاعات بر روی یک تک هارد است.
رید Raid 2 چیست و چه مزایایی دارد؟
RAID 2 شامل نوارهای سطح بیت با parity کد همینگ اختصاصی است. تمام چرخش اسپیندل دیسک هماهنگ است و داده ها به گونه ای (Stripes) هستند که هر بیت متوالی در یک درایو متفاوت است. parity کد همینگ در بیت های مربوطه محاسبه می شود و در حداقل یک درایو parity ذخیره می شود. این سطح فقط دارای اهمیت تاریخی است. اگرچه در برخی از ماشینهای اولیه (مثلاً ماشینهای فکری CM-2) استفاده میشد، از سال 2014 توسط هیچ سیستم تجاری موجود استفاده نمیشد.
رید Raid 3 چیست و چه مزایایی دارد؟
RAID 3 از خط کشی در سطح بیت با parity اختصاصی تشکیل شده است. تمام چرخش اسپیندل دیسک هماهنگ می شود و داده ها به گونه ای (Stripes) هستند که هر بیت متوالی در یک درایو متفاوت است. parity بر روی بایت های مربوطه محاسبه شده و در یک درایو parity اختصاصی ذخیره می شود. اگرچه پیادهسازیهایی وجود دارد، RAID 3 معمولاً در عمل استفاده نمیشود.
رید Raid 4 چیست و چه مزایایی دارد؟
RAID 4 از نوارهای سطح بلوک با parity اختصاصی تشکیل شده است. این سطح قبلاً توسط NetApp استفاده می شد، اما اکنون تا حد زیادی با پیاده سازی اختصاصی RAID 4 با دو دیسک parity ، به نام RAID-DP، جایگزین شده است.مزیت اصلی RAID 4 نسبت به RAID 2 و 3 موازی بودن I/O است: در RAID 2 و 3، یک عملیات I/O خواندنی به خواندن کل گروه درایوهای داده نیاز دارد، در حالی که در RAID 4 یک عملیات خواندن I/O انجام می شود. لازم نیست در تمام درایوهای داده پخش شود. در نتیجه، عملیات ورودی/خروجی بیشتری را می توان به صورت موازی اجرا کرد و عملکرد انتقال های کوچک را بهبود بخشید.
رید Raid 5 چیست و چه مزایایی دارد؟
RAID 5 از نوارهای سطح بلوک با parity توزیع شده تشکیل شده است. برخلاف RAID 4، اطلاعات parity بین درایوها توزیع میشود و برای کار کردن، نیاز به حضور همه درایوها به جز یکی می باشد . در صورت خرابی یک درایو واحد، خواندن های بعدی را می توان از parity توزیع شده محاسبه کرد به طوری که هیچ داده ای از بین نرود. RAID 5 به حداقل سه دیسک نیاز دارد . مانند همه مفاهیم تک parity ، پیادهسازیهای بزرگ RAID 5 به دلیل روندهای مربوط به زمان بازسازی آرایه و احتمال شکست درایو در حین بازسازی، مستعد خرابیهای سیستم هستند. بازسازی یک آرایه مستلزم خواندن تمام داده ها از همه دیسک ها می باشد، باز کردن فرصتی برای خرابی درایو دوم و از دست دادن کل آرایه است. RAID 5از چندین درایو برای دستیابی به تحمل خطا (fault tolerance) و افزونگی دادهها (data redundancy) استفاده میکند.
مزایا استفاده از رید پنج :
تحمل خطا در برابر خرابی یک هارد .
داده ها حتی پس از خرابی درایو و در حین تعویض هارد دیسک خراب در دسترس باقی می مانند زیرا کنترل کننده ذخیره سازی داده ها را روی درایو جدید بازسازی میکند.
معایب استفاده از رید پنج :
تراکنش های داده خواندنی در مقایسه با تراکنش های داده نوشتنی به دلیل محاسبه parity تا حدودی نصب به رید صفر کند می باشد .
رید Raid 6 چیست و چه مزایایی دارد؟
RAID 6 یا Double Parity از نوارهای سطح بلوک با parity توزیع شده دوگانه تشکیل شده است یعنی تکنیک striping و parity را در کنار هم به کار برده می شود . اما از دو parity به طور همزمان استفاده می شود. و باعث می شود دو برابری parity تحمل خطا تا دو درایو خراب را فراهم کند. این امر سبب میشود گروههای RAID بزرگتر عملیتر شوند، بهویژه برای سیستمهای با در دسترس بودن بالا، زیرا بازیابی درایوهای با ظرفیت زیاد بیشتر طول میکشد. RAID 6 به حداقل چهار دیسک نیاز دارد. هرچه ظرفیت درایو بزرگتر و اندازه آرایه بزرگتر باشد، انتخاب RAID 6 اهمیت بیشتری پیدا می کند.
مزایا استفاده از رید شش :
استفاده از تکنیک striping و parity را در کنار هم برای به کار برد بالاتر .
معایب استفاده از رید شش :
تراکنش های داده خواندنی با تراکنش های داده نوشتنی به دلیل محاسبه parity .
RAID هیبریدی چیست و به چند دسته تقسیم می شود ؟
رید هیبریدی به ما این اجازه را می دهد تا رید های تو در تو را در اختیار ما قرار می دهد . RAID هیبریدی به کنترل کننده های ذخیره سازی اجازه می دهند تا سطوح RAID تو در تو را ایجاد کنند . عناصر RAID ممکن است درایوهای جداگانه یا آرایه ها باشند. آرایه ها به ندرت بیش از یک سطح رید را در عمق خود قرار می دهند. آرایه نهایی به آرایه بالا معروف هستند . هنگامی که آرایه بالایی RAID 0 است (مانند RAID 5+0 ، RAID 1+0 ، RAID 6+0)، اکثر فروشندگان علامت “+” را حذف می کنند و (به ترتیب RAID 10 و RAID 60 ، RAID 50 را ارائه می دهند).
JBOD RAID N+N: با JBOD (فقط یک دسته دیسک)، میتوان دیسکها را به هم متصل کرد، اما حجمهایی مانند مجموعههای RAID را نیز به هم متصل میکند. با ظرفیتهای درایو بزرگتر، تأخیر نوشتن و زمان بازسازی بهطور چشمگیری افزایش مییابد (به ویژه، همانطور که در بالا توضیح داده شد، با RAID 5 و RAID 6). با تقسیم یک مجموعه RAID N بزرگتر به زیرمجموعه های کوچکتر و الحاق آنها با JBOD خطی، زمان نوشتن و بازسازی کاهش می یابد. اگر یک کنترلکننده RAID سختافزاری قادر به تودرتو کردن JBOD خطی با RAID N نباشد، میتوان JBOD خطی را با RAID نرمافزار سطح سیستمعامل در ترکیب با حجمهای زیر مجموعه RAID N جداگانه ایجاد شده در یک یا چند کنترلر RAID سختافزاری به دست آورد. علاوه بر افزایش شدید سرعت، این یک مزیت قابل توجه نیز ارائه می دهد: امکان راه اندازی یک JBOD خطی با مجموعه ای کوچک از دیسک ها و امکان گسترش کل مجموعه با دیسک هایی با اندازه های مختلف، بعدا (در زمان، دیسک های بزرگتر اندازه در بازار موجود شود). مزیت دیگری در قالب بازیابی فاجعه وجود دارد (اگر یک زیرمجموعه RAID N شکست بخورد، دادههای زیر مجموعههای RAID N دیگر از بین نمیروند و زمان بازیابی را کاهش میدهد).
Raid 10
RAID 1+0 : رید 10 متشکیل شده است از دو رید صفر و یک که دو نوار ایجاد می کند و آنها را Mirror می کند. اگر یک درایو منفرد خراب شود، یکی از آینه ها از کار افتاده است، در این مرحله به طور موثر به عنوان RAID 0 بدون نیاز به افزونگی اجرا می شود. خطر به طور قابل توجهی در هنگام بازسازی نسبت به RAID 1+0 معرفی میشود، زیرا تمام دادههای همه درایوهای موجود در نوار باقیمانده باید خوانده شوند و نه فقط از یک درایو، احتمال خطای خواندن غیرقابل جبران (URE) را افزایش میدهد و به طور قابلتوجهی گسترش مییابد.
RAID 1+0: یک مجموعه راه راه از یک سری درایوهای آینه ای ایجاد می کند. تا زمانی که هیچ آینهای تمام درایوهای خود را از دست ندهد، آرایه میتواند چندین تلفات درایو را حفظ کند.
Raid 50
RAID 5+0 : رید 50 متشکل شده است از دو رید صفر و پنج می باشد. حداقل 6 عدد دیسک مورد نیاز می باشد و نحوه پیکربندی مشابه با دیگر رید های ترکیبی می باشد. و از Main Raid و Sub Raid که ترکیب Raid 0 و Raid 5 می باشد استفاده می کند. تحمل خطا در رید ۵۰ در مقایسه با Raid 5 بیشتر است. چرا که در صورت بروز هرگونه مشکلی تنها، یکی از آرایه های اطلاعات تحت تاثیر قرار می گیرد.
Raid 60
RAID 6+0 : رید 60 از دو رید صفر و شش متشکل شده است در RAID 60 اطلاعات بین دو دسته هارد که RAID 6 شدهاند Striping می شوند. برای راهاندازی RAID 60 حداقل به ۸ عدد هارد نیاز خواهد بود. بدین ترتیب حتی اگر سیستم نیز دچار مشکلی شود باز می تواند بدون وقفه به کار خود ادامه دهد. در این نوع رید parity در آن دوبار تعریف شده است.
رید ها به چند دسته تقسیم می شوند ؟
رید ها به سه دسته رید نرم افزاری ، رید سخت افزاری و رید مبتنی بر سیستم عامل و درایور تقسیم می شوند .
رید مبتنی بر سخت افزار (Hardware RAID controllers)
کنترلرهای RAID سخت افزاری را می توان از طریق بایوس کارت یا Option ROM قبل از بوت شدن سیستم عامل پیکربندی کرد و پس از بوت شدن سیستم عامل، ابزارهای پیکربندی اختصاصی از سازنده هر کنترل کننده در دسترس است. برخلاف کنترلکنندههای رابط شبکه برای اترنت، که معمولاً میتوانند به طور کامل از طریق پارادایمهای رایج سیستم عامل مانند ifconfig در یونیکس، بدون نیاز به ابزارهای شخص ثالث پیکربندی و سرویسدهی شوند، هر سازنده کنترلکننده های RAID معمولاً ابزار نرمافزاری اختصاصی خود را ارائه میکنند. برای هر سیستم عاملی که فکر می کنند از آن پشتیبانی می کند، اطمینان از قفل شدن فروشنده، و کمک به مشکلات قابلیت اطمینان.
برای مثال، در FreeBSD، برای دسترسی به پیکربندی کنترلکنندههای RAID Adaptec، کاربران باید لایه سازگاری لینوکس را فعال کنند و از ابزار لینوکس Adaptec استفاده کنند، که به طور بالقوه ثبات، قابلیت اطمینان و امنیت راهاندازی آنها را به خطر میاندازد، به ویژه هنگام در نظر گرفتن دیدگاه بلندمدت.
برخی دیگر از سیستمعاملها چارچوبهای عمومی خود را برای ارتباط با هر کنترلکننده RAID پیادهسازی کردهاند و ابزارهایی را برای نظارت بر وضعیت حجم RAID و همچنین تسهیل شناسایی درایو از طریق چشمک زدن LED، مدیریت هشدار و تعیین دیسکهای داغ از داخل سیستم عامل ارائه میکنند. نیاز به راه اندازی مجدد در بایوس کارت به عنوان مثال، این رویکردی بود که توسط OpenBSD در سال 2005 با شبه دستگاه bio(4) و ابزار bioctl اتخاذ شد که وضعیت صدا را ارائه میدهد و امکان کنترل LED/alarm/hotspare و همچنین حسگرها (از جمله سنسور درایو) را فراهم میکند. ) برای نظارت بر سلامت؛ این رویکرد متعاقباً توسط NetBSD در سال 2007 اتخاذ و گسترش یافت.
رید نرم افزاری (Software RAID)
پیاده سازی نرم افزار RAID توسط بسیاری از سیستم عامل های مدرن ارائه شده است.
RAID نرم افزاری را می توان به صورت زیر پیاده سازی کرد:
لایهای که چندین دستگاه را انتزاع میکند و در نتیجه یک دستگاه مجازی را ارائه میکند (مانند md هسته لینوکس و softraid OpenBSD)
یک مدیر حجم منطقی عمومی تر (ارائه شده با اکثر سیستم عامل های کلاس سرور مانند Veritas یا LVM)
جزء سیستم فایل (مانند ZFS، Spectrum Scale یا Btrfs)
لایه ای که بالای هر فایل سیستمی قرار می گیرد و حفاظت برابری را برای داده های کاربر (مانند RAID-F) فراهم می کند.
برخی از سیستم های فایل پیشرفته برای سازماندهی مستقیم داده ها در چندین دستگاه ذخیره سازی بدون نیاز به کمک یک مدیر حجم منطقی شخص ثالث طراحی شده اند:
ZFS از معادلهای RAID 0، RAID 1، RAID 5 (RAID-Z1) تک برابری، RAID 6 (RAID-Z2) دو برابری، و نسخه سه برابری (RAID-Z3) که RAID 7 نیز نامیده میشود، پشتیبانی میکند. همانطور که همیشه روی vdev های سطح بالا راه راه می رود، معادل سطوح RAID تو در تو 1+0، 5+0 و 6+0 (و همچنین مجموعه های برابری سه گانه راه راه) را پشتیبانی می کند، اما از سایر ترکیبات تودرتو پشتیبانی نمی کند. ZFS سیستم فایل بومی در Solaris و illumos است و در FreeBSD و Linux نیز موجود است. پیاده سازی های منبع باز ZFS به طور فعال تحت پروژه چتر OpenZFS توسعه یافته اند.
Spectrum Scale که ابتدا توسط IBM برای پخش رسانه و تجزیه و تحلیل مقیاس پذیر توسعه داده شد، از طرح های حفاظت RAID جداشده تا n+3 پشتیبانی می کند. یک ویژگی خاص اولویت بازسازی پویا است که با تأثیر کم در پسزمینه اجرا میشود تا زمانی که یک قطعه داده به n+0 افزونگی برسد، در این صورت این قطعه به سرعت به حداقل n+1 بازسازی میشود. در بالا، Spectrum Scale از RAID 1 در مسافت مترو پشتیبانی می کند.
Btrfs از RAID 0، RAID 1 و RAID 10 پشتیبانی می کند (RAID 5 و 6 در حال توسعه هستند).
XFS در اصل برای ارائه یک مدیر حجم یکپارچه طراحی شده بود که از الحاق، انعکاس و خط کشی چندین دستگاه ذخیره سازی فیزیکی پشتیبانی می کند.[47] با این حال، اجرای XFS در هسته لینوکس فاقد مدیر حجم یکپارچه است.
بسیاری از سیستم عامل ها پیاده سازی RAID را ارائه می دهند، از جمله موارد زیر:
سیستم عامل OpenVMS هیولت پاکارد از RAID 1 پشتیبانی میکند. دیسکهای آینهای که «مجموعه سایه» نامیده میشوند، میتوانند در مکانهای مختلفی برای کمک به بازیابی فاجعه باشند.
macOS و macOS سرور اپل از RAID 0، RAID 1 و RAID 1+0 پشتیبانی میکنند.
FreeBSD از RAID 0، RAID 1، RAID 3 و RAID 5 و همه تودرتوها از طریق ماژول های GEOM و سی سی دی پشتیبانی می کند.
md لینوکس از RAID 0، RAID 1، RAID 4، RAID 5، RAID 6 و همه تودرتوها پشتیبانی می کند. برخی از عملیات تغییر شکل/تغییر اندازه/بسط نیز پشتیبانی میشوند.
مایکروسافت ویندوز از RAID 0، RAID 1 و RAID 5 با استفاده از پیاده سازی های مختلف نرم افزار پشتیبانی می کند. Logical Disk Manager که با ویندوز 2000 معرفی شد، امکان ایجاد جلدهای RAID 0، RAID 1 و RAID 5 را با استفاده از دیسکهای پویا فراهم میکند، اما این امر تا زمان انتشار ویندوز 8 تنها به نسخههای حرفهای و سرور ویندوز محدود میشد.ویندوز XP را می توان برای باز کردن پشتیبانی از RAID 0، 1 و 5 تغییر داد. Windows 8 و Windows Server 2012 یک ویژگی RAID مانند به نام Storage Spaces را معرفی کردند که همچنین به کاربران اجازه میدهد تا Mirroring، Parity یا عدم افزونگی را بر اساس پوشه به پوشه مشخص کنند. این گزینهها مشابه RAID 1 و RAID 5 هستند، اما در سطح انتزاعی بالاتر پیادهسازی میشوند.
NetBSD از RAID 0، 1، 4 و 5 از طریق پیاده سازی نرم افزار خود، به نام RAIDframe، پشتیبانی می کند.
OpenBSD از RAID 0، 1 و 5 از طریق پیاده سازی نرم افزار خود، به نام softraid، پشتیبانی می کند.
اگر یک درایو بوت خراب شود، سیستم باید به اندازه کافی پیچیده باشد تا بتواند از درایو یا درایوهای باقی مانده بوت شود. به عنوان مثال، کامپیوتری را در نظر بگیرید که دیسک آن به عنوان RAID 1 (درایوهای آینه ای) پیکربندی شده است. اگر درایو اول در آرایه از کار بیفتد، ممکن است یک بوت لودر مرحله اول به اندازه کافی پیچیده نباشد که بتواند بوت لودر مرحله دوم را از درایو دوم به عنوان یک بازگشت بارگذاری کند. بوت لودر مرحله دوم برای FreeBSD قادر به بارگذاری یک هسته از چنین آرایه ای است.
رید مبتنی بر سیستم عامل و درایور (Software-implemented RAID)
RAID پیادهسازی شده توسط نرمافزار همیشه با فرآیند بوت سیستم سازگار نیست و عموماً برای نسخههای دسک تاپ ویندوز غیرعملی است. با این حال، کنترلرهای RAID سخت افزاری گران و اختصاصی هستند. برای پر کردن این شکاف، «کنترلکنندههای RAID» ارزانقیمتی معرفی شدند که شامل یک تراشه کنترلکننده RAID اختصاصی نیستند، بلکه فقط یک تراشه کنترلکننده درایو استاندارد یا عملکرد RAID داخلی چیپست، با سیستمافزار و درایورهای اختصاصی دارند. در طول راهاندازی اولیه، RAID توسط سیستم عامل اجرا میشود و پس از بارگیری کامل سیستم عامل، درایورها کنترل را به دست میگیرند. در نتیجه، زمانی که پشتیبانی درایور برای سیستم عامل میزبان در دسترس نباشد، چنین کنترلکنندههایی ممکن است کار نکنند. یک مثال فناوری ذخیره سازی سریع اینتل است که بر روی بسیاری از مادربردهای سطح مصرف کننده پیاده سازی شده است.
از آنجا که برخی از حداقل پشتیبانی سخت افزاری درگیر است، این پیاده سازی همچنین “RAID نرم افزاری به کمک سخت افزار”، “RAID مدل ترکیبی”، یا حتی “RAID جعلی” نامیده می شود. اگر RAID 5 پشتیبانی شود، سخت افزار ممکن است یک شتاب دهنده XOR سخت افزاری ارائه دهد. مزیت این مدل نسبت به RAID نرمافزار خالص این است که – در صورت استفاده از حالت افزونگی – درایو بوت از خرابی (به دلیل سیستم عامل) در طول فرآیند بوت محافظت میشود، حتی قبل از اینکه درایورهای سیستم عامل کنترل شوند.
تمامیت یا تمام کردن پاکسازی داده ها (که در برخی از محیط ها به عنوان خوانده شده گشت اطلاق می شود) شامل خواندن و بررسی دوره ای توسط کنترل کننده RAID همه بلوک های یک آرایه، از جمله بلوک هایی است که در غیر این صورت قابل دسترسی نیستند. این بلوک های بد را قبل از استفاده تشخیص می دهد. تمیز کردن دادهها بلوکهای بد را در هر دستگاه ذخیرهسازی در یک آرایه بررسی میکند، اما از افزونگی آرایه برای بازیابی بلوکهای بد روی یک درایو و برای تخصیص مجدد دادههای بازیابی شده به بلوکهای ذخیره در جای دیگر درایو استفاده میکند.غالباً، اگر درایو برای هشت ثانیه یا بیشتر پاسخگو نبود، یک کنترلر RAID طوری پیکربندی می شود که یک درایو جزء را رها کند (یعنی فرض کنیم یک درایو جزء از کار افتاده است). این ممکن است باعث شود که کنترل کننده آرایه یک درایو خوب را رها کند زیرا به آن درایو زمان کافی برای تکمیل مراحل بازیابی خطای داخلی داده نشده است. در نتیجه، استفاده از درایوهای بازار مصرف کننده با RAID می تواند مخاطره آمیز باشد، و درایوهای به اصطلاح “کلاس سازمانی” این زمان بازیابی خطا را برای کاهش خطر محدود می کنند. ابزاری به نام WDTLER.exe زمان بازیابی خطای درایو را محدود کرد. این ابزار TLER (بازیابی خطای محدود با زمان) را فعال کرد که زمان بازیابی خطا را به هفت ثانیه محدود می کند. در حدود سپتامبر 2009، وسترن دیجیتال این ویژگی را در درایوهای دسکتاپ خود (مانند خط Caviar Black) غیرفعال کرد، و چنین درایوهایی را برای استفاده در تنظیمات RAID نامناسب ساخت.با این حال، درایوهای کلاس سازمانی Western Digital از کارخانه با فعال کردن TLER ارسال می شوند. سیگیت، سامسونگ و هیتاچی از فناوریهای مشابهی استفاده میکنند. برای استفاده غیر RAID، یک درایو کلاس سازمانی با بازیابی خطا کوتاه مدت که قابل تغییر نیست بنابراین نسبت به درایو دسکتاپ مناسب تر است.در اواخر سال 2010، برنامه Smartmontools شروع به پشتیبانی از پیکربندی ATA Error Recovery Control کرد، که به این ابزار اجازه می داد تا بسیاری از هارد درایوهای کلاس دسکتاپ را برای استفاده در تنظیمات RAID پیکربندی کند.
معایب استفاده از رید به چه عواملی بستگی دارد ؟
در حالی که RAID ممکن است از شکست فیزیکی درایو محافظت کند، داده ها همچنان در معرض اپراتور، نرم افزار، سخت افزار، و نابودی ویروس هستند. بسیاری از مطالعات خطای اپراتور را به عنوان یک منبع رایج نقص ذکر میکنند، مانند جایگزینی درایو نادرست توسط اپراتور سرور در یک RAID معیوب و غیرفعال کردن سیستم (حتی به طور موقت) در این فرآیند.یک آرایه میتواند با شکست فاجعهباری که از ظرفیت بازیابی آن فراتر میرود غرق شود و کل آرایه در معرض آسیب فیزیکی ناشی از آتشسوزی، بلایای طبیعی و نیروهای انسانی است، با این حال میتوان نسخههای پشتیبان را در خارج از سایت ذخیره کرد. یک آرایه نیز در برابر شکست کنترلر آسیب پذیر است زیرا همیشه نمی توان آن را به یک کنترل کننده جدید و متفاوت بدون از دست دادن داده منتقل کرد.
شکست های مرتبط
در عمل، درایوها اغلب با حجم یکسان هستند و با سایش مشابه و در معرض یک محیط هستند. از آنجایی که بسیاری از خرابیهای درایو به دلیل مشکلات مکانیکی است (که بیشتر در درایوهای قدیمیتر اتفاق میافتد)، این فرضیات نرخ شکست مستقل و یکسان در بین درایوها را نقض میکند. شکست ها در واقع از نظر آماری همبستگی دارند.در عمل، احتمال خرابی دوم قبل از بازیابی اولی (که باعث از دست رفتن داده ها می شود) بیشتر از احتمال خرابی های تصادفی است. در مطالعهای روی حدود 100000 درایو، احتمال خرابی دو درایو در یک خوشه در عرض یک ساعت، چهار برابر بیشتر از پیشبینیشده توسط توزیع آماری نمایی بود – که مشخصکننده فرآیندهایی است که در آن رویدادها به طور مداوم و مستقل با نرخ متوسط ثابت رخ میدهند. احتمال دو شکست در یک دوره 10 ساعته دو برابر بیشتر از پیشبینی شده توسط توزیع نمایی بود.
خطاهای خواندن غیرقابل جبران در حین بازسازی خطاهای خواندن غیرقابل جبران (URE) Unrecoverable read errors during rebuild
خطاهای خواندن غیرقابل جبران در حین بازسازی خطاهای خواندن غیرقابل جبران (URE) به عنوان خطاهای خواندن بخش، که به عنوان خطاهای بخش پنهان (LSE) نیز شناخته می شود، ظاهر می شوند. معیار ارزیابی رسانه مرتبط، نرخ خطای بیت غیرقابل بازیابی (UBE)، معمولاً برای درایوهای کلاس سازمانی (SCSI، FC، SAS یا SATA) کمتر از یک بیت در 1015 [معارض – بحث] تضمین شده است و کمتر از یک بیت است. در 1014 برای درایوهای کلاس دسکتاپ (IDE/ATA/PATA یا SATA) [معارض – بحث شد]. افزایش ظرفیت درایو و نمونههای بزرگ RAID 5 منجر به ناکافی بودن حداکثر نرخ خطا برای تضمین بازیابی موفقیتآمیز شده است، زیرا احتمال وقوع چنین خطایی در یک یا چند درایو باقیمانده در طول بازسازی مجموعه RAID وجود دارد.[منسوخ شده است. هنگام بازسازی، طرحهای مبتنی بر برابری مانند RAID 5 به ویژه مستعد تأثیرات URE هستند زیرا نه تنها بر بخشی که در آن رخ میدهند، بلکه بر بلوکهای بازسازیشده با استفاده از آن بخش برای محاسبه برابری تأثیر میگذارند.
طرحهای مبتنی بر برابری محافظت مضاعف، مانند RAID 6، تلاش میکنند با ارائه افزونگی که امکان خرابی درایو دوگانه را فراهم میکند، این مشکل را برطرف کنند. به عنوان یک نقطه ضعف، چنین طرحهایی از جریمه نوشتن بالا رنج میبرند – تعداد دفعاتی که باید در طول یک عملیات نوشتن به رسانه ذخیرهسازی دسترسی داشت. طرحهایی که دادهها (آینهای) را به شیوهای از درایو به درایو کپی میکنند، مانند RAID 1 و RAID 10، نسبت به طرحهایی که از محاسبه برابری یا آینهسازی بین مجموعههای راه راه استفاده میکنند، خطر کمتری از URE دارند. پاکسازی دادهها، بهعنوان یک فرآیند پسزمینه، میتواند برای شناسایی و بازیابی UREها مورد استفاده قرار گیرد، و به طور موثر خطر وقوع آنها در طول بازسازی RAID و ایجاد خرابی درایو دوگانه را کاهش میدهد. بازیابی UREها شامل نقشهبرداری مجدد بخشهای دیسک زیرین تحت تأثیر، با استفاده از مخزن نقشهبرداری مجدد بخش درایو است. در مورد UREهایی که در حین پاکسازی پسزمینه شناسایی میشوند، افزونگی دادهای که توسط یک مجموعه RAID کاملاً عملیاتی ارائه میشود، اجازه میدهد تا دادههای گمشده بازسازی شوند و در یک بخش نگاشت مجدد بازنویسی شوند.
افزایش زمان بازسازی و احتمال شکست Increasing rebuild time and failure probability
ظرفیت درایو با سرعت بسیار بیشتری نسبت به سرعت انتقال رشد کرده است و نرخ خطا در مقایسه با آن فقط اندکی کاهش یافته است. بنابراین، درایوهای با ظرفیت بزرگتر ممکن است چند ساعت طول بکشد تا بازسازی شوند، در این مدت ممکن است درایوهای دیگر از کار بیفتند یا خطاهای خواندن کشف نشده ظاهر شوند. اگر کل آرایه هنوز با ظرفیت کاهش یافته در حال کار باشد، زمان بازسازی نیز محدود است.با توجه به آرایه ای با تنها یک درایو اضافی (که برای سطوح RAID 3، 4 و 5، و برای RAID 1 دو درایو “کلاسیک” اعمال می شود)، خرابی درایو دوم باعث خرابی کامل آرایه می شود. اگرچه میانگین زمان بین خرابی درایوهای جداگانه (MTBF) در طول زمان افزایش یافته است، این افزایش با افزایش ظرفیت ذخیره سازی درایوها همگام نبوده است. زمان بازسازی آرایه پس از یک شکست درایو، و همچنین احتمال شکست دوم در طول بازسازی، در طول زمان افزایش یافته است.
برخی از مفسران اعلام کردهاند که RAID 6 از این نظر فقط یک “کمک باند” است، زیرا فقط مشکل را کمی جلوتر میکشد.با این حال، بر اساس مطالعه NetApp در سال 2006 بریمن و همکاران، احتمال شکست با ضریب 3800 (نسبت به RAID 5) برای اجرای صحیح RAID 6، حتی در هنگام استفاده از درایوهای کالا کاهش می یابد. یافت نشد] با این وجود، اگر روندهای فعلی فناوری مشاهده شده بدون تغییر باقی بماند، در سال 2019 یک آرایه RAID 6 همان شانس شکست را خواهد داشت که همتای RAID 5 خود در سال 2010 داشت.[منبع غیرقابل اعتماد؟] طرحهای Mirroring مانند RAID 10 دارای زمان بازیابی محدودی هستند، زیرا به کپی از یک درایو شکست خورده نیاز دارند، در مقایسه با طرحهای برابری مانند RAID 6، که نیاز به کپی از تمام بلوکهای درایوها در یک مجموعه آرایه دارند. طرحهای برابری سهگانه، یا آینهسازی سهگانه، بهعنوان یک رویکرد برای بهبود انعطافپذیری در برابر خرابی درایو اضافی در طول این زمان بازسازی بزرگ پیشنهاد شدهاند[منبع غیر قابل اعتماد؟]
اتمی بودن خرابی سیستم یا سایر وقفههای عملیات نوشتن میتواند منجر به حالتهایی شود که برابری با دادهها به دلیل اتمی نبودن فرآیند نوشتن متناقض است، به طوری که در صورت خرابی دیسک نمیتوان از برابری برای بازیابی استفاده کرد. این معمولاً سوراخ نوشتن نامیده می شود که یک مشکل شناخته شده خرابی داده ها در RAID های قدیمی و پایین تر است، که به دلیل عدم قطعی نوشتن روی دیسک ایجاد می شود. حفره نوشتن را می توان به چند روش حل کرد: ثبت پیشنویس. سیستمهای RAID سختافزاری از یک کش غیرفرار داخلی برای این منظور استفاده میکنند. mdadm می تواند از یک دستگاه ژورنال اختصاصی (برای جلوگیری از جریمه عملکرد، معمولاً SSD ها و NVM ها ترجیح داده می شوند) برای این منظور استفاده کند.
ورود به سیستم هدف را بنویسید. mdadm از یک “write-intent-bitmap” استفاده می کند. اگر مکانی را پیدا کند که در هنگام راه اندازی به عنوان ناقص نوشته شده است، آنها را مجدداً همگام می کند. سوراخ نوشتن را میبندد اما برخلاف WAL کامل، در برابر از دست دادن دادههای حین انتقال محافظت نمیکند.برابری جزئی mdadm میتواند یک «پاریتی جزئی» را ذخیره کند که وقتی با تکههای اصلاحشده ترکیب میشود، برابری اصلی را بازیابی میکند. این سوراخ نوشتن را میبندد، اما باز هم در برابر از دست دادن دادههای حین انتقال محافظت نمیکند.اندازه نوار پویا RAID-Z تضمین می کند که هر بلوک نوار خودش است، بنابراین هر بلوک کامل است. فراداده محافظ معنایی تراکنشی کپی در نوشتن (COW) مرتبط با راه راه. نقطه ضعف آن تکه تکه شدن IO است.اجتناب از رونویسی نوارهای استفاده شده bcachefs که از جمعآوری زباله کپی استفاده میکند، این گزینه را انتخاب میکند. COW دوباره از ارجاعات به داده های راه راه محافظت می کند. حفره نوشتن برای سیستمهای ذخیرهسازی اضافی که از ویژگیهای تراکنشی استفاده نمیکنند کمی درک شده و به ندرت به آن اشاره شده است. محقق پایگاه داده جیم گری نوشت: “به روز رسانی در محل یک سیب سمی است” در روزهای اولیه تجاری سازی پایگاه داده رابطه ای.
قابلیت اطمینان Write-Cache
نگرانیهایی در مورد قابلیت اطمینان نوشتن حافظه پنهان وجود دارد، بهویژه در مورد دستگاههای مجهز به حافظه پنهان نوشتن بازگشت، که یک سیستم ذخیرهسازی است که دادهها را بهمحض نوشتن در حافظه پنهان گزارش میکند، برخلاف زمانی که در حافظه پنهان نوشته میشود. – محیط فرار اگر سیستم دچار قطع برق یا سایر خرابیهای عمده شود، ممکن است دادهها قبل از رسیدن به ذخیرهسازی غیرفرار به طور غیرقابل برگشتی از حافظه پنهان از بین بروند. به همین دلیل، پیادهسازیهای کش بازگشتی خوب شامل مکانیسمهایی مانند انرژی اضافی باتری، برای حفظ محتویات حافظه پنهان در سراسر خرابیهای سیستم (از جمله قطع برق) و شستشوی حافظه پنهان در زمان راهاندازی مجدد سیستم هستند.
شرکت پردازش سرور نیوان متشکیل شده از بهترین کارشناسان که در تمامی مراحل اعم از مشاوره ، اجرا ، خرید و فروش سرور های HP و تجهیزات سرور در کنار شما مشتریان عزیز می باشد تا بتوانید نسبت به نیاز های سازمانتان بهترین خرید را انجام دهید.