ฉันทำการค้นคว้ามากมายในหัวข้อนี้ในช่วงสองสามสัปดาห์ที่ผ่านมา - และฉันคิดว่าฉันใกล้จะเสร็จสิ้นการกู้คืนมากที่สุดเท่าที่จะเป็นไปได้ เพื่อให้เรื่องสั้นสั้นฉันจะอธิบายปัญหาโดยไม่ต้องกรอกรายละเอียดทางเทคนิคทุกอย่าง
สมมติว่าคุณมีอาเรย์ RAID-5 หลายตัวแต่ละตัวมีดิสก์ 8 ตัวจากนั้นทำการรวมเข้าด้วยกันเป็นโลจิคัลวอลุ่ม LVM เดียว ดิสก์หนึ่งในนั้นตายในหนึ่งในอาร์เรย์และในระหว่างการสร้างใหม่คุณพบข้อผิดพลาดการอ่านที่ไม่สามารถกู้คืนได้ในดิสก์ที่สองในอาร์เรย์นั้น และแน่นอนไม่มีการสำรองข้อมูล
ฉันได้ลบข้อมูลจากไดรฟ์ที่มี URE ไปยังไดรฟ์ใหม่แล้วมีเพียง 5K ของข้อมูลที่เสียหายทั้งหมดที่จัดกลุ่มไว้ในพื้นที่ดิสก์ขนาดเล็กมาก ฉันยังสมมติว่าเมื่อฉันประกอบอุปกรณ์ MD อีกครั้งโดยใช้การคัดลอก ddrescue ฉันจะคูณขนาดของการสูญเสียข้อมูลของฉันด้วยจำนวนไดรฟ์ที่ไม่ใช่พาริตี้ในอาร์เรย์ของฉัน (ดังนั้นการสูญเสียข้อมูล 35K) เป็นความเท่าเทียมกัน การคำนวณแถบที่ใช้บล็อคเหล่านั้นจะไม่ถูกต้อง
ฉันได้อ่านและทำความเข้าใจขั้นตอนของการที่http://smartmontools.sourceforge.net/badblockhowto.htmlเพื่อพิจารณาว่าไฟล์ใดจะเสียหายจากสถานการณ์เช่นนี้ แต่ปัญหาของฉันคือการหาว่าบล็อกใดจะเสียหายหลังจาก md สร้างใหม่เพื่อใช้เป็นอินพุตไปยัง debugfs การหาค่าออฟเซ็ตทั้งหมดที่เมตาดาต้าเก็บ md และ lvm ไม่สนุกเช่นกัน แต่ฉันคิดว่าฉันสามารถจัดการส่วนนั้นได้
ฉันสามารถคูณตัวเลขบล็อกที่ไม่ดีทั้งหมดของฉันด้วย 7 จากนั้นสมมติว่า 6 บล็อกต่อไปนี้หลังจากแต่ละบล็อกเหล่านั้นจะไม่ดีแล้วทำตามคำแนะนำ LVM ในคู่มือที่ลิงก์ด้านบน?
และเพื่อความชัดเจน - ฉันไม่ได้กังวลเกี่ยวกับการซ่อมหรือทำแผนที่บล็อกที่ไม่ดีตามที่อธิบายไว้ฉันได้เปลี่ยนดิสก์และจะให้ md จัดการกับสิ่งนั้น ฉันแค่อยากรู้ว่าไฟล์ใดในระบบไฟล์ ext4 ที่ได้รับผลกระทบ