El registro en diario del sistema de archivos es un sistema de archivos tolerante / resistente a fallas que garantiza la integridad de los datos en caso de falla del hardware, falla de energía (o desconexión en caliente) o falla del sistema. Esta funcionalidad se proporciona manteniendo un registro que hace referencia a las operaciones de escritura en el medio físico antes de que este último se actualice realmente. El sistema de archivos debe permitir la reanudación de la actividad después de una interrupción repentina, como un corte eléctrico. Los metadatos deben seguir siendo coherentes y actualizados. El registro en diario ayuda a optimizar la verificación de la integridad del sistema de archivos, lo que reduce el tiempo de reinicio del sistema, lo cual es importante en entornos que requieren alta disponibilidad .
El diario del sistema de archivos garantiza la coherencia de los datos mediante el uso de un diario. Este registro es un archivo especial que registra los cambios previstos para el sistema de archivos en la memoria circular. A intervalos regulares, el diario se aplica al sistema de archivos. Si se produce una interrupción eléctrica, el diario se puede utilizar como punto de partida para recuperar la información no guardada, lo que garantiza la integridad de los datos del sistema de archivos.
El registro físico registra los cambios en los datos de los medios antes de que se realicen. Las entradas de este registro incluyen los datos que se escribirán, así como una suma de comprobación, para garantizar la integridad de los datos. Esto hace posible evitar la escritura de datos para los que la entrada del registro está incompleta, principalmente en el caso de la reproducción. Este método penaliza el rendimiento porque cada escritura requiere una escritura doble en el medio físico, una para el diario y otra para los datos reales. No obstante, se acepta por la garantía de coherencia de los datos que permite.
El registro lógico solo almacena metadatos, sacrificando la tolerancia a fallas para un mejor rendimiento. También permite que las operaciones se reproduzcan, pero puede vincular metadatos registrados con datos no registrados, lo que provoca daños en los datos.
La caché de escritura en la mayoría de los sistemas operativos clasifica las operaciones de escritura por tamaño para maximizar el rendimiento. Para evitar un desequilibrio entre los metadatos y los datos, las escrituras de datos deben realizarse antes que las escrituras de metadatos. Esto puede ser complicado de implementar porque requiere coordinación en el kernel del sistema operativo entre el controlador del sistema de archivos y la caché de escritura. Este sistema también puede complicarse por la presencia de cachés de escritura incrustados en el dispositivo de almacenamiento, que por sí mismos reorganizarán los datos para mejorar el rendimiento. Algunos sistemas de archivos sacrificarán el rendimiento para promover la integridad de los datos, lo que obligará a vaciar el búfer del dispositivo después de cada escritura realizada por el diario.
Este sistema de archivos es una extensión de Ext2, al que se le ha agregado una función de diario. Por lo tanto, es posible convertir una partición ext2 en una partición ext3 de una forma sencilla, siendo la única modificación a añadir el diario. Solo se puede utilizar en sistemas Linux.
Modos de registroEl usuario tiene la opción de elegir entre tres modos de registro:
Modo diarioEste modo corresponde al registro físico. Los cambios en los metadatos y el sistema de archivos se registran en el registro. Este es el modo más seguro, permite evitar en la medida de lo posible que se pierdan los cambios realizados.
Modo de escritura diferidaEste modo corresponde a la escritura en riesgo. Se supone que es el más rápido de los tres modos, ya que solo guarda los cambios en los metadatos y no guarda los cambios realizados en el disco. Las escrituras de disco correspondientes se pueden realizar antes o después de la grabación en el registro. entonces existe el riesgo, si se produce un apagado repentino del sistema entre el registro y la escritura real en el medio, de que exista una incoherencia entre el estado del medio de almacenamiento y el estado del diario.
Modo ordenadoEste es el modo por defecto. Este es un diario lógico y, al igual que el modo de escritura diferida, solo los cambios en los metadatos del sistema de archivos se registran en el diario. La diferencia es que la escritura de cambios en el disco se realiza antes de agregar la entrada al registro. Por lo tanto, estamos seguros de que efectivamente se han realizado los cambios registrados en la revista. Por otro lado, el hecho de que la escritura en el disco deba realizarse antes de modificar el diario no permite flexibilidad en la programación de las escrituras en disco, lo que puede implicar leves ralentizaciones.
ActuaciónA continuación se muestra una tabla que compara los tiempos de ejecución de algunos algoritmos que realizan operaciones en el disco. Cuanto menores sean los valores, más eficiente será el modo de registro.
Operación realizada | Modo de escritura diferida | Modo diario | Modo ordenado |
---|---|---|---|
Creación | 237,43 | 275,72 | 206,65 |
Dupdo | 491,90 | 462.05 | 399,27 |
Leer | 240,17 | 242,61 | 234,17 |
Visualización de estadísticas | 22.36 | 22.36 | 22.36 |
Supresión | 198.25 | 199,19 | 190,72 |
Escritura de archivos grandes | 40,38 | 74,41 | 39,45 |
Lectura de archivos grandes | 27,81 | 27,87 | 28,35 |
Podemos deducir de esta tabla que en casi todos los puntos, el modo de registro es más lento.
PedidosEsta tabla resume los comandos útiles para administrar un sistema de archivos ext3.
Pedidos | Descripción |
---|---|
mke2fs | Le permite crear un sistema de archivos (opción: -j para crear un sistema de archivos registrado por diario) |
e2fsck | Comprueba o repara un sistema de archivos |
debugfs | Solucionar problemas del sistema de archivos |
ext2online | Amplía un sistema de archivos activo |
ext2online | Cambia el tamaño del sistema de archivos (desmontado) |
dumpe2fs | Muestra información del sistema de archivos |
vertedero | Realiza una copia de seguridad del sistema de archivos |
restaurar | Restaurar el sistema de archivos |
tune2fs | Modifica la configuración del sistema de archivos |
El sistema de archivos NTFS utiliza el registro en diario mediante una estructura denominada tabla de archivos maestra que contiene información detallada de los archivos y el directorio presentes en el sistema de archivos. Esta estructura se divide en varios registros. El primero contiene información sobre el MFT. El segundo es una copia del MFT. El tercer registro es el diario. Es en este archivo donde se registran todas las acciones realizadas en la partición. Por tanto, este archivo contiene información como el nombre del archivo o directorio, la fecha de creación y / o modificación, los derechos de acceso al archivo. La MFT representa una estructura de almacenamiento de datos para la partición.
ActuaciónVentajas :
Desventajas:
Copy-on-Write es básicamente una técnica de optimización del sistema de archivos. Cuando varios usuarios o procesos acceden al mismo recurso, en lugar de crear una copia para cada solicitante, no se realiza ninguna copia y todos usan el mismo recurso. Si un usuario desea modificar el recurso, se realiza una copia privada y las modificaciones se guardan en él. Luego, cuando se completan los cambios, el puntero al recurso redirige a la copia. Uno puede imaginarse el uso de este principio para evitar inconsistencias en los datos. De hecho, en lugar de modificar directamente el recurso, y correr el riesgo de que la escritura en el disco no termine, durante un apagado repentino del sistema, se crea una copia, se hacen las modificaciones en la copia y solo entonces el recurso apunta a la copia y no al original. El único riesgo aquí es que no se realizará el cambio, pero el sistema de archivos, por otro lado, no contendrá inconsistencias.
Ejemplo: ZFSZFS es un sistema de archivos transaccional que le permite proporcionar un estado de datos coherente. El registro se implementa en ZFS mediante el registro de ZIL (registro de intención de ZFS). Las llamadas al sistema de archivos se asocian con una entrada en el ZIL y proporcionan la información necesaria para una posible reproducción. Cada entrada de la ZIL contiene los datos relativos a la operación cuando no supera los 64KB, o contiene una referencia a la misma, almacenados en el disco. El uso de registros puede ser deportado a un dispositivo diferente.
La seguridad de los sistemas de archivos comienza con la integridad de los datos presentes en ellos. Esto se debe a que el sistema de archivos debe poder garantizar que los datos presentes permanezcan consistentes incluso después de un bloqueo del sistema y debe permitir la recuperación ante desastres.
El sistema de archivos ext2 es el estándar para los sistemas de archivos de Linux . Fue escrito por Remy Card, Theodore T'so y Stephen Tweedie para abordar las deficiencias del sistema de archivos ext1 .
Características estándarLas características estándar de ext2 permiten el acceso a particiones de 4 terabytes (1 terabytes = 1024 gigabytes), mientras que la versión ext1 solo permitía particiones de 2 gigabytes (1 gigabytes = 1024 megabytes). El tamaño máximo de archivo con un sistema ext2 estándar es de 2 gigabytes. Además, al crear el sistema de archivos, el sistema reserva una cierta cantidad de espacio para el superusuario (root), generalmente un 5%. Esto permite que el superusuario pueda iniciar sesión en el sistema y realizar tareas administrativas cuando el sistema de archivos está lleno para los usuarios. Ext2Fs también maneja nombres de archivo largos (255 caracteres) y tiene en cuenta todos los caracteres excepto "NUL" y "/".
Recuperación rápida de incidentesDespués de un bloqueo , hay dos formas de recuperar datos:
El primer método es, en un momento específico, no dejar inconsistente el sistema de archivos. Este proceso es muy problemático porque es difícil no pasar por un paso que deje al sistema en una posición inconsistente. Por ejemplo, al crear un archivo, agregue este archivo al directorio y cree el inodo de este directorio. Estas operaciones no son posibles simultáneamente y por lo tanto siempre hay un momento en el que el inodo se asigna al archivo pero no al directorio, o viceversa.
El segundo método es el que utiliza el sistema de archivos ext2. Utiliza la utilidad fsck para verificar la integridad y reparar los datos. La utilidad se inicia al inicio si el sistema detecta un problema con el sistema de archivos. Como resultado de esto, la utilidad verifica todo el disco. La principal desventaja de este método es el tiempo de ejecución que es proporcional al tamaño del medio. Para realizar la verificación, el curso de la utilidad fsck se puede dividir en 6 fases:
Tenga en cuenta que el tiempo de ejecución depende del tamaño del disco. Por lo tanto, cuanto mayor sea el tamaño del medio, más tardará fsck en ejecutarse.
Por lo tanto, fue interesante poder mezclar los dos procesos para tener un método de recuperación mucho más rápido.
Así es como surgieron los sistemas de archivos de registro por diario. Estos sistemas se diseñaron para mejorar la recuperación ante desastres inspirándose en los administradores de bases de datos. Los DBMS utilizan sistemas transaccionales, es decir, se difiere la escritura de datos, y cada actualización se representa como una operación atómica: la actualización se realiza en su totalidad o no se produce. Por lo tanto, es posible reducir las operaciones de escritura / lectura en forma de una transacción que solo será efectiva cuando el sistema de archivos haya validado las modificaciones. Estas transacciones se escriben en un diario. Algunos sistemas de archivos de diario solo registran metadatos, mientras que otros registran todas las operaciones (lecturas / escrituras) en ellos.
Sistema de archivos | Usado por | Nota (s) |
---|---|---|
BFS | BeOS y Haiku | OFS con diario y direccionamiento de 64 bits |
ext3 | principalmente linux | ext2 con gestión de registro |
ext4 | principalmente linux | Es el sucesor de ext3 pero considerado como una solución intermedia por sus diseñadores |
HFS + | Mac OS | En opción |
JFS | principalmente AIX , pero también Linux | |
NTFS | Ventanas | |
ReiserFS | principalmente linux | No recomendado para portátiles, ya que el disco duro gira constantemente, lo que consume mucha energía. |
UFS | principalmente FreeBSD | |
VxFS | principalmente HP-UX | |
XFS | múltiples sistemas UNIX | |
ZFS | principalmente OpenSolaris |