W porządku. Po rutynowym szorowaniu mój MDADM RAID5 zgłasza mismatch_cnt = 16. Jak rozumiem, oznacza to, że chociaż żadne urządzenie nie zgłosiło błędu odczytu, istnieje 16 bloków, dla których dane i parzystość się nie zgadzają.
Pytanie nr 1: Czy można uzyskać listę tych bloków?
Pytanie nr 2: Zakładając, że numer 1 jest możliwy, biorąc pod uwagę, że podstawowym systemem plików jest EXT4, czy istnieje sposób na określenie, które pliki są powiązane z tymi blokami?
Mam kopie zapasowe typu nearline i w idealnym świecie mógłbym po prostu różnicować macierz na żywo w stosunku do danych kopii zapasowej, aby zlokalizować wszelkie pliki, które zostały po cichu uszkodzone. Ale w rzeczywistości przypomina się, że 6 TB kopii zapasowych danych byłoby niewiarygodnie drogie i czasochłonne. Wiedza, gdzie szukać i co odzyskać, znacznie uprościłaby sprawę.
(Powinienem zauważyć, że uruchamiam szorowanie RAID tylko z opcją „sprawdź”. Szorowanie z opcją „naprawy” wydaje się strasznie niebezpieczne, ponieważ MDADM wie tylko, że dane lub parzystość są nieprawidłowe, ale nie wie, które. Wygląda więc na to, że istnieje 50% szansy, że MDADM zgadnie źle i odtworzy nieprawidłowe dane. Stąd moje pragnienie, aby wiedzieć, które pliki potencjalnie są zagrożone, aby w razie potrzeby móc je przywrócić z kopii zapasowej)
Wszelkie sugestie bardzo mile widziane!
icheck
+ ncheck
w, debugfs
aby znaleźć pliki na podstawie przesunięcia sektora.
smartctl -a /dev/sda
i tak dalej), lub użyj dowolnej innej metody, aby uruchomić krótki test SMART na każdym dysku i wydrukować pełny raport. Jest bardzo prawdopodobne, że jeden z nich umiera i potrzeba poważnego zła, aby wywołać ogólny alarm zdrowia SMART.
dmesg
czy / var / log / syslog?