أكسب عمولة إذا سجلت أو اشتريت من روابط الأفلييت في هذي الصفحة، بدون أي تكلفة إضافية عليك.
هوم لاب · شرح · بقلم محمد المهنا · آخر تحديث
خطر إعادة بناء الـ RAID وأخطاء الـ URE
لما قرص في مصفوفة parity أحادي يموت، إعادة البناء لازم تقرأ كل بلوك على كل قرص ناجي عشان تعيد بناء اللي خسرته. أقراص أكبر وعدد أكثر يعني بيانات أكثر لازم إعادة البناء تقرأها بدون غلطة وحدة، على ساعات أطول، وبدون أي تكرار متبقي ترجع له. أنا أشغل SHR-1 على الـ Synology حقي، خمسة Seagate IronWolf Pro 12TB على تكرار قرص واحد، وأنام مرتاح. والسبب الوحيد إني أنام مرتاح هو إني محتفظ بنسخة احتياطية خارجية حقيقية. هالصفحة هي بالضبط ليش هالنسخة مو اختيارية.
وش هو الـ URE
الأقراص الاستهلاكية مقيمة لخطأ قراءة غير قابل للاسترداد واحد تقريبا لكل 10^14 بت مقروء. لأغلب عمر القرص هالرقم ما يعنيك. أثناء إعادة بناء كاملة يوقف عن كونه بلا معنى، لأنك تقرأ بيانات كثيرة لدرجة إن احتمال إصابة قطاع تالف واحد ينتقل من "لا تفكر فيه أبد" إلى "ممكن يصير لي فعلا". على مصفوفة parity أحادي تقليدية (RAID 5 عتادي أو mdadm)، خطأ URE واحد في المكان الغلط أثناء إعادة البناء يفشل إعادة البناء كلها وياخذ المصفوفة معها. الـ ZFS RAIDZ1 يتعامل معها أفضل: ما يقدر يعيد بناء البلوكات اللي تحت هالقطاع التالف، فيخسر هالملفات المحددة ويقول لك أيها، بس الـ pool يظل شغال. في الحالتين خسرت بيانات ما ترجعها بدون نسخة احتياطية، وفشل قرص ثاني في نص إعادة البناء ينهي المصفوفة عند الاثنين.
ليش حجم الأقراص خلى الوضع أسوأ
إعادة بناء 2 تيرا بالكاد تقرأ شي. إعادة بناء 16 تيرا تقرأ ثمانية أضعاف، تمشي وقت أطول بكثير، وطول هالوقت المصفوفة بدون أي تكرار متبقي. بيانات أكثر للقراءة ونافذة أطول بدون شبكة أمان، الاثنين يدفعون الاحتمالات بالاتجاه الغلط. هذا هو السبب الحقيقي إن الـ parity الأحادي (RAID 5، RAIDZ1) ينرفض للأقراص الحديثة الكبيرة، وهو تحذير عادل، مو تسويق.
الحل
الـ parity الأحادي على أقراص حديثة كبيرة يشغل إعادة البناء كاملة بدون أي تكرار. فشل قرص ثاني في نص إعادة البناء يخسرك المصفوفة، على RAID 5 و RAIDZ1 سواء. وخطأ URE واحد يقتل إعادة البناء على RAID 5، أو يتلف الملفات المتأثرة بس على RAIDZ1.
إذا المصفوفة كبيرة وما عندك نسخة احتياطية تثق فيها، انتقل للـ parity المزدوج، RAID 6 أو RAIDZ2، بحيث فشل ثاني أو خطأ URE أثناء إعادة البناء ما ينهيك. أنا ما أشغل parity مزدوج بنفسي، ومو قلقان منها، لأن parity أحادي زايد نسخة خارجية حقيقية تجهيزة أقف وراها. بدون هالنسخة ما كنت بشغل parity أحادي على أقراص كبيرة. الحاسبة (بالإنجليزي) تنبهك لما إعداداتك تهبط في منطقة الخطر حقت parity-أحادي-على-أقراص-كبيرة. وشوف بعد شرح ZFS RAIDZ (بالإنجليزي).
أسئلة شائعة
وش هو خطأ القراءة غير القابل للاسترداد (URE)؟
الـ URE هو قطاع القرص ببساطة ما يقدر يقرأه صح، حتى بعد المحاولات. الأقراص الاستهلاكية مقيمة لخطأ URE واحد تقريبا لكل 10^14 بت مقروء. أثناء إعادة بناء كاملة تقرأ بيانات كثيرة لدرجة إن احتمال إصابته ينتقل من مهمل إلى شي ممكن يصير فعلا، وخطأ URE في نص إعادة البناء يكلفك المصفوفة كلها على RAID 5، أو بس الملفات اللي تحته على RAIDZ1. وفشل قرص ثاني في النص ينهي الاثنين.
ليش الـ parity الأحادي أخطر على الأقراص الأكبر؟
إعادة بناء قرص فاشل تقرأ كل بلوك على كل قرص ناجي. إعادة بناء 16 تيرا تقرأ ثمانية أضعاف بيانات إعادة بناء 2 تيرا، على ساعات أكثر بكثير، وكل هذا والمصفوفة بدون أي تكرار متبقي. بيانات أكثر للقراءة ونافذة أطول بدون شبكة أمان، الاثنين يرفعون احتمال إن URE أو فشل ثاني يكلفك بيانات أثناء إعادة البناء.
أستخدم RAID 5 أو RAIDZ1 مع أقراص كبيرة؟
على أقراص حديثة كبيرة بدون نسخة احتياطية، لا. انتقل للـ parity المزدوج، RAID 6 أو RAIDZ2، بحيث URE أو فشل ثاني أثناء إعادة البناء يكون قابل للنجاة. الـ parity الأحادي تمام على أقراص أصغر، أو على مصفوفة منزلية لها نسخة احتياطية. وهذا بالضبط اللي أشغله، SHR-1 على الـ Synology حقي مع نسخة خارجية حقيقية وراه، والنسخة هي الجزء اللي يخلي الـ parity الأحادي معقول.
هل الـ parity المزدوج يلغي الحاجة للنسخ الاحتياطية؟
لا. الـ parity المزدوج يخلي نافذة إعادة البناء قابلة للنجاة، بس الـ RAID بأي نوع مو نسخة احتياطية. ما زلت تحتاج نسخة خارجية حقيقية للأشياء اللي الـ RAID ما ينقذك منها، مثل ملف انحذف أو ransomware أو الجهاز كله يموت.