Znajdź pliki dotknięte wadliwymi blokami za pomocą md-raid5 i LVM

8

W ciągu ostatnich kilku tygodni prowadziłem wiele badań na ten temat - i myślę, że jestem bliski ukończenia odzyskiwania, przynajmniej w miarę możliwości. Krótko mówiąc, opiszę problem bez wypełniania każdego drobnego detalu technicznego.

Załóżmy, że masz wiele macierzy RAID-5, każda z 8 dyskami, a następnie połączyłeś je razem w jeden wolumin logiczny LVM. Jeden z dysków następnie umiera w jednej z tablic, a podczas przebudowy napotykasz nieodwracalny błąd odczytu na drugim dysku w tej tablicy. I oczywiście nie ma kopii zapasowych.

Już usunąłem dane z dysku z URE na nowy dysk, tylko 5 000 danych jest uszkodzonych zgrupowanych w bardzo małym obszarze dysku. Zakładam również, że po ponownym złożeniu tego urządzenia MD za pomocą kopii ddrescue'd pomnoży rozmiar mojej utraty danych przez liczbę dysków nieparzystych w mojej macierzy (czyli 35K utraty danych), jako parzystość obliczenia dla pasków przy użyciu tych bloków będą niepoprawne.

Przeczytałem i rozumiem procedurę pod adresem http://smartmontools.sourceforge.net/badblockhowto.html w celu ustalenia, które pliki zostaną uszkodzone w takiej sytuacji, ale mój problem polega na ustaleniu, które bloki zostaną uszkodzone po md przebuduj do użycia jako danych wejściowych do debugfs. Odkrywanie wszystkich przesunięć, w których metadane sklepu md i lvm też nie będą fajne, ale myślę, że poradzę sobie z tą częścią.

Czy mogę po prostu pomnożyć wszystkie moje liczby złych bloków przez 7, a następnie założyć, że kolejne 6 bloków po każdym z nich również będzie złe, a następnie postępować zgodnie z instrukcjami LVM w przewodniku powyżej?

I dla jasności - nie przejmuję się naprawą lub ponownym mapowaniem złych bloków, jak opisuje przewodnik, wymieniłem dysk i pozwolę md zająć się tego rodzaju sprawami. Chcę tylko wiedzieć, które pliki na systemie plików ext4 zostały naruszone.

Obrabować
źródło

Odpowiedzi:

2

Nadal szukasz pomocy? Jednym ze sposobów znalezienia dotkniętych plików jest tarowanie systemu plików na / dev / null. Każdy plik zawierający błąd zostanie zgłoszony przez tar. Coś jak:

tar cf / dev / null / file / system / to / check

może zrobić to dla ciebie.

marc41
źródło