Ext4 : Un nuevo sistema de archivos para Linux

por

350 posts

Las distribuciones de Linux que serán liberadas este año incorporarán varias mejoras respecto al rendimiento y el uso intensivo de los recursos de hardware. Una de las mejoras que veremos se dará en el sistema de archivos (File System).  Este sistema se encarga de organizar los archivos en nuestros discos y se hace relevante cada vez que necesitamos leer, crear, borrar, o mover archivos. Sí, tal como sospechas, es un sistema crítico.

Mientras que en los tradicionales sistemas Windows hay oficialmente dos alternativas : FAT o NTFS, en un sistema Linux aparecen todo tipo de siglas terminadas en FS como ExtFS, XFS, JFS, ReiserFS, etc.  El sistema más utilizado es ExtFS, específicamente su variante ext3.  No es popular porque sea superior a los demás, sino porque es uno de los mas probados y confiables.

Este año veremos que las distribuciones anunciarán el soporte de una nueva encarnación de ExtFS, curiosamente llamada ext4, ¿y qué nos ofrece? Veamos:

  • En las pruebas realizadas es más rápido que ext3 salvo a la hora de eliminar archivos.
  • En comparación a los otros sistemas de archivo también es más rápido pero no con tanta diferencia
  • Incluye una nueva forma de evitar la fragmentación de archivos, eso que hace que el computador se vuelva cada vez mas lento a medida que se van creando y borrando archivos.  Usa una técnica conocida como Extents que ayuda a asegurar que los archivos se escriban en forma contigua.  Esta técnica también es usada en otros sistemas como es el caso de XFS, ReserFS4 y HFS+ de OSX
  • Implementa otra técnica adicional para evitar la fragmentación y al mismo tiempo mejorar el performance.  Le han llamado “delayed allocation”, y significa que espera el momento preciso para saber en donde dejar el archivo sin fragmentar el disco.
  • Es compatible con ext3, esto quiere decir que un sistema de archivos ext4 se puede montar como ext3 en caso de que lo usemos en un sitema antiguo, a menos que uses ext4 con Extents.
  • Soporta hasta 1 ExaByte. (1 ExaByte =  1024 PetaBytes = 1048576 TeraBytes, etc).  Para que entiendan lo que significa ese tamaño, podemos decir que no existe suficiente pr0n para llenarlo…. aún.
  • Su estructura permite reducir el tiempo que se demora el sistema en revisar la consistencia.  Si se corta la luz, no es necesario esperar tanto para ver si todo esta OK.
  • En caso de ser necesario, soporta defragmentación online, o “en caliente” para los amigos/as.  Esto quiere decir que puedes seguir usando el equipo mientras defragmentas.
  • Una de las desventajas de sistemas de archivos rápidos como ReiserFS es que consumen mucha CPU, por lo tanto en equipos muy antiguos lo que se gana en rapidez de acceso al disco se pierde en uso de CPU.  A la fecha no hay pruebas que muestren si la CPU va a sufrir la rapidez de ext4

Este nuevo sistema de archivos se considera una “leve” mejora sobre los sistemas de archivo en Linux en comparación con lo que se está haciendo con el desarrollo de BtrFS, un sistema de archivos diseñado por unos muchachos que recién se estan metiendo en estos temas de almacenamiento, unos tales Oracle.  BtrFS busca eliminar las limitaciones de ext3 (y 4) pero aún no esta completamente probado para que lo pueda usar el público general.

Links:
Migrating to ext4 (IBM developerWorks)
Real World Benchmarks of the ext4 file system (Phoronix)

Update : Se anuncia la disponibilidad de Ubuntu 9.04 Alpha 4 y Fedora 11 Alpha 1 ambos con soporte de ext4 para todo el mundo.