ZFS emite el grupo de estado de zpool
Este capítulo describe cómo identificar los modos de falla de ZFS y cómo recuperarse de los modos de falla correspondientes. También se proporciona información sobre cómo prevenir fallos de funcionamiento.
Este capítulo contiene las siguientes secciones:
Modos de error de ZFS
Comprobación de la integridad de los datos de ZFS
Identificación de problemas en ZFS
Reparar una configuración ZFS dañada
Reparar un dispositivo perdido
Reparar un dispositivo dañado
Reparar datos dañados
Reparar no se puede iniciar Modos de falla del sistema ZFS
Como combinación de sistema de archivos y administrador de volúmenes, ZFS puede exhibir muchos modos de falla diferentes. Este capítulo comienza con una descripción general de varios modos de falla y luego analiza cómo identificar varias fallas en los sistemas operativos. Este capítulo concluye con una discusión sobre cómo resolver el problema. Hay tres tipos básicos de errores que ZFS puede encontrar:
Falta dispositivo
Dispositivo dañado
Datos dañados
Tenga en cuenta que un solo Un grupo puede encontrar los tres tipos de errores, por lo que un proceso de corrección completo busca y corrige cada error por turno. Falta dispositivo en el grupo de almacenamiento ZFS
Si un dispositivo se ha eliminado completamente del sistema, ZFS detecta que el dispositivo no se puede abrir y lo coloca en un estado fallido. Esto puede hacer que todo el grupo no esté disponible o no, según el nivel de replicación de datos del grupo. Si se elimina un disco en un dispositivo reflejado o en un dispositivo RAID-Z, el acceso al grupo continuará. Un grupo puede fallar si se eliminan todos los componentes de un espejo, se eliminan varios dispositivos en un dispositivo RAID-Z o se elimina un único dispositivo superior de disco. El dispositivo en el grupo de almacenamiento ZFS está dañado
El término "dañado" abarca una variedad de posibles errores. Los siguientes son ejemplos de errores:
Errores transitorios de E/S debido a daños en el disco o el controlador
Datos del disco dañados por rayos cósmicos
Error del controlador que provoca que los datos transferirse al destino incorrecto o desde la ubicación de origen incorrecta
Simplemente otro usuario sobrescribe accidentalmente alguna parte del dispositivo físico
En algunos casos, se trata de un error del controlador. En algunos casos, estos errores son transitorios, como errores de E/S aleatorios cuando hay un problema con el controlador. En otros casos, el daño es permanente, como por ejemplo un disco dañado. Sin embargo, si el daño es permanente, no significa necesariamente que el error volverá a ocurrir. Por ejemplo, si un administrador sobrescribe accidentalmente parte de un disco, no es necesario reemplazar el dispositivo si el disco duro no falla de alguna manera. Determinar exactamente qué errores ocurrieron en el dispositivo no es fácil, como se explicará en detalle en capítulos posteriores. Corrupción de datos ZFS
La corrupción de datos ocurre cuando uno o más errores del dispositivo (que muestran un dispositivo faltante o un dispositivo dañado) afectan el dispositivo virtual de nivel superior. Por ejemplo, la mitad del espejo puede encontrar miles de errores de dispositivo, pero estos errores nunca causarán corrupción de datos. Si se encuentra un error exactamente en la misma ubicación al otro lado del espejo, se dañarán los datos.
La corrupción de datos siempre es permanente, por lo que se requiere especial cuidado durante el proceso de reparación. Incluso si se repara o reemplaza el dispositivo subyacente, los datos originales se pierden para siempre. Esta situación generalmente requiere restaurar los datos desde la copia de seguridad. Los errores se registran cuando se encuentran errores de datos y se pueden controlar mediante la limpieza de disco de rutina, que se describe en la siguiente sección. Una vez que se eliminan los bloques dañados, la siguiente limpieza descubrirá que los datos dañados ya no están presentes y eliminará cualquier registro erróneo del sistema. Comprobación de la integridad de los datos de ZFS
No existe ninguna utilidad similar a fsck para ZFS. Esta utilidad tiene dos propósitos: reparación de datos y validación de datos. Reparación de datos
Con los sistemas de archivos tradicionales, el método de escritura de datos en sí es propenso a fallas inesperadas, lo que resulta en inconsistencias en los datos. Debido a que los sistemas de archivos tradicionales no son transaccionales, pueden ocurrir bloques sin referencia, errores de recuento de enlaces u otras estructuras de datos inconsistentes. Agregar registros puede resolver algunos de estos problemas, pero puede crear otros problemas si no se puede revertir el registro. En ZFS, ninguno de estos problemas existe.
Las únicas razones por las que hay datos inconsistentes en el disco son un disco duro fallido (en cuyo caso el grupo debería haberse replicado) o un error en el software ZFS.
Suponiendo que la utilidad fsck está diseñada para corregir excepciones conocidas específicas de un único sistema de archivos, es imposible escribir dicha utilidad para un sistema de archivos donde no existen excepciones conocidas. La experiencia futura puede demostrar que algunos problemas de corrupción de datos son lo suficientemente comunes y simples como para justificar el desarrollo de utilidades de reparación, pero siempre se pueden evitar utilizando un grupo de replicación.
Sin un grupo de replicación, siempre existe la posibilidad de que los datos se dañen y vuelvan inaccesibles algunos o todos los datos. Verificación de datos
Además de la reparación de datos, la utilidad fsck también verifica que los datos en el disco sean normales. En el pasado, esta tarea se realizaba desmontando el sistema de archivos y luego ejecutando la utilidad fsck, posiblemente poniendo el sistema en modo de usuario único durante el proceso. ZFS proporciona mecanismos para realizar comprobaciones de rutina de todos los datos sin necesidad de utilidades explícitas para realizar las comprobaciones necesarias. Esta característica se llama depuración y a menudo se utiliza en la memoria y en otros sistemas como una forma de detectar y prevenir errores antes de que provoquen fallas en el disco duro o en el software. Controlar la depuración de datos de ZFS
Siempre que ZFS encuentra un error (ya sea durante la depuración o al acceder a archivos bajo demanda), el error se registra internamente para que pueda ver rápidamente toda la descripción general de los errores conocidos. Limpieza explícita de datos ZFS
La forma más sencilla de comprobar la integridad de los datos es iniciar una operación de limpieza explícita de todos los datos del grupo. Esta operación revisa todos los datos del grupo una vez y verifica que todos los bloques se puedan leer. Aunque la prioridad de cualquier E/S es siempre inferior a la de las operaciones normales, las operaciones de limpieza se realizan tan rápido como lo permite el dispositivo