¿Borrar errores de suma de comprobación ZFS?

¿Borrar errores de suma de comprobación ZFS?

TLDR; Mi grupo de espejos ZFS obtuvo algunos errores de suma de comprobación. Reemplacé el controlador, pensando que esa era la causa más probable, pero los errores no desaparecen. El borrado del grupo los restablece temporalmente, pero vuelven la próxima vez que ejecuto una limpieza. ¿Cómo puedo eliminarlos para siempre?

Historia completa: He tenido un ZFS mirror-0 configurado y ejecutándose en ubuntu 20.04.2 LTS durante algún tiempo. Cuando una de las unidades falló, aproveché la falla para reemplazar ambas unidades por otras más grandes, además de agregar una tarjeta PCI SATA-III para las nuevas unidades (las antiguas se habían conectado al controlador SATA II integrado). , ya que no tenía más puertos SATA III disponibles). Después de ejecutar las nuevas unidades y el controlador durante algunas semanas, ZFS se quejó de errores de suma de comprobación en ambas unidades nuevas y, como resultado, puso la matriz en un estado "degradado".

Algunas investigaciones me llevaron a la conclusión de que, dado que ambas unidades mostraban exactamente el mismo número de errores de suma de comprobación, era mucho más probable que se tratara de un problema con el controlador que con las unidades mismas. Así que saqué el nuevo controlador y volví a colocar las unidades en el controlador SATA II integrado por ahora, con la intención de reemplazar la tarjeta controladora una vez que verifique que ese es el problema. Luego eliminé los dos archivos que zpool status -vmostraban errores permanentes, emití un mensaje zpool clear datapara restablecer los errores y ejecuté una limpieza.

Desafortunadamente, después de la limpieza los errores reaparecieron, solo que ahora ya -vno mostraba un archivo, sino solo la dirección (inodo, creo), presumiblemente de uno de los archivos que había eliminado anteriormente. Lo intenté de nuevo, con el mismo resultado. Cada vez que ejecuto un fregado, aparece el siguiente resultado:

root@watchman:~# zpool status -v
  pool: data
 state: DEGRADED
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: http://zfsonlinux.org/msg/ZFS-8000-8A
  scan: scrub repaired 16K in 0 days 09:10:20 with 1 errors on Sat Jul 24 15:48:21 2021
config:

    NAME                                 STATE     READ WRITE CKSUM
    data                                 DEGRADED     0     0     0
      mirror-0                           DEGRADED     0     0     0
        ata-ST8000VE000-2P6101_WSD1M5NW  DEGRADED     0     0    15  too many errors
        ata-ST8000VE000-2P6101_WSD1HEJX  DEGRADED     0     0    15  too many errors

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

        data:<0x380508>

Por lo que puedo decir, este es el mismo problema que ya existía debido, presumiblemente, al controlador defectuoso, pero parece que no puedo solucionarlo. ¿Cómo puedo restaurar mi espejo a un estado de pleno funcionamiento?

ACTUALIZACIÓN: Finalmente abandoné la idea de borrar los errores y comencé de nuevo. Creé un nuevo grupo, robando una de las unidades del espejo existente. Luego ejecuté a rsyncpara copiar todos los datos del grupo antiguo al nuevo. Esto produjo algunos errores (zfs no mintió acerca de los errores de datos), pero nada significativo o preocupante, y la exclusión de los archivos con errores permitió que rsync se completara exitosamente. Luego agregué la segunda unidad al nuevo grupo y, después de volver a platearlo, ahora todo se ve bien y se completó una limpieza en el nuevo grupo sin errores.

Entonces, suponiendo que todo siga viéndose bien durante la próxima semana, creo que es seguro asumir que la tarjeta SATA III fue la causa del problema y reemplazarla con una mejor marca/opción :)

Respuesta1

De vez en cuando también tengo algún error de suma de comprobación en un espejo 0, que ocurre principalmente después de un reinicio, y el estado del grupo zfs se degrada.

zpool status <poolname>

ingrese la descripción de la imagen aquí

Para solucionar esto y limpiar los errores ejecuto:

zpool clear <poolname>

información relacionada