Una Inmersión Profunda en el Sistema de Archivos Nativo de Linux

¿Qué Es el Sistema de Archivos Ext4? - Guía Completa de Ext4

Ext4 es el sistema de archivos principal de Linux, y a lo largo de este artículo, aprenderás sobre su compatibilidad, historia, y diferentes formas de crear archivos en él.

Descarga | Win Descarga | Mac
¿qué es el sistema de archivos ext4?

El Cuarto Sistema de Archivos Extendido (Ext4) es el sistema de archivos nativo de Linux hecho para superar los problemas de Ext3. El sistema de archivos se lanzó por primera vez como extensiones de Ext3, que eran compatibles con versiones anteriores. Más tarde, por razones de estabilidad, el productor decidió que el código fuente fuera bifurcado, y todos los desarrollos se hicieron allí. Además, Google decidió utilizar Ext4 en Android 2.3. A lo largo de este artículo, leerás sobre la compatibilidad de Ext4, su historia, sus características y una comparación con otros sistemas de archivos de Linux.

Parte 1. Compatibilidad con el Sistema de Archivos Ext4

El sistema de archivos Ext4 se convirtió en el sistema de archivos por defecto de muchos distribuidores populares de Linux, como Ubuntu y Debian. El sistema de archivos es oficialmente incompatible con Windows y macOS, pero hay formas de evitar esta limitación.

Los usuarios de Windows tienen múltiples opciones. Puedes utilizar aplicaciones de terceros, usar WSL 2 o convertirlo a NTFS. Consulta los pasos en el artículo sobre cómo montar Ext4 en Windows.

Los usuarios de Mac pueden utilizar herramientas como macFUSE, hosts de máquinas virtuales o aplicaciones de terceros que permiten acceder a este sistema de archivos. Aquí está el tutorial para montar y acceder a los archivos Ext4 en macOS.

Parte 2. Historia del Sistema de Archivos EXT

cronología de ext4

Minix

Minix fue creado inicialmente en 1987 por Andrew S. Tanenbaum como herramienta educativa para su libro "Operating Systems Design and Implementation". En la actualidad, es un sistema operativo orientado al texto con un núcleo de menos de 6.000 líneas de código. El reclamo más destacado de MINIX es un ejemplo de micronúcleo, en el que cada controlador de dispositivo se ejecuta como un proceso aislado en modo usuario. Esta estructura aumenta la seguridad y la confiabilidad porque un error en un controlador no puede hacer caer todo el sistema.

Hoy en día, MINIX es comúnmente conocido como una nota a pie de página en la historia de GNU/Linux. Este sistema de archivos motivó a Linus Torvalds a desarrollar Linux, y algunos de sus primeros trabajos fueron escritos en MINIX. La decisión anterior de Torvalds de dar soporte al sistema de archivos MINIX es la responsable de que, el núcleo Linux soporte casi todos los sistemas de archivos imaginables.

EXT

El primer sistema de archivos EXT (Extended) fue compuesto por Rémy Card y lanzado con el sistema operativo Linux en 1992 para superar las limitaciones de tamaño del sistema de archivos Minix. Las modificaciones estructurales inmediatas se referían a los metadatos del sistema de archivos, que se basaba en el sistema de archivos de Unix (UFS), también conocido como Sistema de Archivos Rápidos de Berkeley (FFS).

Hay poca información sobre este sistema de archivos porque tuvo problemas importantes y fue rápidamente sustituido por el sistema de archivos EXT2.

EXT2

El sistema de archivos Ext2 tuvo bastante éxito al principio. Los clientes utilizaron Ext2 en las distribuciones de Linux durante varios años y estaban contentos con él. El sistema de archivos EXT2 tiene esencialmente las mismas estructuras de metadatos que el sistema de archivos EXT. Sin embargo, EXT2 es más sencillo si tienes en cuenta la cantidad de espacio en disco que queda entre las estructuras de metadatos para su próximo uso.

Al igual que Minix, EXT2 contiene un sector de arranque en el primer sector del disco duro en el que se instala, que tiene un registro de arranque mínimo y una tabla de particiones. Además, verás una cierta cantidad de espacio de disco reservado después de que el sector de arranque haya terminado. Este espacio reservado abarca el espacio entre el registro de arranque y la primera partición del disco duro, que suele estar en el siguiente límite de cilindros.

estructura de grupos de cilindros en sistemas de archivos ext

EXT3

El sistema de archivos EXT3 tenía el objetivo expreso de superar las grandes porciones de tiempo que el programa fsck necesitaba para recuperar completamente una estructura de disco saboteada por un apagado inadecuado que ocurría durante una operación de actualización que se hacía a los archivos. La adición singular al sistema de archivos EXT fue la función de diario, que registra por adelantado los cambios que se harán en el sistema de archivos.

La función de registro en el diario disminuye el tiempo necesario para comprobar el disco duro en busca de incoherencias después de un fallo, pasando de días a sólo unos minutos, como máximo. A lo largo de los años se han reportado muchos problemas que han colapsado los sistemas. Los detalles podrían ocupar un artículo completo, pero basta con decir que, muchos de ellos fueron autoinfligidos y no fueron fallos del sistema. La función de registro en el diario del sistema de archivos EXT ha disminuido el tiempo de recuperación en el arranque.

EXT4

En EXT4, el productor cambió la asignación de datos de bloques fijos a extensiones. Su lugar de inicio y final en el disco duro describe una extensión. Esta característica permite describir archivos extensos y físicamente adyacentes en una sola entrada de indicador de iNode, lo que puede disminuir en gran medida el número de indicadores necesarios para definir la ubicación de todos los datos en archivos más grandes. EXT4 reduce la fragmentación distribuyendo los archivos recién creados por todo el disco para que no se agrupen en una sola ubicación en el disco, como hacían muchos de los primeros sistemas de archivos para PC.

Los algoritmos de asignación de archivos intentan repartir los archivos lo más uniformemente posible entre los grupos de cilindros y, cuando es necesario fragmentar, mantener las extensiones discontinuas de los archivos lo más ajustadas posible a las demás para minimizar mucho la latencia de búsqueda y rotación de los encabezados.

inodo en el sistema de archivos ext4

En caso de que necesites recuperar datos de tus particiones Ext2-Ext4, puedes utilizar Wondershare Recoverit.

recoverit data recovery

Wondershare Recoverit - Recupera tus Preciados Datos en Mac

5.481.435 personas lo han descargado.

Recoverit puede encontrar los datos de la papelera de la Mac vacía, los datos perdidos por un sector defectuoso, la corrupción del disco duro y la eliminación permanente accidental.

El programa es increíblemente fácil de usar e incluso, tiene una función de vista previa, para que puedas comprobar que estás restaurando el archivo correcto.

Soporta la recuperación de más de 1000 tipos de formatos de archivo: DOC/DOCX, XLS/XLSX, PDF, JPG, HEIF, HTML, INDD, EPS, MP4, MP3, zip, etc.

Versión gratuita para probar y Versión de pago para disfrutar más.

Parte 3. Características de Ext4

  • Tamaño del Sistema de Archivos: Ext4 permite sistemas de archivos de hasta 1 exbibyte de tamaño y archivos de hasta 16 tebibytes de tamaño. El sistema de archivos ext3 sólo permite un tamaño máximo de sistema de archivos de 16 TB y un tamaño máximo de archivo de 2 TB.
  • Extensiones: La extensión de la idea significa "una secuencia de bloques físicos contiguos". Los archivos grandes se dividen en varias "extensiones". Los archivos se asignan entonces a una "extensión única" en lugar de a un tamaño concreto, con lo que se evita la asignación indirecta de bloques. Cada iNode almacena hasta 4 extensiones de un archivo e indexa el resto en un Htree. Por lo tanto, las extensiones permiten una menor fragmentación que se debe a una asignación secuencial de bloques y mejoran el rendimiento.
  • Asignación Retardada y Multibloque: La asignación multibloque (mballoc) asigna múltiples bloques para un archivo en una sola operación en lugar de asignarlos uno a uno, como en ext3. Esta característica reducirá la sobrecarga de llamar al "asignador de bloques" varias veces y optimizará la asignación de memoria. En la función de asignación diferida, si una función escribe datos en un disco en lugar de asignarlos de una vez, los datos se almacenarán en la caché. La asignación retrasada sólo escribirá todos los datos en la caché después de "vaciar" la caché. Esta técnica se denomina "allocate-on-flush".
  • Desfragmentación en Línea y velocidad de fsck: La tasa de fragmentación es menor en los sistemas ext4 debido a las técnicas que mencionamos anteriormente. Sin embargo, eso no significa un 0% de fragmentación. La desfragmentación, cuando es necesaria, puede hacerse en línea utilizando la herramienta "e4defrag".
  • Suma de comprobación del Diario: Ext4 utiliza la suma de comprobación del diario para conocer la salud de los bloques del diario. Esta característica se utiliza para evadir la corrupción de datos. Puedes desactivar el modo de registro en diario en ext4 si causa sobrecarga.
  • Inodos/Timestamps: El sistema de archivos ext4 tiene un gran tamaño de inodo de 256 bytes por defecto, mientras que, ext3 sólo tiene 128 bytes para los inodos. La precisión de la marca de tiempo se almacena en nanosegundos en lugar de segundos en el caso de ext3.
  • Compatibilidad con Versiones Anteriores: Los sistemas de archivos Ext3 pueden migrar a ext4 fácilmente sin necesidad de formatear o reinstalar el sistema operativo, siempre que el kernel sea compatible con el sistema de archivos ext4.

Parte 4. Ventajas y Desventajas de Ext4

Pros:

Puedes utilizar diferentes discos/LUNs y tener un rendimiento más satisfactorio. Hacerlo puede aumentar el rendimiento de las bases de datos, ya que se puede tener el registro de transacciones en un almacenamiento y los archivos de datos en otro. Comparable a las aplicaciones basadas en la web que hacen un uso intensivo de la E/S del disco

Puedes utilizar varias opciones de montaje que aumentan la protección o influyen en el rendimiento o la estabilidad de forma más detallada

Gestionas el espacio por separado. Así, puedes tener una aplicación maliciosa que llene el espacio que no está afectando a otras aplicaciones

La fragmentación de una partición específica es independiente de las demás

Puedes hacer instantáneas, montar, desmontar, formatear, desfragmentar y supervisar el rendimiento de los sistemas de archivos sin ayuda

Puedes tener cifrado en volúmenes específicos

Puedes montar volúmenes bajo demanda

Contras:

El sistema de archivos aumenta la carga administrativa

Tendrás más casos de haber desperdiciado más espacio en disco del necesario

Tendrás más incidentes con el disco lleno

Es más difícil crear una instantánea consistente de una aplicación que se ejecuta en diferentes volúmenes

Utiliza un poco más de recursos

Dependiendo del tipo de volumen (etiqueta MS-DOS, LVM, btrfs...), es posible que no puedas asignar eficientemente el espacio de un volumen reduciendo otro volumen

Parte 5. Trabajar con Ext4

  • Creación de Archivos en el Sistema de Archivos Ext4

Para crear archivos en Ext4, es necesario formatear la partición con el sistema de archivos Ext4 utilizando el comando mkfs.ext4:

~]# mke4fs -t ext4 blockdevice

mkfs.ext4 command output

En esta línea de comandos, el dispositivo de bloque es una partición que va a contener el sistema de archivos ext4 que vas a crear.

Etiquetar la partición con el comando e4label:

~]# e4label <block_device> new-label

Crear un punto de montaje y montar el nuevo sistema de archivos en ese punto de montaje:

~]# mkdir /mount/point

~]# mount block_device /mount/point

  • Montar el Sistema de Archivos Ext4 y Configurar los Parámetros

Los usuarios tienen dos maneras de montar los sistemas de archivos Ext4: Utilizando las opciones por defecto y estableciendo parámetros. La línea de comandos para utilizar la configuración por defecto es la siguiente:

~]# mount block_device /mount/point

Para establecer los parámetros de tu archivo, utiliza el comando tune2fs. Algunos de los parámetros que puedes establecer con este comando son los siguientes:

Establecer la Etiqueta del Volumen: Utiliza la opción -L junto a tune2fs de forma similar a esta línea de comandos: sudo tune2fs -L Label_Name /dev/sda2

Listado de parámetros del sistema de archivos: Una vez más, utiliza la opción -L con tune2fs idéntica a la siguiente línea de comandos: sudo tune2fs -l /dev/sda2

  • Cambiar el Tamaño del Sistema de Archivos Ext4

Debes asegurarte de que el dispositivo de bloque subyacente tiene suficiente tamaño para el sistema de archivos Ext4 que la línea de comandos cambiará de tamaño. Utiliza el comando resize4fs para cambiar el tamaño de tus archivos:

~]# resize4fs block_devicenew_size

  • Desfragmentación del Sistema de Archivos Ext4

Algunos archivos Ext4 están hechos con la opción extent, lo que significa que puedes usar e4defrag para hacer la desfragmentación. Para comprobar los niveles de fragmentación, utiliza esta línea de comandos:

sudo e4defrag -c /path/to/myfiles

En algunos casos, la puntuación de fragmentación es cero, lo que significa que la desfragmentación no es necesaria. Sin embargo, si quieres hacerlo, utiliza la siguiente línea de comandos:

e4defrag /path/to/myfiles

Parte 6. Ext vs. Otros sistemas de Archivos de Linux

Linux soporta varios sistemas de archivos como Ext4, XFS, Btfrs, ZFS, JFS y NTFS. Cada tipo de sistema de archivos resuelve diferentes problemas y tiene sus limitaciones.

Sistemas de Archivos Linux
Fecha de lanzamiento
Desarrollador
Uso Ideal
Limitaciones
Ext4 Diciembre 2008 Mingming Cao, Andreas Dilger, Alex Zhuravlev (Tomas), Dave Kleikamp, Theodore Ts'o, Eric Sandeen, Sam Naghshineh Utilizarlo para aplicaciones que utilizan un solo hilo de lectura o escritura No tiene función de borrado seguro
XFS Mayo 2000 Silicon Graphics, Red Hat Lo mejor cuando se utiliza para sistemas de computación grandes y sistemas que requieren un alto rendimiento Operaciones de metadatos más lentas
Btrfs Marzo 2009 Facebook, Fujitsu, Fusion-IO, Intel, Linux Foundation, Netgear, Oracle Corporation, Red Hat, STRATO AG, y openSUSE Es mejor cuando se utiliza para contrarrestar obstáculos como la tolerancia a fallos, la gestión y la protección de datos Alto nivel de fragmentación de datos
ZFS Junio 2006 Sun Microsystems crear un sistema de archivos que abarque una serie de unidades o un pool No se comprueba la salud de la RAM en caso de errores de datos
JFS Junio 2001 IBM et al. Mantener la coherencia de los metadatos al registrarlos en el diario No poder reducir una partición JFS
NTFS 1993 Microsoft Evitar la pérdida de datos en caso de pérdida de energía Problemas de compatibilidad con Android y macOS

Puedes aprender qué sistema de archivos de Linux deberías utilizar para tu computadora en la guía de video a continuación:

Descargar Gratis

Para Windows XP/Vista/7/8/10/11

Descargar Gratis

Para macOS X 10.10 - macOS 13

Las Personas También Preguntan

Diversas pruebas de referencia han llegado a la conclusión de que el sistema de archivos ext4 puede realizar múltiples operaciones de lectura y escritura más rápidamente que una partición NTFS. Hay que tener en cuenta que, aunque estas pruebas no indican el rendimiento en el mundo real, podemos extrapolar estos resultados y utilizarlo como una razón.

El formato del sistema de archivos Ext4 es nativo de Linux, y el sistema operativo Windows no lo soporta por defecto, pero hay formas de evitarlo.

La razón principal de la incapacidad de Windows para leer Ext4 es que no está hecho con controladores hechos para ese sistema de archivos.

Hay múltiples benchmarks en internet que afirman que el formato de sistema de archivos Ext4 es mucho más rápido que FAT32 (e incluso NTFS).