سردرگمی وحشتناک آرایه
سردرگمی وحشتناک آرایه یا DAC، اصطلاحی است که به گروهی از انواع خرابی آرایه RAID اطلاق میشود که تشخیص آنها عملاً غیرممکن است اما با این ویژگی مشترک دستهبندی میشوند که هیچ خرابی درایوی در کنار خرابی کامل آرایه و از دست رفتن کامل داده رخ نمیدهد. فرضیه بر این است که سه عامل کلیدی منجر به اکثریت موارد DAC میشوند:
باگهای نرمافزاری یا فریمور: در حالی که باگهای چشمگیر در رفتار RAID امروزه نادر هستند، همیشه ممکن هستند، بهویژه با انواع پیچیدهتر آرایه مانند RAID توازن (parity) که در آن محاسبات بازسازیکننده باید روی آرایه انجام شوند. یک باگ در نرمافزار یا فریمور RAID (بسته به اینکه آیا درباره RAID نرمافزاری یا سختافزاری صحبت میکنیم) میتواند به طرق مختلفی بروز کند از جمله تخریب تصادفی آرایه. مشکلات فریمور همچنین میتوانند در خود درایوها رخ دهند.
خرابی سختافزار: خرابی در سختافزار مانند پردازندهها، حافظه یا کنترلرها میتواند تأثیرات چشمگیری بر آرایه RAID داشته باشد. خطاهای حافظه بهویژه میتوانند بهراحتی منجر به از دست رفتن کامل آرایه شوند. این عامل بهعنوان کمرایجترین علت DAC در نظر گرفته میشود.
لرزش درایو: در این سناریو درایوهای منفرد به تدریج شل میشوند و از backplane جدا میشوند و بعداً دوباره لرزیده و سر جایشان قرار میگیرند که یک رویداد resilvering را فعال میکند. اگر این اتفاق با چندین درایو در طول یک دوره resilver رخ دهد یا اگر یک URE در طول resilver مواجه شویم، میتوان دید که از دست دادن کامل آرایه در آرایههای توازن حتی بدون هیچ خرابی سختافزاری رخ میدهد.
به دلیل ماهیت DAC و اینکه مشکلی با خود RAID نیست بلکه با اجزای پشتیبانیکننده آن است، در موقعیت بسیار دشواری هستیم که بخواهیم ریسک را شناسایی یا کمی کنیم. هیچکس نمیداند احتمال وقوع DAC چقدر است و در حالی که میدانیم DAC تهدید قابلتوجهتری در سیستمهای RAID توازن است، نمیدانیم به چه میزان. شواهد تجربی نشان میدهد ریسک روی RAID آینهای بهطور غیرقابل اندازهگیری پایین است و روی RAID توازن ممکن است در تحلیل ریسک از سطح noise پسزمینه فراتر رود. از میان حالتهای خرابی، باگهای نرمافزاری و لرزش درایو هر دو ریسک بسیار بالاتری برای سیستمهایی که روی RAID توازن اجرا میشوند ارائه میدهند زیرا ریسک URE فقط آرایههای توازن را تحت تأثیر قرار میدهد و نرمافزار لازم برای توازن بسیار پیچیدهتر از نرمافزار لازم برای آینهسازی است. RAID توازن بهسادگی شکنندهتر است و انواع بیشتری از ریسکها را به همراه دارد که آن را در روشهای بیشتری نسبت به RAID آینهای در معرض DAC قرار میدهد.
از آنجا که DAC تعدادی از احتمالات است و از آنجا که شناسایی آن پس از وقوع عملاً غیرممکن است، امکان جمعآوری داده بسیار محدود است. از زمانی که DAC را بهعنوان یک ریسک شناسایی کردیم، بسیاری از افراد، عمدتاً در جامعه Spiceworks، به ارائه شواهد تجربی شاهدی از خرابیهای آرایه DAC پرداختند. ماهیت فناوری اطلاعات کاربری این است که آمار، بهویژه درباره مفاهیم مبهمی مانند DAC که بهطور گسترده شناختهشده نیستند، جمعآوری نمیشوند و نمیتوانند باشند. DAC در مغازههایی در سراسر جهان بروز میکند که یک مدیر سیستم به دفتر باز میگردد و سروری را مییابد که همه دادههایش از بین رفته و هیچ سختافزاری خراب نشده. دادهها قبلاً از بین رفتهاند. تشخیصها احتمالاً اجرا نخواهند شد، لاگها وجود نخواهند داشت و حتی اگر مشکل شناسایی شود، به چه کسی گزارش میشود و حتی اگر گزارش شود، چگونه محاسبه میکنیم که چند بار اتفاق میافتد در مقابل چند بار که نمیافتد یا چند بار که ممکن است اتفاق بیفتد اما گزارش نشود. متأسفانه تنها چیزی که میدانم این است که با شناسایی و تا حدی عمومی کردن ریسک و علائم آن، ناگهان بسیاری از افراد آمدند و اعتراف کردند که آنها هم DAC را از نزدیک دیدهاند و هیچ ایدهای نداشتند که چه اتفاقی افتاده.
اگر مطالعات تجربی من شاخصی باشد، به نظر میرسد DAC در واقع ریسک قابلتوجهی برای آرایههای توازن با خرابیهایی که در درصد قابلتوجهی از آرایهها وجود دارند ایجاد میکند اما دقت و اندازه مقطع جمعآوری داده بسیار کوچک بود. با این حال، در ابتدا فکر میشد که DAC آنقدر نادر است که از نظر تئوری نمیتوانید کسی را پیدا کنید که آن را مشاهده کرده باشد اما به نظر میرسد این طور نیست. من از قبل از بسیاری از افرادی آگاهم که آن را تجربه کردهاند.
ما مجبوریم، به دلیل ماهیت صنعت، DAC را بهعنوان یک ریسک بالقوه بپذیریم و آن را بهعنوان یک ریسک «جزئی» ناشناخته در ارزیابیهای ریسک فهرست کنیم و برای آن آماده باشیم اما نمیتوانیم علیه آن محاسبه کنیم. اما دانستن اینکه میتواند یک ریسک باشد و درک دلیل وقوع آن در ارزیابی ریسک و کاهش ریسک مهم است.
[شواهد تجربی نشان میدهد DAC تقریباً همیشه منحصر به پیادهسازیهای RAID سختافزاری از آرایههای RAID توازن تکی بر روی کنترلرهای SCSI است.]
