Usuń trwały błąd ZFS w zdrowej puli


20

Wyczyściłem dziś pulę i po zakończeniu szorowania zauważyłem błąd, który spowodował uszkodzenie pliku. Nie dbałem o plik, więc go usunąłem. Niestety błąd nadal występuje (teraz wskazuje go identyfikator szesnastkowy, a nie nazwa pliku) i nie wiem, jak go usunąć.

  • Powinienem być zaniepokojony? Czy naprawdę nie jestem jeszcze wolny od tego błędu?
  • Czy mogę usunąć błąd? Jeśli plik zniknie, tak naprawdę nie chcę tego błędu w przyszłości.

Dla odniesienia, oto polecenia, które wydałem, i dane wyjściowe z adnotacjami:

Sprawdzam status

kevin@atlas:~$ sudo zpool status -v

pool: zstorage
state: ONLINE
status: One or more devices has experienced an error resulting in data
    corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
    entire pool from backup.
see: zfsonlinux.org/msg/ZFS-8000-8A
scan: scrub repaired 1.81M in 7h19m with 1 errors on Wed Feb 19 10:04:44 2014
config:

    NAME                                          STATE     READ WRITE CKSUM
    zstorage                                      ONLINE       0     0     0
    raidz1-0                                    ONLINE       0     0     0
        ata-WDC_WD30EZRX-00DC0B0_WD-WCC1T1735698  ONLINE       0     0     0
        ata-WDC_WD30EZRX-00DC0B0_WD-WMC1T0506289  ONLINE       0     0     0
        ata-WDC_WD30EZRX-00MMMB0_WD-WCAWZ2711600  ONLINE       0     0     0

errors: Permanent errors have been detected in the following files:

        /zstorage/owncloud/kevin/files/Archives/Music/Kev Rev 7/graveyard/Old/Four Tet/Pause/03 Harmony One.mp3

Przejście na root i usunięcie pliku - nie potrzebuję go

kevin@atlas:~$ sudo -i

root@atlas:~# cd /zstorage/owncloud/kevin/files/Archives/Music/Kev\ Rev\ 7/graveyard/Old/Four\ Tet/Pause/

root@atlas:/zstorage/owncloud/kevin/files/Archives/Music/Kev Rev 7/graveyard/Old/Four Tet/Pause# rm 03\ Harmony\ One.mp3

Sprawdzam ponownie status

root@atlas:/zstorage/owncloud/kevin/files/Archives/Music/Kev Rev 7/graveyard/Old/Four Tet/Pause# zpool status -v

pool: zstorage
state: ONLINE
status: One or more devices has experienced an error resulting in data
    corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
    entire pool from backup.
see: zfsonlinux.org/msg/ZFS-8000-8A
scan: scrub repaired 1.81M in 7h19m with 1 errors on Wed Feb 19 10:04:44 2014
config:

    NAME                                          STATE     READ WRITE CKSUM
    zstorage                                      ONLINE       0     0     1
    raidz1-0                                    ONLINE       0     0     2
        ata-WDC_WD30EZRX-00DC0B0_WD-WCC1T1735698  ONLINE       0     0     0
        ata-WDC_WD30EZRX-00DC0B0_WD-WMC1T0506289  ONLINE       0     0     0
        ata-WDC_WD30EZRX-00MMMB0_WD-WCAWZ2711600  ONLINE       0     0     0

errors: Permanent errors have been detected in the following files:

        zstorage:<0x9f115>

O o. Może mogę usunąć błąd?

root@atlas:/zstorage/owncloud/kevin/files/Archives/Music/Kev Rev 7/graveyard/Old/Four Tet/Pause# zpool clear zstorage

root@atlas:/zstorage/owncloud/kevin/files/Archives/Music/Kev Rev 7/graveyard/Old/Four Tet/Pause# zpool status -v

pool: zstorage
state: ONLINE
status: One or more devices has experienced an error resulting in data
    corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
    entire pool from backup.
see: zfsonlinux.org/msg/ZFS-8000-8A
scan: scrub repaired 1.81M in 7h19m with 1 errors on Wed Feb 19 10:04:44 2014
config:

    NAME                                          STATE     READ WRITE CKSUM
    zstorage                                      ONLINE       0     0     0
    raidz1-0                                    ONLINE       0     0     0
        ata-WDC_WD30EZRX-00DC0B0_WD-WCC1T1735698  ONLINE       0     0     0
        ata-WDC_WD30EZRX-00DC0B0_WD-WMC1T0506289  ONLINE       0     0     0
        ata-WDC_WD30EZRX-00MMMB0_WD-WCAWZ2711600  ONLINE       0     0     0

errors: Permanent errors have been detected in the following files:

        zstorage:<0x9f115>

To nie wygląda dobrze!


Czy plik jest częścią migawki (zfs list -t all) i dlatego jest przechowywany?
lundman

Odpowiedzi:


14

Ponownie wyszoruj pulę (jeśli jeszcze tego nie zrobiłeś):

zpool scrub zstorage

Ten błąd informuje, że i-węzeł <0x9f115> jest uszkodzony (usunięcie pliku spowodowało uszkodzenie mapowania i-węzła nazwa_pliku->, więc teraz tylko raportuje i-węzeł). Albo coś nadal ma otwarty plik, albo metadane muszą zostać wyczyszczone (co powinien zrobić peeling).

Aby usunąć błąd, jeśli peeling nie będzie musiał zejść i zabrudzić zdb, który nie jest publicznie udokumentowany przez wyrocznię (i źle udokumentowany gdzie indziej) - i w każdym razie prawdopodobnie oznacza coś bardziej zasadniczo nie tak.


7

Wiem, że jestem spóźniony na imprezę, ale chciałem tylko dodać, że jeśli dodatkowe zarośla nie naprawią takich problemów, zamiast patrzeć na zdbciebie, możesz po prostu rozpocząć szorowanie, pozwolić mu działać przez kilka minut i to przestań za pomocą zpool scrub -s zstorage. To zadziała dla mnie przy usuwaniu trwałych błędów plików, gdy wszystkie błędy odczytu / zapisu / sumy kontrolnej były zerowe.

http://unixetc.co.uk/2012/01/22/zfs-corruption-persists-in-unlinked-files/

EDYCJA: Po kilkukrotnym wykonaniu tego, zdałem sobie również sprawę, że czas, przez jaki pozwolisz na działanie szorowania, wpłynie na to, czy działa (w zależności od tego, jakie bloki najpierw robi). Więc jeśli to na początku nie działa, spróbuj jeszcze kilka razy i dostosuj moment, w którym przestaniesz.


Dla mnie to nie zadziałało - stałe błędy nadal występują i zobaczę je ponownie, jeśli wykonam pełny szorowanie.
William Stein,

3
To mi zrobiło. Zrobiłem pełne czyszczenie i błędy nie zostały usunięte, ale potem zrobiłem start-> stop i wszystko jest czyste. dzięki.
Stu

Teraz wydaje się, że działa dla mnie (teraz używam najnowszej wersji ZFS na Linuksie).
William Stein
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.