sistemas

Los sistemas de archivos de GNU/Linux o cualquier otro sistema de archivos, generalmente son una capa que está bajo el sistema operativo que maneja el posicionamiento de los datos en el almacenamiento. Sin un sistema de archivos, el sistema no puede saber donde comienza ni termina un archivo. Podemos decir que son las piezas de software responsables de manejar el proceso de manipulación y almacenamiento de los datos almacenados en tu disco duro, sin usar un sistema de archivos, terminarías con un gran bloque de datos que no puedes manipular o modificar, por lo que los sistemas de archivos vinieron a resolver este problema.

Pero ¿que sistemas de archivos son los que se manejan habitualmente en GNU/Linux? Pues lo veremos porque por el hecho de que se usen en este sistema operativo, no son forzosamente creados para este sistema sino que son válidos para otros, como FreeBSD y otros creados fuera de GNU/Linux pueden ser válidos igualmente para nosotros.

Btrfs

Uno de los más nuevos sistemas de archivos, fue lanzado en 2007 por Oracle para ser usado con datos grandes y para propósitos de escalabilidad, en 2014, el formato Btrfs fue marcado como estable y hoy en día, está disponible para elegir en casi todas las distribuciones de GNU/Linux durante el proceso de instalación.

El código principal de Btrfs está todavía en desarrollo, se han corregido muchos errores, se han resuelto muchos posibles escenarios de fallo, también se añaden nuevas características en cada nueva versión, por lo que los desarrolladores siempre recomiendan utilizar el último Kernel de Linux si vas a utilizar el sistema de ficheros Btrfs con tu disco duro.

  • Subvolúmenes: en Btrfs, un subvolumen es como un espacio de nombres (una categoría) que incluye otros subvolúmenes o archivos, puede montarse o desmontarse cuando sea necesario, siempre hay un subvolumen principal (normalmente para /) que se carga en el arranque. Los subvolúmenes se tratan como sistemas de ficheros propiamente dichos.
  • Sistema de archivos de copia sobre escritura: cuando se modifica un archivo, los datos originales nunca se cambian, en su lugar, se crea un nuevo “enlace” o inodo para ese cambio, tanto el archivo original + los nuevos datos comparten el mismo bloque de almacenamiento y no se duplican, lo que sucede es que Btrfs guarda cada cambio en un lugar propio cercano al archivo original, en lugar de simplemente sobreescribirlo.
  • Conversión de Ext: Usando la herramienta btrfs-convert, puedes convertir cualquier sistema de archivos Ext2/3/4 en un sistema de archivos Btrfs, normalmente sin ninguna pérdida de datos, pero la conversión de Ext 3/4 a Btrfs no se ha probado todavía y no se recomienda.
  • Limites: Puede crear archivos con hasta 16 Exabytes de tamaño.

Ext2

  • Es el segundo sistema de archivos extendido que fue creado para superar las limitaciones del sistema de archivos EXT, que fue el primero creado pero es obsoleto hoy día.
  • Fue introducido en 1993 por Remy Card, como el primer sistema de archivos de grado comercial para GNU/Linux
  • No admite Journaling.
  • Adecuado para tarjetas SD y unidades USB, ya que tiene un alto rendimiento y escritura (ya que el registro journaling no está disponible).
  • Límites: Tamaño de archivo individual de 16 GB a 2 TB. Tamaño del sistema de archivos de 2TB a 32TB.

Los límites se calculan en función del tamaño del bloque utilizado. El tamaño del bloque varía de 1KB a 8KB. Por ejemplo, si se utiliza un tamaño de bloque de 1 KB, el tamaño máximo de archivo puede ir hasta 16 GB y para 8 KB es de 2 TB. Los tamaños medios son 2KB y 4KB que tienen límites de tamaño de archivo de 256GB y 2TB (no mencionados en los límites anteriores), respectivamente. Lo mismo se aplica a los límites de tamaño del sistema de archivos definidos anteriormente. En Ext2, al contrario que en FAT, las entradas de la tabla de entrada de ficheros apuntan a un bloque especial llamado i-nodo el cual incluye información de tamaño, permisos, propietario y localización en disco, es decir, los metadatos del fichero. Además de los metadatos los i-nodos contienen dos tipos de referencias a los bloques del fichero.

Ext3

  • El tercer sistema de archivos extendido que fue creado para superar las limitaciones del sistema de archivos EXT2.
  • Introducido en 2001 por Stephen Tweedie. Era el sistema de archivos más común en muchas distro de GNU/Linux.
  • Soporta Journaling a diferencia de Ext2.
  • Journaling  mantiene un registro de los cambios de archivo que ayuda en la recuperación rápida y reducir las posibilidades si la pérdida de datos en caso de bloqueo del sistema.
  • Límites: Tamaño de archivo individual de 16 GB a 2 TB. Tamaño del sistema de archivos de 4TB a 32TB.

Ext4

  • El cuarto sistema de archivos extendido que fue creado para superar las limitaciones del sistema de archivos EXT3.
  • Introducido en 2008. Su más reciente sistema de archivos en la familia EXT. 
  • Soporta Journaling.
  • Capacidad de reservar un área contigua para un archivo denominada “extents”, la cual puede reducir y hasta eliminar completamente la fragmentación de archivos.
  • Menor uso de la CPU.
  • Mejoras en la velocidad de lectura y escritura.
  • Límites: Tamaño de archivo individual de 16GB a 16TB. Tamaño del sistema de archivos hasta 1EB (exabyte).

Ext4 modifica importantes estructuras de datos del sistema de archivo tales como aquellas destinadas a almacenar los archivos de datos. El resultado es un sistema de archivos con un mejorado diseño, mejores características, rendimiento y confiabilidad.

JFS

Journaled File System (JFS) es un sistema de archivos que como su nombre indica, soporta journaling. Fue creado por IBM en 1999, cuyo soporte está disponible en el kernel de Linux desde 2002.

  • JFS utiliza extents para asignar bloques para archivos grandes.
  • Soporte para atributos extendidos además de los permisos estándar de estilo UNIX.
  • Soporte para registros internos y externos.
  • Extremadamente escalable; Rendimiento consistente desde un tamaño mínimo de archivo hasta 4 petabytes.
  • Algoritmos diseñados para un alto rendimiento en sistemas muy grandes.
  • Rendimiento optimizado para GNU/Linux.

El tamaño máximo recomendado para un JFS es de 16 TBs. El tamaño mínimo del sistema de archivos para un JFS es de 16 MBs.

OpenZFS

OpenZFS es una plataforma de almacenamiento que engloba la funcionalidad de los sistemas de archivos tradicionales y los administradores de volúmenes, ofreciendo fiabilidad empresarial, funcionalidad moderna y rendimiento consistente en un paquete fácil de administrar en varias plataformas de sistemas operativos. OpenZFS se debe en gran medida a funcionalidades avanzadas como la replicación, la deduplicación, la compresión, la posibilidad de crear clones (snapshots del sistema que se pueden modificar) y de compartir datos entre distintos sistemas, el bloqueo de los datos en clusters cuyos componentes deban estar sincronizados en tiempo real e incluso la protección y corrección de los datos con un sistema de comprobación de la integridad que impide que los archivos se corrompan de forma silenciosa.

ReiserFS

ReiserFS es un sistema de ficheros con journaling que fue publicado por primera vez en el 2001, fue el primer sistema de ficheros con journaled realmente soportado en GNU/Linux, los benchmarks han mostrado que ReiserFS es mejor que Ext 3/4 para servir ficheros más pequeños que 4K de tamaño; esto lo hace muy bueno para servicios de caché y otro software de manipulación de pequeños ficheros.

Sin embargo tiene algunos fallos con los servidores de correo y otros problemas, y su última versión, Reiser4 no está incluido en el núcleo de Linux, necesitarías usar un núcleo parcheado o aplicarlo tú mismo.

  • Reparticionamiento con el sistema de ficheros montado y desmontado. Podemos aumentar el tamaño del sistema de ficheros mientras lo tenemos montado y desmontado (online y offline).
  • Utiliza un método muy interesante de transferencia de datos basado en un algoritmo creativo e innovador.
  • Generalmente considerado como una buena opción para /var.
  • Tamaño máximo del archivo 1 exabyte. Tamaño de volumen máximo 16 TiB.

Reiser4

Reiser4 es una versión modernizada de ReiserFS, pero se ha reescrito completamente. Sus características principales son:

  • Journaling más eficiente gracias a la técnica de “wandering log”.
  • Soporte más eficiente de archivos pequeños, en términos de espacio en disco y velocidad gracias a “tail packing”.
  • Administración más rápida de directorios con un número elevado de ficheros.
  • Integración de metadatos en el espacio de nombres del sistema de archivos.
  • Compresión transparente inteligente.
  • Comprobación del sistema de archivos fuera de línea.

XFS

XFS es un sistema de archivos altamente escalable y de alto rendimiento que fue diseñado originalmente en Silicon Graphics, Inc. XFS es el sistema de archivos predeterminado para Red Hat Enterprise Linux desde su versión 7.

  • XFS es compatible con journaling, lo que facilita una recuperación más rápida de los fallos.
  • El sistema de archivos XFS puede desfragmentarse y ampliarse mientras está montado y activo.
  • Entre los que lo usan está la NASA. Usan XFS en dos discos duros de +300TB en sus servidores de archivo debido a su alto rendimiento de E/S.
  • Límites: Máxima dimension de archivo, 8 exabytes. Tamaño máximo de volumen, 16 exabytes.

ZFS

ZFS es un sistema de archivos diseñado por Sun Microsystems desde octubre del 2001 e implementado en OpenSolaris unos años después. La idea tras ZFS no es la mejora de la tecnología existente, es un enfoque nuevo en la gestión de los datos desarrollando la integración del sistema de archivos y el administrador de volúmenes lógicos en una sola . El énfasis esta en la administración sencilla, rendimiento, integridad de los datos y la escalabilidad.

  • Integridad de datos comprobable: Esta característica permite que los datos en el archivo se mantengan siempre correctamente, siendo capaz de detectar datos corruptos y repararlo automáticamente.
  • Snapshots: Los snapshots corresponden a copias del sistema de archivos en algún determinado momento. Son de creación muy rápida, permitiendo hacer respaldos o copias de seguridad de forma casi inmediata.
  • Espacios de almacenamiento: ZFS hace uso de espacios de almacenamiento virtual (o virtual storage pool, o zpools), a diferencia de los sistemas de archivo tradicionales que se encuentran en un solo dispositivo y requieren un gestor de volumenes.
  • Creación de sistemas de archivos livianos: Dado que la gestión de los sistemas de archivo es mucho más sencilla que en otros sistemas existentes, hace la tarea de creación de estos sistemas una operación muy ligera.

ZFS es un sistema de archivos de 128 bits, por lo que tiene mucho mayor capacidad de almacenamiento que otros sistemas de 64 bits. Es el sistema de archivo por defecto de FreeBSD y familia. Por defecto no viene integrado en GNU/Linux pero es fácil soportarlo.

 

Fuente: maslinux

¿Quién está en línea?

Hay 25710 invitados y ningún miembro en línea