Comparación de ext4 y ext3 en Linux

  
 

El kernel de Linux admite oficialmente el nuevo sistema de archivos Ext4 desde 2.6.28. Ext4 es una versión mejorada de Ext3 que modifica algunas de las estructuras de datos importantes en Ext3, no solo Ext3 vs. Ext2, sino que agrega una función de registro. Ext4 proporciona un mejor rendimiento y confiabilidad, así como un conjunto de funciones más completo:

1. Compatible con Ext3. Con unos pocos comandos, puede migrar de Ext3 en línea a Ext4 sin tener que reformatear el disco o reinstalar el sistema. La estructura de datos original de Ext3 se mantiene tal como está, y Ext4 actúa sobre los nuevos datos. Por supuesto, todo el sistema de archivos gana la mayor capacidad que admite Ext4. 2. Sistema de archivos más grande y archivos más grandes. En comparación con el sistema de archivos de 16TB máximo y los archivos de 2TB admitidos actualmente por Ext3, Ext4 admite sistemas de archivos de 1EB (1,048,576TB, 1EB = 1024PB, 1PB = 1024TB) y archivos de 16TB. 3. Un número ilimitado de subdirectorios. Ext3 actualmente solo admite 32,000 subdirectorios, mientras que Ext4 admite un número ilimitado de subdirectorios.

4.Extensiones. Ext3 usa mapeo de bloques indirectos, que es extremadamente ineficiente cuando se trabaja con archivos grandes. Por ejemplo, un archivo de 100 MB de tamaño, en Ext3, para establecer una tabla de mapeo de 25,600 bloques de datos (cada tamaño de bloque es 4KB). Ext4 introduce el concepto popular de extensión en los sistemas de archivos modernos. Cada extensión es un conjunto de bloques de datos consecutivos. El archivo anterior se expresa como "los datos del archivo se guardan en los siguientes 25,600 bloques de datos", lo que mejora la Menos eficiente. 5. Asignación de bloques múltiples. Al escribir datos en el sistema de archivos Ext3, el asignador de bloques de datos de Ext3 solo puede asignar un bloque de 4 KB a la vez, escribir un archivo de 100 MB para llamar a 25,600 asignadores de bloques de datos y el asignador de múltiples bloques de Ext4 "ld4; Multiblockallocator <quo; (mballoc) admite varias llamadas para asignar múltiples bloques de datos. 6. Asignación retrasada. La estrategia de asignación de bloques de datos de Ext3 es la asignación tan pronto como sea posible, y Ext4 y otra estrategia moderna de sistema operativo de archivos es retrasar la asignación tanto como sea posible, hasta que el archivo se escriba en el caché antes de comenzar a asignar bloques de datos y escribir en el disco. Esto optimiza la asignación de bloque de todo el archivo, y la combinación de las dos primeras características puede mejorar significativamente el rendimiento. 7. fsck rápido. Anteriormente, el primer paso para ejecutar fsck sería lento porque verifica todos los inodos. Ahora Ext4 agrega una lista de inodos no utilizados a la tabla de inodos de cada grupo. En el futuro, el sistema de archivos fsckExt4 puede omitirlos. Solo revisa los inodos que están en uso. 8. Verificación de registro. El registro es la parte más común y puede conducir fácilmente a fallas en el hardware del disco, y la recuperación de datos de los registros dañados puede resultar en una mayor corrupción de los datos. La función de verificación de registro de Ext4 facilita la determinación de si los datos de registro están dañados y combina el mecanismo de registro de dos etapas de Ext3 en una fase, mejorando el rendimiento y aumentando la seguridad. 9. " No log &quoquo; (NoJournaling) mode. Siempre hay algo de sobrecarga en el registro, y Ext4 permite que el registro se desactive para que algunos usuarios con necesidades especiales puedan mejorar el rendimiento. 10. Desfragmentación en línea. Aunque la asignación de retrasos, la asignación de varios bloques y las extensiones pueden reducir efectivamente la fragmentación del sistema de archivos, la fragmentación es inevitable. Ext4 admite la desfragmentación en línea y proporcionará la herramienta e4defrag para desfragmentar archivos individuales o sistemas de archivos completos. 11.inode características relacionadas. Ext4 soporta inodos más grandes. En comparación con el tamaño de inodo predeterminado de 128 bytes de Ext3, Ext4 tiene un tamaño de inodo predeterminado de 256 bytes para acomodar atributos más extendidos (como las marcas de tiempo de nanosegundos o versiones de inodo) en el inodo. Ext4 también soporta atributos extendidos y reservas de inodo. 12. Preasignación persistente. Con el fin de garantizar que el archivo descargado tenga suficiente espacio para almacenar, el software P2P a menudo crea un archivo vacío con el mismo tamaño que el archivo descargado de antemano, para evitar la falla de descarga si el espacio en disco es insuficiente en las próximas horas o días. Ext4 implementa una asignación previa persistente en el nivel del sistema de archivos y proporciona la API correspondiente (posix_fallocate () en libc), que es más eficiente que la aplicación en sí. 13. La barrera está habilitada por defecto. El disco está equipado con una memoria caché interna para reajustar el orden de escritura de los datos del lote para optimizar el rendimiento de escritura. Por lo tanto, el sistema de archivos debe escribir el registro de confirmación después de que los datos de registro se escriban en el disco. Si el registro de confirmación se escribe primero, el registro puede ser Daño, entonces afectará la integridad de los datos. Ext4 habilita la barrera por defecto. Los datos después de la barrera solo se pueden escribir cuando todos los datos antes de la barrera se escriben en el disco.
(Esta función se puede desactivar con el comando " mount-o barrier = 0 ″).

Copyright © Conocimiento de Windows All Rights Reserved