سؤال

أرغب في محاكاة تلف نظام الملفات بغرض اختبار كيفية تفاعل أنظمتنا المضمنة معه وفي النهاية جعلها تفشل بأكبر قدر ممكن من السلامة.نحن نستخدم أنواعًا مختلفة من أجهزة التخزين المحمولة التي تمت محاكاتها للبيانات والتي يتم تعديلها كثيرًا وغير مناسبة للتخزين في NAND/NOR.

نظرًا لأن لدي فكرة جيدة عن عدد مرات تعديل البيانات في أجزاء مختلفة من شجرة الملفات ومكان تخزين البيانات الحساسة.أرغب في إدخال الأخطاء في مناطق محددة وليس بشكل عشوائي فقط.

في حالات الطوارئ نستخدم fsck -y كنوع من الملاذ الأخير لمحاولة رفع النظام والإبلاغ عن أنه في حالة سيئة للغاية.أود بشدة أن أتسبب في حدوث أخطاء من شأنها أن تؤدي إلى قيام fsck بمحاولة إجراء إصلاحات من أجل دراسة التأثير على قدرة الأنظمة على العودة.

dd if=/dev/random ليست دقيقة بما فيه الكفاية لغرضي لأنه لا يمكن استخدامها بسهولة لإدخال أخطاء يمكن التحكم فيها.هل هناك أي أدوات أو طرق أخرى تناسب احتياجاتي بشكل أفضل أم يجب علي أن أخترع أدوات أو طرق خاصة بي؟

هل كانت مفيدة؟

المحلول

إذا كنت تعرف بالفعل ما تريد تعديله، فيمكن لـ dd قراءة ملف يحتوي على البايتات التي تريد كتابتها، وإخباره بمكان كتابتها.

لمعرفة مكان الكتابة، يمكن أن تساعدك تصحيحات الأخطاء من الحزمة e2fsprogs.

نصائح أخرى

يجب أن يكون من الممكن استخدام تشويش صور نظام ملفات Linux للتسبب في الفساد:

أو إحدى تقنيات حقن أخطاء قرص Linux (على سبيل المثال.dm-flakey في وضع الفساد) الموصوف في https://unix.stackexchange.com/a/144200 .

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top