Limpar um erro permanente do ZFS em um pool íntegro

20

Esfreguei minha piscina hoje e, após a limpeza, notei que havia um erro que corrompia um arquivo. Eu não me importei com o arquivo, então o excluí. Infelizmente, o erro permanece (agora referenciado por um ID hexadecimal e não por um nome de arquivo) e não sei como resolvê-lo.

  • Eu deveria estar preocupado? Ainda não estou realmente livre desse erro?
  • Posso limpar o erro? Se o arquivo desaparecer, não quero realmente ver esse erro no futuro.

Para referência, aqui estão os comandos que eu emiti e a saída, com anotações:

Verificando 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

Mudando para root e excluindo o arquivo - não preciso dele

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

Verificando o status novamente

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>

Ah, oh. Talvez eu possa limpar o erro?

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>

Isso não parece bom!

Kevin Wood
fonte
O arquivo faz parte de um instantâneo (lista zfs -t all) e, portanto, é mantido por aí?
Lundman

Respostas:

14

Esfregue sua piscina novamente (se você ainda não tiver):

zpool scrub zstorage

Esse erro está informando que o inode <0x9f115> está corrompido (a exclusão do arquivo quebrou o mapeamento de nome de arquivo-> inode, por isso é apenas relatar o inode agora). Algo ainda tem o arquivo aberto ou os metadados precisam ser limpos (o que uma limpeza deve fazer).

Para limpar o erro se um scrub não for necessário, o zdb não está publicamente documentado pelo oracle (e mal documentado em outro lugar) - e, de qualquer forma, provavelmente indica algo mais fundamentalmente errado.

quadruplebucky
fonte
7

Sei que estou muito atrasado para a festa, mas só quero acrescentar que, se os scrubs adicionais não resolverem problemas como esse, em vez de olhar para zdbvocê, basta iniciar um scrub, deixe-o funcionar por alguns minutos e então pare com isso zpool scrub -s zstorage. Isso funcionou para mim na limpeza de erros permanentes de arquivos quando todos os erros de leitura / gravação / soma de verificação estavam em zero.

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

EDIT: Depois de fazer isso algumas vezes, também percebi que o tempo de duração da depuração afetará o funcionamento (dependendo de quais blocos ela parecer inicialmente). Portanto, se não funcionar a princípio, tente mais algumas vezes e ajuste o tempo de quando você o interrompe.

4oo4
fonte
Para mim, isso não funcionou - os erros permanentes ainda estão lá, e eu os verei novamente se fizer uma limpeza completa.
William Stein
3
Isso fez por mim. Eu tinha feito uma limpeza completa e os erros não foram eliminados, mas então eu fiz o início-> parar e está limpo. obrigado.
Stu
Agora parece funcionar para mim (agora estou usando a versão mais recente do ZFS no linux).
William Stein