Saltar al contenido principal

Capítulo 3.8 - Tipos de Sistemas de Archivos

Objetivos de Aprendizaje​

Al final de este capítulo, usted será capaz de:

  • Comprender los diferentes tipos de sistemas de archivos
  • Identificar los sistemas de archivos comunes
  • Elegir el sistema de archivos adecuado según el caso
  • Comprender los sistemas de archivos especiales

¿Qué es un Sistema de Archivos?​

Un sistema de archivos (File System) define cómo se organizan y almacenan los datos en un disco. Linux soporta muchos tipos de sistemas de archivos.


Sistemas de Archivos Locales​

ext4 (Fourth Extended)​

El más común en Linux:

Características:

  • Journaling: Resistente a fallos
  • Tamaño máx.: 1EB (exabyte)
  • Archivo máx.: 16TB
  • Estable y maduro

Uso:

  • Sistema de archivos predeterminado
  • Discos locales
  • Servidores generalistas

Comandos:

# Crear
mkfs.ext4 /dev/sda1

# Verificar
fsck.ext4 /dev/sda1

# Ver información
tune2fs -l /dev/sda1

xfs​

Alto rendimiento para archivos grandes:

Características:

  • Muy alto rendimiento para archivos grandes
  • Tamaño máx.: 8EB
  • Archivo máx.: 8EB
  • Asignación dinámica

Uso:

  • Bases de datos
  • Archivos voluminosos
  • Servidores de alto rendimiento

Comandos:

# Crear
mkfs.xfs /dev/sda1

# Verificar
xfs_repair /dev/sda1

# Ver información
xfs_info /dev/sda1

btrfs (B-Tree File System)​

Funcionalidades avanzadas:

Características:

  • Snapshots: Instantáneos
  • Compresión: Transparente
  • Copy-on-Write: Eficiente
  • RAID integrado

Uso:

  • Sistemas que requieren snapshots
  • Copias de seguridad
  • Entornos de desarrollo

Comandos:

# Crear
mkfs.btrfs /dev/sda1

# Crear un snapshot
btrfs subvolume snapshot /mnt/data /mnt/data/snapshot1

# Compresión
mount -o compress=zlib /dev/sda1 /mnt

Comparación​

FSTamaño MáxArchivo MáxJournalUso
ext41EB16TBSíGeneral
xfs8EB8EBSíArchivos grandes
btrfs16EB16EBSíAvanzado

Sistemas de Archivos de Red​

NFS (Network File System)​

Compartición de archivos en red:

# Servidor: Exportar
# /etc/exports
/home/user1 192.168.1.0/24(rw,sync)

# Cliente: Montar
mount -t nfs server:/home/user1 /mnt/nfs

Uso:

  • Compartición de archivos entre sistemas Unix/Linux
  • Servidores de archivos centralizados

CIFS/SMB​

Compatible con Windows:

# Montar un recurso compartido de Windows
mount -t cifs //server/share /mnt/smb -o username=user

Uso:

  • Compartición entre plataformas
  • Compatibilidad con Windows

Sistemas de Archivos Especiales​

tmpfs​

En memoria (RAM):

# Montar tmpfs
mount -t tmpfs -o size=1G tmpfs /mnt/tmpfs

# Usado para:
# - /tmp (a menudo)
# - /dev/shm (memoria compartida)

Características:

  • Muy rápido (RAM)
  • Temporal (se pierde al reiniciar)
  • Tamaño limitado por la RAM

procfs​

Interfaz hacia el kernel:

# Montado automáticamente en /proc
# Contiene:
# - /proc/cpuinfo: Info CPU
# - /proc/meminfo: Info memoria
# - /proc/pid/: Detalles de procesos

Características:

  • Sistema de archivos virtual
  • Datos en tiempo real
  • Solo lectura (generalmente)

sysfs​

Información del sistema:

# Montado automáticamente en /sys
# Contiene:
# - /sys/class/: Clases de dispositivos
# - /sys/devices/: Dispositivos

Características:

  • Interfaz de hardware
  • Configuración de hardware
  • Virtual

Comandos de Gestión​

Ver los Sistemas de Archivos Montados​

# Lista simple
mount

# Formato legible
df -h

# Tipos de sistemas de archivos
mount | grep -E '^/dev' | awk '{print $5}' | sort -u

Montar/Desmontar​

# Montar
mount /dev/sda1 /mnt
mount -t ext4 /dev/sda1 /mnt

# Montar con opciones
mount -o rw,noexec /dev/sda1 /mnt

# Desmontar
umount /mnt
umount /dev/sda1

# Forzar el desmontaje (si está ocupado)
umount -f /mnt
umount -l /mnt # Lazy unmount

Configuración Permanente (/etc/fstab)​

# Formato: device mountpoint fstype options dump pass
/dev/sda1 / ext4 defaults 0 1
/dev/sda2 /home ext4 defaults 0 2
/dev/sda3 /var xfs defaults 0 2
server:/export /mnt/nfs nfs defaults 0 0

Opciones comunes:

  • defaults: rw, suid, dev, exec, auto, nouser, async
  • noexec: Sin ejecución
  • nosuid: Ignorar SUID
  • ro: Solo lectura
  • noatime: Sin actualización de atime

Verificación y Reparación​

fsck​

Verificar y reparar:

# Verificar (sin reparar)
fsck /dev/sda1

# Reparar automáticamente
fsck -a /dev/sda1

# Forzar la verificación
fsck -f /dev/sda1

# Específico para ext4
fsck.ext4 /dev/sda1

Importante:

  • Desmontar antes de fsck (si es posible)
  • Modo single-user para el sistema raíz

Resumen​

En este capítulo, usted ha aprendido:

Tipos locales: ext4 (estándar), xfs (archivos grandes), btrfs (avanzado)
Tipos de red: NFS (Unix), CIFS/SMB (Windows)
Tipos especiales: tmpfs (RAM), procfs (kernel), sysfs (sistema)
Gestión: mount, umount, /etc/fstab para montaje permanente
Verificación: fsck para reparar sistemas de archivos


Próximos Pasos​

Lab 3.4: Práctica Completa
Módulo 4: Gestión de Procesos


Capítulo creado el: Diciembre 2024