Cancella un errore ZFS permanente in un pool integro


20

Ho cancellato il mio pool oggi e, dopo aver completato lo scrub, ho notato che c'era un errore che ha corrotto un file. Non mi importava del file, quindi l'ho eliminato. Sfortunatamente, l'errore rimane (ora indicato da un ID esadecimale e non da un nome file) e non so come cancellarlo.

  • Dovrei essere preoccupato? Non sono ancora veramente libero da questo errore?
  • Posso cancellare l'errore? Se il file è sparito, non voglio davvero vedere questo errore in futuro.

Per riferimento, ecco i comandi che ho emesso e l'output, con annotazioni:

Verifica dello stato

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

Passare al root ed eliminare il file - non ne ho bisogno

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

Verifica dello stato di nuovo

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>

Uh Oh. Forse posso cancellare l'errore?

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>

Questo non sembra buono!


Il file fa parte di un'istantanea (elenco zfs -t tutto) e quindi viene mantenuto?
Lundman,

Risposte:


14

Strofina di nuovo la piscina (se non l'hai già fatto):

zpool scrub zstorage

Quell'errore ti dice che l'inode <0x9f115> è corrotto (l'eliminazione del file ha interrotto la mappatura dell'inode nomefile->, quindi ora riporta l'inode). O qualcosa ha ancora il file aperto o i metadati devono solo essere ripuliti (cosa che dovrebbe fare uno scrub).

Per eliminare l'errore se non si verifica uno scrub, è necessario rimediare e sporcarsi con zdb, che non è documentato pubblicamente da Oracle (e scarsamente documentato altrove) - e comunque probabilmente indica qualcosa di fondamentalmente sbagliato.


7

So di essere in ritardo alla festa, ma volevo solo aggiungere che se gli scrub aggiuntivi non risolvono problemi come questo, invece di guardarti zdbpuoi invece avviare uno scrub, lasciarlo funzionare per un paio di minuti e quindi fermalo con zpool scrub -s zstorage. Ciò ha funzionato per me nella cancellazione di errori permanenti per i file quando tutti gli errori di lettura / scrittura / checksum erano a zero.

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

EDIT: Dopo averlo dovuto fare alcune volte, mi sono anche reso conto che la tempistica di quanto tempo lasci eseguire lo scrub influirà sul suo funzionamento (a seconda di quali blocchi appare inizialmente). Quindi, se all'inizio non funziona, prova qualche altra volta e regola i tempi di quando lo interrompi.


Per me questo non ha funzionato: gli errori permanenti sono ancora presenti e li rivedrò se eseguo uno scrub completo.
William Stein,

3
Che ha fatto per me. Avevo fatto uno scrub completo e gli errori non erano stati cancellati, ma poi ho fatto lo start-> stop ed è pulito. Grazie.
Stu,

Ora sembra funzionare per me (sto usando l'ultima versione di ZFS su Linux ora).
William Stein,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.