lunes , 21 mayo 2018
Inicio / Tips / Servidores Linux / Elección de un sistema de archivo o filesystem

Elección de un sistema de archivo o filesystem

Los sistemas de archivos son los métodos y estructuras de datos que un sistema operativo organiza  y administrar los archivos dentro de un dispositivo (partición)[1], brindando caracteristicas como:

1.-Cantidad de caracteres que se pueden utilizar para nombrar un archivo
2.-Lista de control de Acceso y permisos de uso para los archivos, directorios  dispositivos especiales
3.-Informacion de la fecha de creación y última modificación
4.- El número de archivos que se pueden crear en el dispositivo
5.- El tamaño del archivo que se puede copiar al y dentro del dispositivo.

Sistemas de archivos soportados por Linux

 

Los sistemas de archivos actuales comunmente soportados por Linux son:

  • EXT3
  • EXT4
  • BTRFS
  • XFS

EXT3

Es un sistema de archivo transaccional caracterizado por ser el primero en incluir archivos transaccional (en ingles journaling)[2].

Beneficios

El sistema de archivo ext3 tiene son las siguientes beneficios[3]:

  • Disponiblidad: el ext3 no requiere un chequeo del disco, incluso después de un apagado incorrecto del sistema. Esto es debido a  que los datos son escritos al disco de tal manera que el sistema de ficheros siempre esta consistente.
  • Integridad: Usando ext3 el sistema de ficheros puede proporcionar garantías más fuertes respecto a la integridad de los datos en  el caso de un apagado incorrecto del sistema
  • Velocidad: el ext3 optimiza el movimiento de cabeza del disco duro.

 

EXT4

Es un sistema de archivos transaccional (en inglés journaling), anunciado el 10 de octubre de 2006 por Andrew Morton, como una mejora compatible de ext3. El 25 de diciembre de 2008 se publicó el kernel Linux 2.6.28, que elimina ya la etiqueta de “experimental” de código de ext4[4].

Beneficios

El sistema de archivo ext4 tiene son las siguientes beneficios[5]:

  • Soporte de volúmenes de hasta 1 exabyte (260 bytes) y archivos con tamaño hasta 16 terabytes.
  • 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 del CPU.
  • Mejoras en la velocidad de lectura y escritura.
  • Se ha cambiado la administranción de espacio de bloques por extens que son espacio de bloques contiguos

 

BTRFS

Btrfs (B-tree FS o normalmente pronunciado “Butter FS”) es un sistema de archivos copy-on-write anunciado por Oracle Corporation para GNU/Linux.[6]

Beneficios

El sistema de archivo BTRFS tiene son las siguientes beneficios [6]:

  • Empaquetado eficiente en espacio de archivos pequeños y directorios indexados
  • Asignación dinámica de inodos (no se fija un número máximo de archivos al crear el sistema de archivos)
  • Snapshots escribibles y snapshots de snapshots
  • Subvolúmenes (raíces del sistema de archivos internas separadas
  • Mirroring y Striping a nivel de objeto
  • Comprobación de datos y metadatos (alta seguridad de integridad)
  • Compresión
  • Copy-on-write del registro de todos los datos y metadatos
  • Gran integración con device-mapper para soportar múltiples dispositivos, con varios algoritmos de RAID incluidos
  • Comprobación del sistema de archivos sin desmontar y comprobación muy rápida del sistema de archivos desmontado
  • Copias de seguridad incrementales eficaces y mirroring del sistema de archivos
  • Actualización desde ext3 a Btrfs, y reconversión a ext3 al momento de la actualización
  • Modo optimizado para SSD (activado a través de una opción de montaje)
  • Defragmentación sin desmontar

 

XFS

XFS es un sistema de archivos de 64 bits con registro de bitácora o journaling de alto rendimiento creado por SGI (antiguamente Silicon Graphics Inc.) para su implementación de UNIX llamada IRIX. En mayo de 2000, SGI liberó XFS bajo una licencia de código abierto [7].

Beneficios

El sistema de archivo BTRFS tiene son las siguientes beneficios [8]:

  • Asignación demorada
  • Inodos asignados de forma dinámica
  • Indexación de Árbol-B para escalabilidad de administración de espacio libre.
  • Desfragmentación en línea y crecimiento de sistema de archivos
  • Metadatos sofisticados de algoritmos de lectura anticipada

 

¿Como elegir un sistema de archivo para mi instalación?

 

Hasta el momento solo se ha descrito los sistemas de archivos y sus caracteristicas, sin embargo no existe un criterio o recomendación para ser asignados en un dispositivo de almacenamiento (formatear una partición).

Los criterios  que se pueden emplear para definir  el sistema de archivo es:

 

Tiempo

Los últimos sistema de archivos publicados y adapatados para linux son xfs y btrfs los cuales de manera natural traen ventajas sobre sus antencesores, sin embargo existe una inversión de tiempo para implementar rodas las propiedades que puede dar un sistema de archivo.

 

Estabilidad y confiablidad

Si lo que se desea es tener confiabilidad y estabilidad para garantizar que la información y un  reinicio no tenga problemas se debe recurrir a dos candidatos ext3 y ext4.

 

Uso de cpu

Si se desea reducir la capacidad de computo en accesos y manejo de la información que es almancenado en el se debe recurrir a xfs y ext4

 

Recuperación de desastre

Si se desea contar con un sistema de archivo que genere snapshot de archivos internos por cada partición, se debe utilizar el sistema de archivo BTRFS el cuál tiene esa capacidad.

 

Ejemplo

Se desea implementar un servidor LAMP que proporcione un alto desempeño en consulta  hacia la base de datos y constante uso por parte de multiples usuarios  para subir archivos, pero existe el inconveniente de que no existe un medio para realizar respaldos de la información.

El esquema de particionamiento utilizado  es el siguiente:

/boot  512 MB                   ___________
/       16 GB                   ___________
/var/www/html  100 GB           ___________
/var/lib/mysql  20 GB           ___________
swap  4 GB                      ___________
Se recomienda al usuario realizar su diseño antes de consultar el propuesto

/boot  512 MB                   ____ext3___
/       16 GB                   ___BTRFS___
/var/www/html  100 GB           ___BTRFS___
/var/lib/mysql  20 GB           ___XFS____
swap  4 GB                      ____ext4___

[1] http://www.tldp.org/pub/Linux/docs/ldp-archived/system-admin-guide/translations/es/html/ch06s08.html
[2] https://es.wikipedia.org/wiki/Ext3
[3] https://kataix.umag.cl/~ruribe/Utilidades/ext3.pdf
[4] https://es.wikipedia.org/wiki/Ext4
[5] https://www.i-nis.com.ar/tutoriales/ext4
[6] https://es.wikipedia.org/wiki/Btrfs
[7] https://es.wikipedia.org/wiki/XFS
[8] https://access.redhat.com/documentation/es-ES/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning_Guide/storage-improvements.html

Acerca de jpereag

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *