GNU/Linux >> Tutoriales Linux >  >> Linux

Explicación de los tipos de sistemas de archivos de Linux, ¿cuál debe usar?

Linux es compatible con varios sistemas de archivos, como ext4, ZFS, XFS, Btrfs, Reiser4, etc. Diferentes tipos de sistemas de archivos resuelven diferentes problemas y su uso es específico de la aplicación.

Elegir un sistema de archivos Linux para su aplicación es una decisión importante. Este tutorial describe algunos de los principales sistemas de archivos de Linux y brinda recomendaciones sobre el sistema de archivos adecuado para su aplicación.

¿Qué es el sistema de archivos de Linux

Casi todos los datos y la programación necesarios para iniciar un sistema Linux y mantenerlo en funcionamiento se guardan en el sistema de archivos. Por ejemplo, el propio sistema operativo, compiladores, programas de aplicación, bibliotecas compartidas, archivos de configuración, archivos de registro, puntos de montaje de medios, etc.

Los sistemas de archivos funcionan en segundo plano. Al igual que el resto del núcleo de un sistema operativo, son en gran medida invisibles en el uso diario.

El sistema de archivos de Linux es generalmente una capa integrada de un sistema operativo Linux que se utiliza para manejar la gestión de datos de almacenamiento. Controla cómo se almacenan y recuperan los datos.

Además, administra el nombre del archivo, el tamaño del archivo, la fecha de creación y mucha más información sobre un archivo.

Sistema de archivos Ext4

En 1992 se lanzó el Extended File System o ext específicamente para el sistema operativo Linux. Tiene sus raíces en el sistema operativo Minix. En 1993 se lanzó una actualización llamada Extended File System 2 o ext2 y fue el sistema de archivos predeterminado en muchas distribuciones de Linux durante muchos años.

En 2001, ext2 se actualizó a ext3, lo que introdujo el registro en diario para proteger contra la corrupción en caídas o cortes de energía.

Ext4 (Cuarto sistema de archivos extendido) se introdujo en 2008 y ha sido el sistema de archivos predeterminado de Linux desde 2010. Fue diseñado como una revisión progresiva del sistema de archivos ext3 y superó algunas limitaciones en ext3.

Como resultado, ext4 tiene ventajas significativas sobre su predecesor, como un diseño mejorado, mejor rendimiento, confiabilidad y nuevas características.

Hoy en día, ext4 es el sistema de archivos predeterminado en la mayoría de las distribuciones de Linux. Puede admitir archivos grandes y sistemas de archivos de hasta 16 terabytes.

También admite una cantidad ilimitada de subdirectorios (el sistema de archivos ext3 solo admite hasta 32,000). Además, ext4 es compatible con versiones anteriores de ext3 y ext2, lo que permite montar estas versiones anteriores con el controlador ext4.

Hay una razón por la que ext4 es la opción predeterminada para la mayoría de las distribuciones de Linux. Está probado, probado, estable, tiene un rendimiento excelente y es ampliamente compatible. Entonces, si busca estabilidad, ext4 es el mejor sistema de archivos de Linux para usted.

A pesar de sus funciones, ext4 no admite la compresión transparente, el cifrado transparente ni la deduplicación de datos.

Sistema de archivos XFS

XFS es un sistema de archivos altamente escalable desarrollado por Silicon Graphics e implementado por primera vez en el sistema operativo IRIX basado en Unix en 1994. Es un sistema de archivos de registro en diario y, como tal, realiza un seguimiento de los cambios en un registro antes de confirmar los cambios en el archivo principal. sistema de archivos.

La ventaja es la consistencia garantizada del sistema de archivos y la recuperación acelerada en caso de cortes de energía o caídas del sistema.

Inicialmente, XFS se creó para admitir sistemas de archivos extremadamente grandes con tamaños de hasta 16 exabytes y tamaños de archivo de hasta 8 exabytes. Como resultado, tiene un largo historial de ejecución en grandes servidores y matrices de almacenamiento.

Una característica notable de XFS es la E/S de tasa garantizada. Esto permite que las aplicaciones reserven ancho de banda. El sistema de archivos calcula el rendimiento disponible y ajusta su funcionamiento de acuerdo con las reservas existentes.

XFS tiene la reputación de operar en entornos que requieren alto rendimiento y escalabilidad y, por lo tanto, se mide de forma rutinaria como uno de los sistemas de archivos de mayor rendimiento en sistemas grandes con cargas de trabajo empresariales.

Actualmente, XFS es compatible con la mayoría de las distribuciones de Linux y se ha convertido en el sistema de archivos predeterminado en Red Hat Enterprise Linux, Oracle Linux, CentOS y muchas otras distribuciones.

Mejores casos de uso para el sistema de archivos XFS

Entonces, ¿tienes un servidor grande? ¿Tiene grandes requisitos de almacenamiento o tiene una unidad SATA local lenta?

Si tanto su servidor como su dispositivo de almacenamiento son grandes y no hay necesidad de reducir el tamaño del sistema de archivos, es probable que XFS sea la mejor opción.

XFS es un excelente sistema de archivos, que escala bien para servidores grandes. Pero incluso con arreglos de almacenamiento más pequeños, XFS funciona muy bien cuando el tamaño promedio de los archivos es grande, por ejemplo, cientos de megabytes.

Sistema de archivos Btrfs

Btrfs es el sistema de archivos de propósito general de próxima generación de Linux que ofrece características únicas como administración avanzada de dispositivos integrados, escalabilidad y confiabilidad. Está licenciado bajo GPL y está abierto a la contribución de cualquier persona. Se utilizan diferentes nombres para el sistema de archivos, incluidos "Butter FS", "B-tree FS" y "Better FS".

El desarrollo de Btrfs comenzó en Oracle en 2007. Se fusionó con el kernel principal de Linux en 2009 y debutó en la versión Linux 2.6.29.

Btrfs no es un sucesor del sistema de archivos ext4 predeterminado que se usa en la mayoría de las distribuciones de Linux, pero ofrece mejor escalabilidad y confiabilidad. En cambio, Btrfs es un sistema de archivos de copia en escritura (CoW) destinado a abordar varias debilidades en los sistemas de archivos Linux actuales.

Btrfs se enfoca principalmente sobre la tolerancia a fallas, las propiedades de autorreparación y la fácil administración.

Btrfs puede admitir una partición de hasta 16 exbibytes y un archivo del mismo tamaño. Entonces, si está confundido con los números, todo lo que necesita saber es que Btrfs puede admitir hasta dieciséis veces los datos de Ext4.

Cómo funciona la copia-en-escritura y por qué la querría

En un sistema de archivos tradicional, la modificación de un archivo leería los datos, los cambiaría y luego los volvería a escribir en el mismo lugar. En un sistema de archivos de copia en escritura, lee los datos, los modifica y los escribe en una nueva ubicación. Esto evita la pérdida de datos durante la transacción de lectura, modificación y escritura porque los datos siempre están en un disco.

Dado que no "vuelve a apuntar" hasta que el nuevo bloque está completamente escrito, si pierde energía o falla en medio de una escritura, terminará con el bloque anterior o el bloque nuevo, pero no con un bloque corrupto a medio escribir. cuadra. Así que no necesitas fsck sistemas de archivos al inicio y reduce el riesgo de corrupción de datos.

Puede tomar una instantánea del sistema de archivos en cualquier momento, creando una entrada de instantánea en los metadatos con el conjunto actual de punteros.

Esto evita que los bloques antiguos se recolecten como basura más adelante y permite que el sistema de archivos presente un volumen tal como era durante la instantánea. En otras palabras, tiene capacidades de reversión instantánea. Incluso puede clonar ese volumen para convertirlo en un volumen grabable basado en la instantánea.

Su otra opción es ZFS en Linux, que puede ser más estable, pero requiere algunos pasos más para instalarlo en las distribuciones típicas de Linux.

Características de Btrfs

  • Copia en escritura (CoW) y creación de instantáneas – Realice copias de seguridad incrementales sin problemas, incluso desde un sistema de archivos o una máquina virtual (VM) “activos”.
  • Sumas de comprobación a nivel de archivo – Los metadatos de cada archivo incluyen una suma de comprobación utilizada para detectar y reparar errores.
  • Compresión – Los archivos se pueden comprimir y descomprimir sobre la marcha, lo que acelera el rendimiento de lectura.
  • Desfragmentación automática – Un subproceso de fondo sintoniza los sistemas de archivos mientras están en uso.
  • Subvolúmenes – Los sistemas de archivos pueden compartir un grupo de espacio único en lugar de colocarse en sus particiones.
  • INTENSIVO – Btrfs realiza sus implementaciones de RAID, por lo que no es necesario que LVM o mdadm tengan RAID. Actualmente, se admiten RAID 0, 1 y 10. RAID 5 y 6 se consideran inestables.
  • Las particiones son opcionales – Si bien Btrfs puede funcionar con particiones, tiene el potencial de usar dispositivos sin formato (/dev/) directamente.
  • Deduplicación de datos – Hay soporte de deduplicación de datos limitado; sin embargo, la deduplicación eventualmente se convertirá en una función estándar en Btrfs. Esto permite que Btrfs ahorre espacio al comparar archivos a través de diferencias binarias.

Btrfs es un sistema de archivos que no necesita administración una vez implementado. Por lo tanto, nunca debería tener que ejecutar fsck comando en él. Cada vez que surjan errores o inconsistencias, simplemente debe manejarlos y seguir su camino.

Si bien es cierto que Btrfs todavía se considera experimental y actualmente se encuentra en desarrollo activo, se acerca el momento en que Btrfs se convertirá en el sistema de archivos predeterminado para los sistemas Linux. Algunas distribuciones de Linux ya han comenzado a cambiar a él con sus versiones actuales.

Si no tiene miedo de lidiar con un ecosistema algo menos maduro, Btrfs puede ser la mejor opción para usted.

Sistema de archivos ZFS

ZFS (Zettabyte File System) sigue siendo uno de los sistemas de archivos técnicamente más avanzados y completos desde su aparición en octubre de 2005. Es un sistema de archivos local (es decir, ext4) y un administrador de volumen lógico (es decir, LVM) creado por Sun Microsystems.

ZFS se publicó con una licencia de código abierto hasta que Oracle compró Sun Microsystems y cerró la licencia.

Puede pensar en ZFS como un administrador de volumen y una matriz RAID en uno , que permite agregar discos adicionales a su volumen ZFS, lo que permite agregar espacio adicional a su sistema de archivos. Además, ZFS viene con algunas otras funciones que el RAID tradicional no tiene.

ZFS depende en gran medida de la memoria, por lo que necesita al menos 8 GB para comenzar. En la práctica, use tanto como sea posible para su hardware/presupuesto.

ZFS es comúnmente utilizado por acaparadores de datos, usuarios de NAS y otros geeks que prefieren confiar en un sistema de almacenamiento redundante propio en lugar de en la nube. Es un fantástico sistema de archivos para administrar múltiples discos de datos y compite con algunas de las magníficas configuraciones RAID.

ZFS es similar a otros enfoques de administración de almacenamiento, pero es radicalmente diferente en algunos aspectos. Por ejemplo, ZFS no suele utilizar el Administrador de volúmenes lógicos (LVM) de Linux ni las particiones de disco, y generalmente es conveniente eliminar las particiones y las estructuras LVM antes de preparar los medios para un zpool.

El zpool es el análogo del LVM. Un zpool abarca uno o más dispositivos de almacenamiento y los miembros de un zpool pueden ser de varios tipos. Los elementos básicos de almacenamiento son dispositivos individuales, espejos y raidz. Todos estos elementos de almacenamiento se denominan vdevs.

ZFS puede hacer cumplir la integridad del almacenamiento mucho mejor que cualquier controlador RAID, ya que tiene un conocimiento profundo de la estructura del sistema de archivos. Como resultado, la seguridad de los datos es una característica de diseño importante de ZFS. Todos los bloques escritos en un zpool se someten a sumas de verificación agresivas para garantizar la consistencia y corrección de los datos.

Para el uso del servidor en el que desea eliminar casi por completo cualquier posibilidad de pérdida de datos y la estabilidad es el nombre del juego, es posible que desee buscar en ZFS.

Características de ZFS

Escalabilidad infinita . Bueno, técnicamente no es interminable, pero es un sistema de archivos de 128 bits capaz de administrar zettabytes (mil millones de terabytes) de datos. Por lo tanto, no importa cuánto espacio de disco duro tenga, ZFS será adecuado para administrarlo.

Máxima integridad . Todo lo que hace dentro de ZFS usa una suma de verificación para garantizar la integridad del archivo. Como resultado, puede estar seguro de que sus archivos y sus copias redundantes no encontrarán corrupción de datos silenciosa. Además, mientras ZFS está ocupado verificando silenciosamente la integridad de sus datos, realizará reparaciones automáticas en cualquier momento que pueda.

Conjunto de unidades . Los creadores de ZFS quieren que pienses que es similar a cómo tu computadora usa la memoria RAM. Cuando necesite más memoria en su computadora, coloque otro dispositivo y listo.

De manera similar, con ZFS, cuando necesita más espacio en el disco duro, coloca otro disco duro y listo. No hay necesidad de perder tiempo particionando, formateando, inicializando o haciendo cualquier otra cosa con sus discos. Cuando necesite un "grupo" de almacenamiento más grande, simplemente agregue discos.

INCURRIMIENTO . ZFS es capaz de muchos niveles de RAID diferentes y ofrece un rendimiento comparable al de los controladores RAID de hardware. Esto le permite ahorrar dinero, facilitar la configuración y acceder a niveles RAID superiores que ZFS ha mejorado.

Sistema de archivos Reiser4

ReiserFS es un sistema de archivos informáticos de uso general con registro en diario diseñado e implementado inicialmente por un equipo de Namesys dirigido por Hans Reiser. Introducido en la versión 2.4.1 del kernel de Linux, fue el primer sistema de archivos de diario incluido en el kernel estándar.

Con la excepción de las actualizaciones de seguridad y las correcciones de errores críticos, Namesys ha dejado de desarrollar ReiserFS. Reiser4 es el sistema de archivos sucesor de ReiserFS. Ha agregado cifrado, rendimiento mejorado y mucho más.

Reiser4 requiere un kernel parcheado. Desafortunadamente, todavía no está incluido en el kernel oficial de Linux, pero los parches para Linux-5.x ya están disponibles. Las razones por las que Reiser4 no está en el kernel de Linux hoy pueden resumirse como afirmaciones de que se requieren más pruebas.

Reiser4 proporciona el uso de espacio en disco más eficiente entre todos los sistemas de archivos en todos los escenarios y cargas de trabajo. ReiserFS ofrece ventajas sobre otros sistemas de archivos, especialmente cuando se maneja una gran cantidad de archivos pequeños.

Admite el registro en diario para una recuperación rápida en caso de problemas. La estructura del sistema de archivos se basa en árboles. Además, Reiser4 consume un poco más de CPU que otros sistemas de archivos.

Reiser4 tiene una capacidad única para optimizar el espacio en disco ocupado por archivos pequeños (menos de un bloque). Esto se debe a que se almacenan por completo en su inodo, sin asignar bloques en el área de datos.

Además de implementar las funciones tradicionales del sistema de archivos de Linux, Reiser4 proporciona a los usuarios algunas características adicionales:compresión y cifrado transparentes de archivos, registro completo de datos y extensibilidad casi ilimitada (con la ayuda de la arquitectura de complementos).

Sin embargo, no hay soporte para E/S directa (se ha comenzado a trabajar en la implementación), cuotas y POSIX ACL.

Conclusión

Elegir el sistema de archivos que satisfaga las necesidades específicas de su aplicación requiere consultar e investigar varios parámetros.

Este artículo describe los beneficios de las opciones de sistema de archivos ext4, ZFS, XFS, Btrfs y Reiser4 para ayudarlo a decidir el sistema de archivos correcto para sus entornos de aplicación.

Gracias por pasar su tiempo aquí.


Linux
  1. ¿Qué solución de copia de seguridad de código abierto utiliza?

  2. ¿Qué comando de terminal de Linux usas más?

  3. ¿Visual Studio Code o Atom? ¿Qué editor de código debería usar?

  4. ¿Para qué carga de trabajo usó contenedores de Linux por primera vez?

  5. Qué sistema de archivos usar entre OSX y Linux

Fedora Vs Red Hat:¿Qué distribución de Linux debería usar y por qué?

Todo lo que necesita saber sobre el sistema de archivos de Linux

Explicación de los comandos Apt vs Apt-get:¿Cuál usar?

Terraform vs Ansible:¿Cuál es la diferencia y cuál deberías usar?

Linux Mint vs Ubuntu:¿cuál es el mejor para ti?

Las 5 mejores aplicaciones esenciales de Linux que necesita hoy