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
| FS | Tamaño Máx | Archivo Máx | Journal | Uso |
|---|---|---|---|---|
| ext4 | 1EB | 16TB | Sí | General |
| xfs | 8EB | 8EB | Sí | Archivos grandes |
| btrfs | 16EB | 16EB | Sí | 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, asyncnoexec: Sin ejecuciónnosuid: Ignorar SUIDro: Solo lecturanoatime: 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