Hoy fregué mi grupo y, una vez que terminó, noté que había un error que corrompía un archivo. No me importaba el archivo, así que lo eliminé. Desafortunadamente, el error permanece (ahora referenciado por una identificación hexadecimal y no un nombre de archivo), y no sé cómo borrarlo.
- ¿Deberia estar preocupado? ¿Todavía no estoy realmente libre de este error?
- ¿Puedo borrar el error? Si el archivo se ha ido, realmente no quiero ver este error en el futuro.
Como referencia, aquí están los comandos que emití y la salida, con anotaciones:
Comprobando estado
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
Cambiar a root y eliminar el archivo: no lo necesito
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
Comprobando el estado nuevamente
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. Tal vez puedo borrar el error?
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>
¡Esto no se ve bien!
zfs
zfsonlinux
Kevin Wood
fuente
fuente
Respuestas:
Friegue su piscina nuevamente (si aún no lo ha hecho):
zpool scrub zstorage
Ese error le indica que el inodo <0x9f115> está dañado (al eliminar el archivo se rompió el mapeo del nombre de archivo-> inodo, por lo que solo está informando el inodo ahora). O algo todavía tiene el archivo abierto o los metadatos solo necesitan limpiarse (lo que debería hacer un exfoliante).
Para borrar el error si un exfoliante no es necesario, debe bajarse y ensuciarse con zdb, que no está documentado públicamente por Oracle (y mal documentado en otra parte), y en cualquier caso, probablemente indica algo más fundamentalmente incorrecto.
fuente
Sé que llego súper tarde a la fiesta, pero solo quería agregar que si los matorrales adicionales no solucionan problemas como este, en lugar de mirarlos, en lugar de
zdb
hacerlo, simplemente puede comenzar un matorral, dejarlo correr por un par de minutos y entonces detenlo conzpool scrub -s zstorage
. Eso me funcionó para borrar los errores permanentes de los archivos cuando todos los errores de lectura / escritura / suma de verificación estaban en cero.http://unixetc.co.uk/2012/01/22/zfs-corruption-persists-in-unlinked-files/
EDITAR: Después de tener que hacer esto varias veces, también me di cuenta de que el tiempo de duración de la ejecución del scrub afectará si funciona (dependiendo de qué bloques se ve al principio). Entonces, si no funciona al principio, intente algunas veces más y ajuste el tiempo de cuando lo detiene.
fuente