No hay garantías Un sistema de archivos de diario es más resistente y menos propenso a la corrupción, pero no es inmune.
Todo un diario es una lista de operaciones que se han realizado recientemente en el sistema de archivos. La parte crucial es que la entrada del diario se realiza antes de que se realicen las operaciones. La mayoría de las operaciones tienen múltiples pasos. Eliminar un archivo, por ejemplo, puede implicar eliminar la entrada del archivo en la tabla de contenido del sistema de archivos y luego marcar los sectores en la unidad como libres. Si sucede algo entre los dos pasos, un sistema de archivos registrado puede informar de inmediato y realizar la limpieza necesaria para mantener todo coherente. Este no es el caso con un sistema de archivos no registrado que tiene que mirar todo el contenido del volumen para encontrar errores.
Si bien este diario es mucho menos propenso a la corrupción que el no diario, la corrupción puede ocurrir. Por ejemplo, si el disco duro está fallando mecánicamente o si las escrituras en el diario están fallando o se han interrumpido.
La premisa básica del registro en diario es que escribir una entrada de diario es mucho más rápido, por lo general, que la transacción real que describe será. Entonces, el período entre el sistema operativo que ordena una escritura (de diario) y el disco duro que lo cumple es mucho más corto que para una escritura normal: una ventana más estrecha para que las cosas salgan mal, pero todavía hay una ventana.
Otras lecturas
No.
El tipo de diario más común, llamado diario de metadatos, solo protege la integridad del sistema de archivos, no de los datos. Esto incluye
xfs
, yext3
/ext4
en eldata=ordered
modo predeterminado .Si un sistema de archivos sin registro en el diario sufre un bloqueo, se comprobará
fsck
en el próximo inicio.fsck
escanea cada inodo en el sistema de archivos, busca bloques que están marcados como usados pero que no son accesibles (es decir, no tienen nombre de archivo), y marca esos bloques como no utilizados. Hacer esto lleva mucho tiempo.Con un sistema de archivos de registro de metadatos, en lugar de hacer un
fsck
, sabe qué bloques estaba en medio del cambio, por lo que puede marcarlos como libres sin buscarlos en toda la partición.Hay un tipo de registro en diario menos común, llamado registro de datos, que es lo que
ext3
hace si lo monta con ladata=journal
opción.Intenta proteger todos sus datos escribiendo no solo una lista de operaciones lógicas, sino también todo el contenido de cada escritura en el diario. Pero debido a que está escribiendo sus datos dos veces, puede ser mucho más lento.
Como otros han señalado, incluso esto no es una garantía, porque el disco duro podría haberle dicho al sistema operativo que había almacenado los datos, cuando de hecho todavía estaba en la memoria caché del disco duro.
Para obtener más información, consulte el artículo del Sistema de archivos de registro de Wikipedia y la sección Modo de datos de la documentación de ext4 .
fuente
data=journal
tiene sentido como característica?Un sistema de archivos no puede garantizar la consistencia de su sistema de archivos si ocurre una falla de energía, porque no sabe qué hará el hardware.
Si un disco duro almacena datos para la escritura pero le dice al sistema operativo que ha escrito los datos y no admite las barreras de escritura apropiadas, entonces pueden ocurrir escrituras fuera de orden donde una escritura anterior no ha llegado al plato, pero una posterior tiene. Consulte esta respuesta predeterminada del servidor para obtener más detalles.
Además, la posición de la cabeza en un HDD magnético se controla con electroimanes. Si la energía falla en el medio de una escritura, es posible que algunos datos continúen siendo escritos mientras los cabezales se mueven, corrompiendo datos en bloques que el sistema de archivos nunca tuvo la intención de escribir.
fuente
ZFS, que está cerca pero no es exactamente un sistema de archivos de registro en diario, garantiza por diseño contra la corrupción después de una falla de energía.
No importa si una escritura en curso se interrumpe en el medio, ya que en tal caso, su suma de verificación será ciertamente incorrecta, por lo que se ignorará el bloque. Como el sistema de archivos se copia al escribir, los datos correctos anteriores (o metadatos) todavía están en el disco y se utilizarán en su lugar.
fuente
La respuesta es en la mayoría de los casos no:
fuente