Skip to main content

Sistemas de ficheros

Elección de un sistema de ficheros

Primero de todos debemos conocer la carga en I/O en el disco del servidor.

1ª El sistema de archivos elegido debe de ser fiable y maduro. No probar cosas nuevas en operaciones importantes, los sistemas de ficheros tardán mucho en madurar.
2º Conocer sus limites:
*Tamaño máximo del sistema de archivo
*Tamaño máximo del archivo
*Conocer como guarda las fechas, ¿tiene ms o s?
*Cuantos directorios puede crear
3ª Funciones:
*Soporte a cuotas
*Soporta permisos de UNIx
*Soporta ACL
*Desfragmentación en vivo
*Copiar solo los cambios de los ficheros
*POSIX La nomenclatura que sigue UNIX
*Funcionres RARAS:
**XFS. Cuotasñ que van en los metadatos del fichero.
**XFS. Volcado del sistema de ficheros. Mediente streaming de bytes se podrían mandar por red.
**XFS. Desfragmentación por ficheros o por directorios. Se puede pausar.
4ªQue sea un sistema de ficheros de los más rápidos no es tan importante.

Sistemas de archivo

ext - ext2 -ext3 -ext4

Los sistemas de archivos antiguos como ext y ext2 hacían los cambios en el bloque de memoria afectado.
Ext4 nos aporta areás consecutivas de 16MB de tal manera que tenemos que dar menos saltos por el sistema de ficheros.

Journal (Ext3-JFS2-XFS-NTFS)

Cuando se va a modificar un inodo se anota la operación que van a llevar a cabo. Si se va la luz o se apaga de manera incorrecta , Journal deja anotada la operación sin hacerla, para poder hacerla en el próximo arranque, si no la puede hacer la anula, de tal manera que nunca nos queda el sistema de ficheros en mal estado. Otra característica es que Journal puede estar en un dispositivo diferente de donde tenemos el sistema de ficheros.
Impone una penalización por más trabajo ya que primero escribe en el journal, luego en el disco y después tiene que borrar del journal.

XFS

  • Journaling solo para metadatos.
  • Grupos de localización.
  • Banda de localización. si haces concedir las bandas de XFS con las bandas de RAID puedes conseguir escribr en dos discos a la vez. De tal manera que podemos duplicar la velocidad de escritura.
  • Extend basado en localización, no intercala los extents.
  • Tamaño de bloques variable, se adapta al fichero que vamos a guardar.
  • Reserva retrasada. Guarda los datos en caché, cuando se va a vaciar escribe todo de manera consecutiva.
  • Archivos dipersos.
  • Atributos extendidos. Los atributos van insertados en los metadatos.
  • Direct I/O. Se salta los buffers y accede de manera asíncrona.
  • Guaranted-rate I/O. Garantiza ratio de tamaño de disco.
  • Desfragmentación en línea.
  • Cambio de tamaño en línea, aunque solo crece.
  • Cuotas van en metadatos.
  • Write barriers. Barrerasde escritura, podemos poner una barrera diferenciando las ordenes que queremos que se ejecuten siendo la barrera la direfrencia.

Desventajas XFS

No puede reducir el tamaño del sistema de ficheros. Requiere una mayor planificación.
No transparente de los datos.

ZFS

  • Sistema de ficheros de nueva generación, usa la técnica copy on write
  • Esta pensado para que nunca se puede construir un sistema de ficheros tan grande que no puede manejar ZFS
  • Incorpora la administración de volumenes en el propio sistema de ficheros, combinando discos en pool
  • Soporte para conseguir tolerancia a fallos con conf. similares a RAID.
  • Todos los bloques del sistema de ficheros están protegidos por una suma de verificación, evitando que cualquier corrupción pase inadvertida.
  • Creación de instantáneas de lectura y modificación, así como instantáneas que no penalizan el acceso a los datos.
  • Gran rendimiento. Tiene su propio sistema de cache de primer y segundo nivel.
  • Compatiblidad. Desde el punto de vista del S.O., un fichero ZFS es igual que cualquier otro fichero POSIX, además es posible mover los sistema de ficheros entre máquinas con diferente ennianness, por ejemplo Sparc y x86.