El sistema de archivos es una de las primeras cosas en las que un administrador Linux debe saber. En Windows, el sistema por defecto es NTFS, mientras que en Linux tenemos diferentes para diferentes opciones.
Un sistema de archivos sirve para estructurar la información en el disco duro o en otra unidad de almacenamiento como un disco portátil, memoria USB, entre otros.
Antes que nada explicaremos algunos conceptos básicos sobre estos sistemas de almacenamiento.
Journaling, o sistema de registros diarios
Un sistema de archivos es mucho mas confiable cuando tiene un sistema de registro diario o Journaling, para este articulo usaremos la palabra Journaling para especificar este caso.
El Journaling provee consistencia al guardar datos, no necesariamente prevee corrupción de datos o perdida del mismo, en caso de una falla eléctrica, mientras se escribe un archivo, este puede terminar en un archivo corrupto, el Journaling intenta prevenir esto, guardando parte del archivo en otra área del disco duro y tomando un registro de donde fue guardado, para luego guardarlo en el lugar donde debería ir, para terminar la tarea de escritura de archivo.
Edición de archivos
Los que usan Windows (usuarios de sistemas de archivo NTFS o FAT) sabrán que no es posible modificar archivos cuando están abiertos. Esta restricción no existe en un sistema de archivos en Linux, debido a que estos son indexados con un numero llamado inodo, en cada inodo hay diferentes atributos asociados con el archivo, tales como permisos de archivo, nombre, etc. Cuando se elimina un archivo lo que sucede es que el inodo es separado del nombre de archivo haciéndolo inubicable, pero, si otra aplicación esta usándolo, se mantiene el enlace del inodo al sistema operativo y este continua siendo actualizado. Un archivo no es totalmente eliminado hasta que todos sus enlaces de inodos hayan sido eliminados.
Fragmentación
Otra practica común de Windows es que el sistema de archivos se fragmenta, es decir, los datos se guardan en áreas separadas del disco, pero cuando se eliminan algunos archivos estos dejan espacios en blanco, haciendo que hayan mas lecturas y escrituras del disco en diferentes áreas.
Sistemas de archivos
Ext2
Conocido como Second Extended Filesystem, fue usado por mucho tiempo en Linux, incluso, hoy en día se sigue usando para algunos sistemas legados o plataformas antiguas.
Su principal inconveniente fue que no permitía el Journaling, que nos daba la opción de tener un control en caso de que falle por alguna razón. Otro inconveniente era de que no soportaba mas de una partición de 4Tb en el disco. Esto no parece ser un problema para los administradores de servidores chicos o medianos, sin embargo si lo fue para administradores que almacenan mucha información. De cualquier forma Ext2 se dejó como una opción, al salir su sucesor, Ext3
Ext3
Hasta el momento de esta publicación, Julio 2015, Ext3 sigue siendo uno de los sistemas de archivos mas usados en Linux, debido a que muchas distribuciones la traían por defecto, esta figura esta cambiando progresivamente, debido a que los nuevos filesystems traen Ext4 que es la versión mejorada de este mismo. La principal ventaja de Ext3 es el Journaling que se adiciono, esto es un gran avance, con respecto a Ext2. Así mismo, Ext3 provee compatibilidad con Ext2 y herramientas para migrar de Ext2 a Ext3.
Ext4
Desde las ultimas versiones de SUSE, Ubuntu y CentOS, (las distribuciones de Linux mas usadas, hoy en día) esta disponible como sistema de archivo por defecto, entre las ventajas mas destacadas se encuentran la velocidad del filesystem, el Journaling, la compatibilidad con versiones anteriores como Ext2 y Ext3 entre otros. De hecho si se debe elegir uno de estos filesystems esta seria la opción recomendada.
XFS
Un sistema de archivos que ya tiene tiempo entre nosotros, desarrollado por Silicon Graphics, fue pensado para trabajar nativamente en plataformas de 64 bits, también puede trabajar sobre 32. Este filesystem provee de jornaling, se aconseja su uso para archivos de gran tamaño. De hecho es la opcion por defecto cuando se instala CentOS7
BTRFS
BTRFS destaca por sus funciones avanzadas como instantáneas, compresión, RAID nativo y autoreparación. Sin embargo, aún se considera un sistema relativamente nuevo, por lo que se recomienda utilizarlo con precaución en entornos de producción críticos.
En resumen, BTRFS es una opción atractiva para usuarios que buscan un sistema de archivos moderno y con funciones avanzadas, pero es importante sopesar las ventajas y desventajas antes de utilizarlo en un sistema principal.
ZFS
ZFS sobresale por su robustez, escalabilidad y funciones avanzadas como protección contra errores, escalabilidad sin precedentes y administración de cuotas. Sin embargo, su implementación puede ser más compleja y su rendimiento puede verse afectado en algunos casos.
ZFS es una opción atractiva para entornos que demandan alta disponibilidad, escalabilidad y funciones avanzadas, pero se recomienda evaluar las necesidades específicas y considerar la complejidad de su implementación antes de adoptarlo.
¿Cómo elegir el sistema de archivos adecuado para ti?
La elección del sistema de archivos adecuado depende de varios factores, como el tipo de dispositivo de almacenamiento, el tamaño de los archivos, la necesidad de funciones avanzadas y la compatibilidad con otros sistemas operativos.
En general, EXT4 es una buena opción para la mayoría de los usuarios, mientras que XFS puede ser más adecuados para usuarios con necesidades específicas. Si necesitas características mas avanzadas como de-duplicación y compresión, BTRFS o ZFS son excelentes opciones.
Tienes algun caso con tu sistema de archivos? conoces algunos otros beneficios? déjanos un comentario
Deja una respuesta