Sistemas de Archivos ext4 vs BTRFS - Creación y Usos Prácticos


¡Perfecto! Te explico exactamente por qué verías esa configuración y cómo implementarla. 🚀

¿Por qué esa configuración específica?

Disco 1: BTRFS (para snapshots) → Para el sistema principal con protección contra errores
Disco 2: EXT4 (para backups portátiles) → Para compatibilidad máxima y estabilidad

BTRFS - El sistema moderno con superpoderes

Características principales:

  • Snapshots: Copias instantáneas que no ocupan espacio inicial

  • COW (Copy-on-Write): No sobrescribe datos, previene corrupción

  • Compresión transparente: Ahorra espacio automáticamente

  • Checksums: Detecta corrupción de datos

  • Subvolúmenes: Como particiones dentro de la misma partición

Ventajas de BTRFS:

bash
# Puedes hacer snapshots frecuentes sin preocuparte por espacio
# Recuperación fácil de archivos borrados o corruptos
# Ahorro de espacio con compresión
# Mayor protección contra corrupción

EXT4 - El sistema estable y confiable

Características principales:

  • Extremadamente estable: Probado por años

  • Buen rendimiento: Rápido y eficiente

  • Compatible: Casi cualquier sistema puede leerlo

  • Sin complicaciones: Funciona sin configuración especial

Creación de BTRFS (Disco 1)

Paso 1: Instalar herramientas BTRFS

bash
sudo apt update
sudo apt install btrfs-progs

Paso 2: Formatear disco como BTRFS

bash
# Formatear disco completo
sudo mkfs.btrfs -f /dev/sdb

# Con etiqueta (recomendado)
sudo mkfs.btrfs -f -L "mi_btrfs" /dev/sdb

Paso 3: Montar el sistema BTRFS

bash
# Crear punto de montaje
sudo mkdir /mnt/btrfs_disk

# Montar
sudo mount /dev/sdb /mnt/btrfs_disk

# Montar con compresión (recomendado)
sudo mount -o compress=zstd /dev/sdb /mnt/btrfs_disk

Paso 4: Crear subvolúmenes (opcional pero recomendado)

bash
# Navegar al punto de montaje
cd /mnt/btrfs_disk

# Crear subvolumen para datos
sudo btrfs subvolume create @datos

# Crear subvolumen para documentos
sudo btrfs subvolume create @documentos

Creación de EXT4 (Disco 2)

Paso 1: Formatear disco como EXT4

bash
# Formatear disco
sudo mkfs.ext4 /dev/sdc

# Con etiqueta (muy útil)
sudo mkfs.ext4 -L "backups_portatil" /dev/sdc

Paso 2: Montar el sistema EXT4

bash
# Crear punto de montaje
sudo mkdir /mnt/ext4_backups

# Montar
sudo mount /dev/sdc /mnt/ext4_backups

Configuración avanzada de BTRFS para snapshots

Crear estructura organizada:

bash
# En el disco BTRFS montado
cd /mnt/btrfs_disk

# Crear estructura de subvolúmenes
sudo btrfs subvolume create @home
sudo btrfs subvolume create @system
sudo btrfs subvolume create @logs

# Crear directorio para snapshots
sudo mkdir snapshots

Hacer tu primer snapshot:

bash
# Crear snapshot del subvolumen @home
sudo btrfs subvolume snapshot @home snapshots/@home_$(date +%Y%m%d)

# Ver snapshots creados
sudo btrfs subvolume list /mnt/btrfs_disk

Script automático para snapshots:

bash
#!/bin/bash
# guardsnapshot.sh
FECHA=$(date +%Y%m%d_%H%M%S)
sudo btrfs subvolume snapshot /mnt/btrfs_disk/@home /mnt/btrfs_disk/snapshots/@home_$FECHA
echo "Snapshot creado: @home_$FECHA"

Montaje automático en /etc/fstab

Para BTRFS:

bash
sudo nano /etc/fstab

Agregar:

text
# Disco BTRFS
UUID=tu-uuid-btrfs /mnt/btrfs_disk btrfs defaults,compress=zstd 0 2

Para EXT4:

text
# Disco EXT4 para backups
UUID=tu-uuid-ext4 /mnt/ext4_backups ext4 defaults 0 2

Encontrar UUIDs:

bash
sudo blkid

Ejemplo de flujo de trabajo real

En BTRFS (tu trabajo diario):

bash
# Trabajas normalmente en /mnt/btrfs_disk/@documentos
# Cada hora se hace snapshot automático
# Si borras un archivo por error:
sudo cp /mnt/btrfs_disk/snapshots/@documentos_20231201/archivo_importante.doc /mnt/btrfs_disk/@documentos/

En EXT4 (backups):

bash
# Copias periódicas desde BTRFS a EXT4
sudo rsync -av /mnt/btrfs_disk/@documentos/ /mnt/ext4_backups/documentos_backup/

# Puedes desconectar el disco EXT4 y llevarlo a otra máquina

Comandos esenciales de mantenimiento

Para BTRFS:

bash
# Ver espacio usado y disponible
sudo btrfs filesystem usage /mnt/btrfs_disk

# Ver estado del sistema de archivos
sudo btrfs filesystem show

# Hacer balance (reorganizar datos)
sudo btrfs balance start /mnt/btrfs_disk

# Verificar integridad
sudo btrfs scrub start /mnt/btrfs_disk

Para EXT4:

bash
# Verificar sistema de archivos
sudo fsck /dev/sdc

# Ver espacio
df -h /mnt/ext4_backups

Escenario práctico completo

Configuración de 2 discos:

bash
# Disco 1 (BTRFS) - 500GB para trabajo activo
sudo mkfs.btrfs -f -L "trabajo_activo" /dev/sdb
sudo mount -o compress=zstd /dev/sdb /mnt/btrfs_disk
cd /mnt/btrfs_disk
sudo btrfs subvolume create @proyectos
sudo btrfs subvolume create @descargas

# Disco 2 (EXT4) - 1TB para backups
sudo mkfs.ext4 -L "backups_seguros" /dev/sdc
sudo mount /dev/sdc /mnt/ext4_backups

Script de backup automático:

bash
#!/bin/bash
# backup_automatico.sh
FECHA=$(date +%Y%m%d)
# Snapshot en BTRFS
sudo btrfs subvolume snapshot /mnt/btrfs_disk/@proyectos /mnt/btrfs_disk/snapshots/@proyectos_$FECHA
# Copia a EXT4 para portabilidad
sudo rsync -av --delete /mnt/btrfs_disk/@proyectos/ /mnt/ext4_backups/proyectos_backup_$FECHA/
echo "Backup completado: $FECHA"

Ventajas de esta configuración

BTRFS te protege de:

  • Borrado accidental de archivos

  • Corrupción de datos

  • Necesidad de hacer backups manuales frecuentes

EXT4 te da:

  • Compatibilidad con cualquier computadora

  • Estabilidad probada

  • Fácil recuperación en caso de problemas

Consejos finales

  1. BTRFS para datos importantes que cambian frecuentemente

  2. EXT4 para backups que necesitas mover entre equipos

  3. Usa compresión en BTRFS siempre (ahorra 30-50% espacio)

  4. Automatiza los snapshots con cron

  5. Verifica periódicamente la salud de ambos sistemas

Comentarios

Entradas más populares de este blog

ejercicios-Crear Carpeta y Archivo de Texto en Ubuntu

Instalar Docker en Ubuntu Server usando docker.io

Tutorial de Carpetas y Directorios en Ubuntu Linux