0% encontró este documento útil (0 votos)
233 vistas25 páginas

Journaling en Sistemas de Archivos EXT

El documento describe el sistema de journaling y los diferentes niveles de journaling (diario, pedido y reescritura), así como los sistemas de archivos extendidos Ext2, Ext3 y Ext4 en Linux. Ext4 ofrece mejoras de rendimiento y mayor capacidad con soporte para volúmenes de hasta 1 exabyte y archivos de hasta 16 terabytes.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
233 vistas25 páginas

Journaling en Sistemas de Archivos EXT

El documento describe el sistema de journaling y los diferentes niveles de journaling (diario, pedido y reescritura), así como los sistemas de archivos extendidos Ext2, Ext3 y Ext4 en Linux. Ext4 ofrece mejoras de rendimiento y mayor capacidad con soporte para volúmenes de hasta 1 exabyte y archivos de hasta 16 terabytes.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

SISTEMA DE ARCHIVOS EXT

JOURNALING
El journaling es un mecanismo que permite implementar
transacciones. También conoce como “registro por diario”.

Se basa en llevar un journal o registro de diario en el que se


almacena la información necesaria para restablecer los datos
afectados por una transacción por si esta falla.

Las aplicaciones más frecuentes se utilizan para implementar


transacciones de sistemas de bases de datos y, para evitar la
corrupción de estructuras de datos en las que se basan los
sistemas de archivos modernos.

Lo que persigue el journaling de sistemas de archivos es evitar


los engorrosos y largos chequeos de disco que efectúan los
sistemas al apagarse bruscamente, ya que el sistema al arrancar
solo deberá deshacer el journal para tener un sistema coherente
de nuevo.
NIVELES DEL JOURNALING
Hay tres niveles posibles de journaling (registro por diario)

Diario (riesgo bajo)

Los metadatos y los ficheros de contenido son copiados al diario antes de ser llevados al sistema de
archivos principal. Como el diario está en el disco continuamente puede mejorar el rendimiento en ciertas
ocasiones. En otras ocasiones el rendimiento es peor porque los datos deben ser escritos dos veces, una al
diario y otra a la parte principal del sistema de archivos.
NIVELES DEL JOURNALING
Pedido (riesgo medio)

Solo los metadatos son registrados en el diario, los contenidos no, pero está asegurado que el contenido
del archivo es escrito en el disco antes de que el metadato asociado se marque como transcrito en el
diario. Es el sistema por defecto en la mayoría de las distribuciones de Linux. Si hay un bajón de
tensión o kernel Panic cuando el fichero se está escribiendo o está empezando, el diario indicará que el
nuevo archivo o el intento no ha sido pasado, por lo que será purgado por el proceso de limpiado.
NIVELES DEL JOURNALING
Reescritura (riesgo alto)

Los contenidos pueden estar escritos antes o después de que el diario se actualice. Como resultado, los
archivos modificados correctamente antes de una ruptura pueden volverse corruptos. Por ejemplo, un archivo
pendiente de ser marcado en el diario como mayor de lo que actualmente es, convirtiendo en basura al final de
la comprobación. Las versiones antiguas de los archivos pueden aparecer inesperadamente después de una
recuperación de diario. La carencia de sincronización entre los datos y el diario es rápidamente subsanada en
muchos casos. JFS usa este nivel de journaling, pero se asegura de que cualquier basura es borrada al reiniciar
SISTEMA DE ARCHIVOS EXT

• El sistema de archivos extendido (extended file system o ext), fue el


primer sistema de archivos creado específicamente para el sistema
operativo Linux. Fue diseñado por Rémy Card para vencer las
limitaciones del sistema de archivos MINIX.
SISTEMA DE ARCHIVOS EXT 2
• Es el sistema de ficheros que tuvo más éxito en la comunidad Linux se
popularizo en todas las distribuciones de Linux.

• Los datos de los ficheros se guardan en bloques. Estos bloques de datos


son todos de la misma longitud y, si bien esa longitud puede variar entre
diferentes sistemas de ficheros EXT2 el tamaño de los bloques de un
sistema de ficheros EXT2 en particular se decide cuando se crea (usando
mke2fs). El tamaño de cada fichero se redondea hasta un numero entero de
bloques. Si el tamaño de bloque es 1024 bytes, entonces un fichero de 1025
bytes ocupará dos bloques de 1024 bytes.
  Minix FS Ext FS Ext2 FS
Tamaño máximo del 64MB 2GB 4TB
sistema de archivos
Tamaño máximo de 64MB 2GB 2GB
un archivo
Tamaño máximo de 16/30 c 255 c 255 c
caracteres del
nombre de un
archivo
Extendible No No SI
mantenible Si No SI

Tabla comparativa
Diagrama estructura básica ext 2
• Cuando el sistema de archivos es muy grande, será problemático administrar
todos los inodos y todos los bloques juntos. Por lo tanto, el sistema de
archivos se divide en varios grupos de bloques, y cada grupo de bloques
tiene un sistema de inodos / bloques / superbloques independientes.
• No todos los bloques contienen datos, algunos se usan para mantener la
información de la estructura. EXT2 define la topología del sistema de ficheros
describiendo cada uno de ellos con una estructura de datos inodo.
• Un Inodo describe que bloques ocupan los datos de un fichero y también
los permisos de acceso del fichero, las horas de modificación del fichero y
el tipo del fichero. Cada fichero en el sistema EXT2 se describe por un
único inodo y cada inodo tiene un único número que lo identifica.
• Los inodos del sistema de ficheros se almacenan juntos en Tablas de
inodos.
• Los directorios EXT2 son simplemente ficheros especiales (ellos mismos
descritos por inodos) que contienen punteros a los inodos de sus entradas
de directorio.
Características estándar:
• Ext2 soporta tipos de fila estándar de Unix: regulares, directorios, archivos
especiales de dispositivos y links simbólicos.
• Puede manejar sistemas de archivos en particiones grandes.
• Toma ventaja del buffer en el cache haciendo readaheads.
• Optimizaciones en la locación de recursos.
Características adicionales:
• Soporte para extensiones no presentes en sistemas Unix.
• Le permite al administrador elegir el tamaño del bloque lógico al crear un
archivo del sistema. El uso de estos bloques aumenta la velocidad de las
entradas y salidas, pero con la desventaja de que gastan mayor espacio
en el disco duro.
EXT3
Third extended filesystem o "tercer sistema de archivos extendido”

Es un sistema de archivos con registro por diario (journaling). Es el sistema de


archivo más usado en distribuciones Linux, aunque en la actualidad está siendo
remplazado por su sucesor, ext4.
DIFERENCIAS
La principal diferencia con ext2 es el registro por diario. Un sistema de archivos ext3 puede ser montado y
usado como un sistema de archivos ext2.

Otra diferencia importante es que ext3 utiliza un árbol binario balanceado (árbol AVL) e incorpora el
asignador de bloques de disco Orlov.
LIMITE DE TAMAÑO
Ext3 tiene dos límites de tamaño distintos. Uno para archivos y otro para el tamaño del sistema de
archivos entero. El límite del tamaño del sistema de archivos es de 232 bloques

Tamaño máximo de los Tamaño máximo del sistema


Tamaño del bloque
archivos de ficheros
1 KiB 16 GiB 2 TiB
2 KiB 256 GiB 8 TiB
4 KiB 2 TiB 16 TiB
8 KiBlímites 1​ 2 TiB 32 TiB

8 KiB el tamaño del bloque solo está disponible en arquitecturas


que permitan 8 KiB, como Alpha.
EXT 2 VS EXT 3
Existe total compatibilidad entre Ext2 y Ext3, se puede convertir un sistema de ficheros Ext2
a Ext3 y viceversa. Fácilmente, además de poder montar un sistema de ficheros Ext3 como
Ext2 (ya que la estructura de formateo del disco es la misma).

Característica Ext2 Ext3


Tamaño máximo de partición 4TB 4TB
Tamaño máximo de archivo 2GB-2TB 2GB-2TB
Tamaño de bloque 1KB-4KB 1KB-4KB
Capacidades de Diario No Si
(journaling)
Reiniciar después de un crash Lento Rápido
Estado de los datos después Bueno Muy Bueno
del crash
Soporte ACL Si Si
Estabilidad Excelente Bueno
EXT4
(fourth extended filesystem o “cuarto sistema de archivos extendido”)

Es un sistema de archivos transaccional (journaling), anunciado el 10 de octubre


de 2006 por Andrew Morton, como una mejora compatible de ext3.

El 25 de diciembre de 2008 se publicó el núcleo Linux 2.6.28, que elimina ya la


etiqueta de "experimental" de código de ext4.
MEJORAS PRINCIPALES
• Las principales mejoras son:

• Soporte de volúmenes de hasta 1024


PiB.

• Soporte añadido de extent.

• Menor uso del CPU.

• Mejoras en la velocidad de lectura y


escritura.
CARACTERISTICAS
Característica Ext2 Ext3 Ext4
Tamaño máximo 4TB 4TB 16TB
• Soporte de volúmenes de hasta 1 EB de partición
(260 bytes) y archivos con tamaño de
hasta 16TB. Tamaño máximo 2GB-2TB 2GB-2TB 8TB
de archivo

• El tamaño global máximo del sistema Tamaño de 1KB-4KB 1KB-4KB 4KB only
de archivos es un EB. bloque
Capacidades de No Si Si
• El directorio puede contener un Diario
(journaling)
máximo de 64,000 subdirectorios en
Reiniciar Lento Rápido Muy Rápido
comparación a Ext3 con 32,000. después de un
crash
Estado de los Bueno Muy Bueno Justo
datos después del
crash

Soporte ACL Si Si No
NOTAS:
Estabilidad Excelente Bueno Bueno
1 EB (exabyte) = 1024 PB
1 PB (petabyte) = 1024 TB
FUNCIONALIDADES
Compatibilidad

La implementación de un número de órdenes, se puede migrar de Ext2 y Ext3 a Ext4 sin tener que
formatear el disco o volver a instalar el sistema. Ext4 aún conserva la estructura de datos original y el papel
de Ext4 en los nuevos datos.

Asignación de bloques

Al escribir datos en el sistema de archivos Ext3, el asignador de bloques Ext3 cada vez que asigne los datos
sólo se puede asignar un bloque de 4 Kb, escribir un archivo de 100 Mb llamaría 25.600 veces el asignador
de bloques de datos. Ext4 hace uso de el asignador de multi-bloque (mballoc) en apoyo para asignar los
bloques de datos múltiples.
FUNCIONALIDADES
Distribución de latencia

Ext4 retrasa lo más posible la asignación en la caché hasta que el archivo se inicié en la distribución de los
bloques acabados y escriben en el disco. Así se puede optimizar la totalidad del expediente distribución de
los bloques de datos, y las dos primeras propiedades, que en conjunto pueden mejorar significativamente el
rendimiento.

Asignación persistente de espacio en el disco

El sistema de archivos ext4 permite la reserva de espacio en disco para un fichero. Esta técnica no es ya
necesaria con ext4, ya que una nueva llamada del sistema "preallocate()" ha sido añadida al núcleo Linux
para uso de los sistemas de archivos que permitan esta función. El espacio reservado para estos ficheros
quedará garantizado y con mucha probabilidad será contiguo. Esta función tiene útiles aplicaciones en
streaming y bases de datos.
FUNCIONALIDADES
Desfragmentación en línea

Un sistema de larga duración tiende a fragmentarse con el tiempo. Ext4 dispone de una herramienta que
permite desfragmentar ficheros individuales o sistemas de ficheros enteros sin desmontar el disco.

Timestamps mejorados

Ext4 tendrá timestamps medidos en nanosegundos. Ésta función está actualmente implementada en la
versión 2.6.23 del núcleo. Adicionalmente se han añadido 2 bits del timestamp extendido a los bits más
significativos del campo de segundos de los timestamps para retrasar casi 500 años el problema del año
2038.
CREACIÓN DE UN ARCHIVO EXT4
Un nuevo sistema de archivos ext4 puede ser creado mediante el
siguiente comando:

mkfs.ext4/dev/device

Donde “device” representa el nombre del dispositivos por bloques


donde se creará el sistema de archivos ext4.
EXTENTS
• Los extents han sido introducidos para reemplazar al tradicional
esquema de bloques usado por los sistemas de archivos ext2/3. Un
extent es un conjunto de bloques físicos contiguos, mejorando el
rendimiento al trabajar con ficheros de gran tamaño y reduciendo la
fragmentación. Un extent simple en ext4 es capaz de mapear hasta
128 MiB de espacio contiguo con un tamaño de bloque igual a 4 KiB.
BIBLIOGRAFIA

 Buenas Tares. Sistemas De Archivos "Particiones"publicado: mayo 2011. Consultado:19 de


septiembre de 2011. Disponible:"[Link]".

 Sistemas Operativos g8 - Ubuntu. ¿Qué tecnologías de EXTEND o EXT existen en Linux?


publicado: enero 2012. Consultado:19 de septiembre de 2012.
Disponible:"[Link]".

También podría gustarte