Tôi đã thực hiện rất nhiều nghiên cứu về chủ đề này trong vài tuần qua - và tôi nghĩ rằng tôi sắp hoàn thành sự phục hồi của mình, ít nhất là có thể. Để làm cho một câu chuyện dài ngắn, tôi sẽ chỉ mô tả vấn đề mà không cần điền vào từng chi tiết kỹ thuật nhỏ.
Giả sử bạn có nhiều mảng RAID-5, mỗi mảng có 8 đĩa và sau đó đã nối chúng thành một khối logic LVM duy nhất. Một trong các đĩa sau đó chết trong một trong các mảng và trong quá trình xây dựng lại, bạn gặp phải lỗi đọc không thể phục hồi trên đĩa thứ hai trong mảng đó. Và tất nhiên, không có bản sao lưu.
Tôi đã nhận được dữ liệu từ ổ đĩa với URE trên một ổ đĩa mới, chỉ 5K dữ liệu bị hỏng tất cả được nhóm vào một khu vực rất nhỏ của đĩa. Tôi cũng giả sử rằng một khi tôi lắp ráp lại thiết bị MD bằng cách sử dụng bản sao ddresTHER'd, tôi sẽ nhân kích thước mất dữ liệu của mình với số lượng ổ đĩa không tương đương trong mảng của tôi (mất 35K dữ liệu) tính toán cho các sọc sử dụng các khối đó sẽ không chính xác.
Tôi đã đọc và hiểu quy trình tại http://smartmontools.sourceforge.net/badblockhowto.html để xác định tệp nào sẽ bị hỏng do tình huống như thế này, nhưng vấn đề của tôi là tìm ra chính xác khối nào sẽ bị hỏng sau khi md xây dựng lại để sử dụng làm đầu vào để gỡ lỗi. Tìm ra tất cả các phần bù trong đó siêu dữ liệu lưu trữ md và lvm sẽ không vui, nhưng tôi nghĩ tôi có thể xử lý phần đó.
Tôi có thể nhân tất cả các số khối xấu của mình với 7 và sau đó giả sử rằng 6 khối sau đây sau mỗi khối đó cũng sẽ xấu, và sau đó làm theo các hướng dẫn LVM trong hướng dẫn được liên kết ở trên không?
Và để rõ ràng - Tôi không quan tâm đến việc sửa chữa hoặc ánh xạ lại các khối xấu như hướng dẫn mô tả, tôi đã thay thế đĩa và sẽ để md xử lý loại việc đó. Tôi chỉ muốn biết những tập tin nào trên hệ thống tập tin ext4 đã bị ảnh hưởng.