Sistemas de archivos: comparando alternativas en GNU/Linux
En este artículo haremos una breve reseña por las principales características de los sistemas de archivos, o filesystems, más utilizados en sistemas GNU/Linux, y cuales son las ventajas de cada uno.
ext: sistemas de archivos extendidos
Ext es un acrónimo del sistema de archivos extendido estándar diseñado para los sistemas Linux en 1992.
Las funcionalidades se basaron inicialmente en el sistema de archivos de UNIX, pero con algunos cambios que permitían solventar algunas limitaciones.
Este sistema de archivos ya cuenta con mas de 30 años de vida, y hoy muchas distros GNU/Linux ya no lo soportan, puesto que fue reemplazado por versiones más modernas.
ext2: segundo sistema extendido
Este sistema de archivos fue creado en 1993 para ser el sucesor de ext en Linux.
Entre loa cambios principales se cuentan el aumento de capacidad de almacenamiento, ya que soportaba hasta 2TB, y también proporcionó mejoras de rendimiento respecto de su predecesor.
Al igual que ext, ext2 no es soportado hoy en día por muchas distros GNU/Linux.
ext3: tercer sistema extendido
Este sistema de archivos se creó en el 2001 como una actualización de ext2 que incorpora un sistema de registro diario, o journaling. Esto le permitió a ext3 guardar un registro de cambios y actualizaciones de archivos ante de estas operaciones de entrada/salida a disco se llevaran a cabo.
Así, si el disco o la computadora se queda sin alimentación eléctrica, el sistema de archivos podía recuperarse en el reinicio haciendo uso del registro de cambios hasta el momento en el que se produjo la falla.
Hoy en día existen varias opciones mejores que ext3, por lo que, si bien sigue siendo soportado por muchas distros, es difícil encontrar un ejemplo puntual donde se requiera usar sí o sí ext3.
ext4: cuarto sistema extendido
Este sistema de archivos fue creado e el 2006 para solventar algunas limitaciones del ext3. Hoy en día es ampliamente utilizado, y es el filesystem estándar de Linux.
Este sistema de archivos mejora el uso de la CPU, con lo cual tiene un mejor rendimiento respecto de su antecesor. A su vez, tiene mejoras en las operaciones de lectura y escritura.
Y, aunque no lo mencioné antes, como todos los sistemas de archivos extendidos, mantiene compatibilidad hacia atrás, lo que significa que se pueden migrar sistemas de archivos antiguos a ext4, y uno podría montar una partición ext4 utilizando alguno de los extendidos anteriores en el caso de que la distro no soporte la nueva versión.
Finalmente, si hay que elegir entre un sistema de archivos extendido, lo ideal es usar ext4.
JFS: el journaling File System
Ese sistema de archivos creado en 1990 por IBM, y fue uno de los primeros sistemas de archivos en incorporar journaling, o registro diario, tal y como mencionamos en el apartado de ext3.
Así, usando jfs es sencillo recuperar datos después de un apagón o falla eléctrica del disco o la computadora.
Originalmente fue desarrollado para AIX, pero hoy en día se puede utilizar en casi cualquier distro GNU/Linux, principalmente en aquellas pensadas para servidores de alto rendimiento.
XFS: Extent File System
Este es un sistema de archivos creado por Silicon Graphics en 1990 para su sistema operativo IRIX, que luego fue adaptado a Linux.
Se trata de un sistema de archivos de alto rendimiento con journaling o registro diario. Funciona excelente con archivos muy grandes, pero su rendimiento decae al administrar archivos pequeños.
Btrfs: B-Tree File System
También conocido como Butter FS, o Better FS, este sistema de archivos fue creado en el 2009 por Oracle como rival para ext4. No obstante, los experimentos indican que ext4 es mejor sistema de archivos que Btrfs en general, en transferencia de datos y estabilidad.
Btrfs igualmente posee algunas características distintivas, empezando por su excelente rendimiento, posibilidad de crear snapshots del sistema de archivos, copy-on-write, asignación dinámica de i-nodes, buena integración con device-mapper para soportar múltiples dispositivos, etc.
Incorpora características de ReiserFS, un sistema de archivos con journaling con excelente rendimiento para gestionar archivos pequeños. No obstante, se ha marcado como obsoleto y se piensa que va a dejar de ser soportado por Linux en el 2025.
Sistemas de archivos: ¿Cuál elegir?
Respuesta rápida: Ext4, el sistema de archivos predeterminado en Linux.
Para un usuario común del sistema, que realiza tareas comunes en un sistema (internet, navegación, ofimática, documentos, etc.), Ext4 es la opción ideal: buen rendimiento, propósito general, soportado por casi todas las distribuciones de GNU/Linux.
En servidores también se puede usar ext4 en la mayoría de los casos. No obstante, cuando se trata de gestión de grandes cantidades de datos con un buen rendimiento, XFS parece ser una opción ideal.
Para usuarios que tiendan más a lo experimental, esos que siempre están probando las últimas versiones de todo, aún cuando todo falle, una opción interesante es Btrfs. Posee características modernas como los snapshots o soporte incluido para RAID. Igualmente es un filesystem moderno y algo «verde«, por lo que algunas cosas puede que no estén muy bien pulidas todavía.
Espero que les resulte útil!
Hasta la próxima!