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!
dmesg
czy / var / log / syslog?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.Odpowiedzi:
Niestety, „check” rzeczywiście zapisuje ponownie tablicę, gdy napotka błąd - patrz https://www.apt-browse.org/browse/ubuntu/trusty/main/amd64/mdadm/3.2.5-5ubuntu4/file /usr/share/doc/mdadm/README.checkarray
... więc może już być za późno na zbieranie danych, których szukasz, przepraszam.
W dłuższej perspektywie warto zauważyć, że RAID5 (oraz 6 i 1) nie mają ochrony przed gniciem bitów, co jest prawdopodobnie sytuacją, z którą się spotkałeś. Gdy dane na jednym dysku ulegają uszkodzeniu, nie są w stanie określić, która z nich jest dobra, czy zła. Sugeruję planowanie migracji do systemu plików, który sumuje sumę kontrolną każdej płyty, np. Btrfs lub zfs.
(RAID-5 naprawdę nie powinien być stosowany w nowych wdrożeniach - i naprawdę nie powinien być tam, gdzie pojemność surowych dysków przekracza 2 TB każdy - patrz http://www.zdnet.com/article/why-raid-5- przestaje działać w 2009 r. / )
źródło