1. Sistemas de ficheros
Un disco solo sabe guardar bloques de bytes numerados. El sistema de ficheros es la organización que el sistema operativo impone sobre esos bloques para que existan ficheros con nombre, carpetas, fechas, permisos y un índice que dice dónde está cada cosa.
El sistema de ficheros es como una biblioteca 📚
Conceptos
- Bloque o clúster: unidad mínima de asignación. Un fichero de 1 byte ocupa un bloque entero (espacio desperdiciado o slack).
- Metadatos: información sobre el fichero. En Linux el inodo guarda todo menos el nombre, que está en el directorio.
- Journaling: registro de las operaciones pendientes para recuperar la coherencia tras un corte (NTFS, ext4, XFS).
- Copy-on-write: nunca sobrescribe datos en su sitio; permite instantáneas instantáneas (Btrfs, ZFS, APFS, ReFS).
- Fragmentación: un fichero repartido en bloques no contiguos; ralentiza los discos mecánicos, apenas afecta a los SSD.
Comparativa
| Sistema | Usado en | Tamaño máx. fichero | Características |
|---|---|---|---|
| FAT32 | USB, tarjetas, partición EFI | 4 GB | Universal (lo lee todo), sin permisos ni journaling |
| exFAT | USB y discos externos grandes, SDXC | 16 EB | Sin el límite de 4 GB, compatible con Windows, macOS y Linux; sin journaling |
| NTFS | Windows | 16 TB–8 PB | Journaling, permisos ACL, cifrado EFS, compresión, cuotas, instantáneas VSS |
| ReFS | Windows Server | 35 PB | Resiliente: sumas de verificación, autocorrección con Espacios de almacenamiento |
| ext4 | Linux (por defecto) | 16 TB | Journaling, permisos POSIX, muy estable |
| XFS | Red Hat, servidores | 8 EB | Muy rápido con ficheros grandes y en paralelo |
| Btrfs | openSUSE, Fedora, NAS Synology | 16 EB | Copy-on-write, instantáneas, sumas de verificación, RAID integrado, compresión |
| APFS | macOS, iOS | 8 EB | Copy-on-write, instantáneas, cifrado nativo, optimizado para SSD |
2. Estructura de directorios
Linux tiene un único árbol que empieza en la raíz /, organizado según el estándar FHS (Filesystem Hierarchy Standard); los discos se «cuelgan» de cualquier carpeta. Windows asigna una letra a cada unidad (C:, D:) y cada una tiene su propio árbol.
| Linux | Contenido |
|---|---|
/bin, /sbin | Programas básicos (hoy enlaces a /usr/bin) |
/boot | Núcleo y gestor de arranque |
/dev | Dispositivos como ficheros (/dev/sda, /dev/null) |
/etc | Configuración del sistema |
/home | Carpetas personales de los usuarios |
/root | Carpeta del administrador |
/var | Datos variables: registros (/var/log), webs, colas |
/tmp | Temporales (se vacía al reiniciar) |
/usr | Programas y bibliotecas instalados |
/opt | Software de terceros |
/mnt, /media | Puntos de montaje manuales / de USB |
/proc, /sys | Información del núcleo y del hardware (virtuales) |
| Windows | Contenido |
|---|---|
C:\Windows | Sistema operativo (System32: programas y controladores) |
C:\Program Files | Programas de 64 bits |
C:\Program Files (x86) | Programas de 32 bits |
C:\ProgramData | Datos de programas comunes a todos los usuarios (oculta) |
C:\Users\nombre | Perfil: Escritorio, Documentos, Descargas… |
…\AppData | Configuración de programas del usuario (Local, Roaming) |
C:\Users\Public | Carpetas compartidas por todos |
C:\$Recycle.Bin | Papelera |
Rutas y enlaces
- Ruta absoluta: desde la raíz.
/home/ana/docs/informe.odt·C:\Users\Ana\Documents\informe.docx - Ruta relativa: desde el directorio actual.
docs/informe.odt,../fotos(..es el padre y.el actual);~es tu carpeta personal. - Enlace simbólico: un acceso directo que apunta a otra ruta (
ln -s destino enlace,mklink /D enlace destino). - Enlace duro (solo en el mismo sistema de ficheros): otro nombre para el mismo inodo; el fichero existe mientras quede algún nombre.
- Linux distingue mayúsculas (
Informe.txt≠informe.txt); Windows no.
3. Gestionar ficheros: buscar, ocupar y comprimir
1find /home -name "*.pdf" -size +10M # PDF de más de 10 MB
2find /var/log -mtime -1 -type f # modificados en las últimas 24 h
3find . -name "*.tmp" -delete # borrar temporales
4grep -rn "password" /etc 2>/dev/null # buscar texto dentro de ficheros
5locate informe.odt # búsqueda rápida en un índice (updatedb)
6
7df -h # espacio libre de cada sistema de ficheros
8du -sh /home/* # lo que ocupa cada carpeta
9du -ah /var | sort -rh | head # los 10 elementos más grandes
10
11tar -czvf copia.tar.gz proyecto/ # empaquetar y comprimir (gzip)
12tar -xzvf copia.tar.gz -C /tmp # extraer en /tmp
13zip -r proyecto.zip proyecto/ && unzip -l proyecto.zip1Get-ChildItem C:\Users -Recurse -Filter *.pdf | Where-Object Length -gt 10MB
2Select-String -Path C:\logs\*.log -Pattern "ERROR"
3Get-PSDrive -PSProvider FileSystem # espacio por unidad
4Compress-Archive -Path .\proyecto -DestinationPath proyecto.zip
5Expand-Archive proyecto.zip -DestinationPath C:\temp
6
7# Símbolo del sistema
8dir /s *.pdf
9robocopy C:\datos E:\copia /MIR /R:2 /W:5 /LOG:copia.log # copia espejo robusta4. Montar y desmontar sistemas de ficheros
Montar es asociar un sistema de ficheros a una carpeta (punto de montaje) o a una letra de unidad para poder usarlo. Desmontar asegura que se escribe todo lo pendiente antes de retirar el dispositivo («Quitar hardware de forma segura»).
1lsblk -f # ver dispositivos, UUID y montajes
2sudo mkdir -p /datos
3sudo mount /dev/sdb1 /datos # montar
4sudo umount /datos # desmontar ("target is busy" = algo lo está usando: lsof +D /datos)
5
6# Montaje permanente: /etc/fstab (mejor con UUID, que no cambia si se reordenan los discos)
7# <dispositivo> <punto> <tipo> <opciones> <dump> <fsck>
8UUID=3f9c2b1e-8a4d-4c6e-9b1a-2d7e5f6a8b90 /datos ext4 defaults,noatime 0 2
9UUID=7A3C-12F4 /boot/efi vfat umask=0077 0 1
10//servidor/compartida /mnt/red cifs credentials=/root/.smb,uid=1000 0 0
11
12sudo mount -a # probar fstab sin reiniciar (un error puede impedir arrancar)En Windows, Administración de discos permite cambiar letras o montar una partición en una carpeta vacía de un volumen NTFS, y net use Z: \\servidor\compartida conecta una unidad de red.
5. Almacenamiento redundante: RAID, LVM, NAS y SAN
Los discos fallan. Un RAID (Redundant Array of Independent Disks) combina varios discos para ganar rendimiento, tolerancia a fallos o ambas cosas.
| Nivel | Cómo reparte los datos | Mínimo | Capacidad útil | Fallos tolerados |
|---|---|---|---|---|
| RAID 0 | Divide los datos entre los discos (striping) | 2 | 100 % | 0 |
| RAID 1 | Copia idéntica en cada disco (espejo) | 2 | 1 disco | n − 1 |
| RAID 5 | Datos + paridad repartida | 3 | n − 1 discos | 1 |
| RAID 6 | Datos + doble paridad | 4 | n − 2 discos | 2 |
| RAID 10 | Espejos combinados con striping | 4 | 50 % | 1 por espejo |
Capacidad útil
6 TB
Espacio aprovechado
75 %
Discos que pueden fallar
1
Equilibrio entre capacidad y seguridad; la reconstrucción es lenta con discos grandes. Recuerda: un RAID no es una copia de seguridad (un borrado o un ransomware se replica en todos los discos).
- RAID por hardware: una controladora dedicada (con batería de caché). Por software:
mdadmen Linux, Espacios de almacenamiento en Windows, ZFS/Btrfs. - Hot spare: disco de reserva que entra automáticamente cuando otro falla.
- LVM (Linux): agrupa discos físicos (PV) en un grupo de volúmenes (VG) del que se crean volúmenes lógicos (LV) que se pueden ampliar en caliente.
- NAS: servidor de ficheros en red (Synology, QNAP, TrueNAS) accesible por SMB/NFS. SAN: red dedicada que ofrece discos por bloques (iSCSI, Fibre Channel) a los servidores.
1# RAID 1 por software con mdadm
2sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc
3cat /proc/mdstat # estado y sincronización
4
5# LVM: ampliar /home con un disco nuevo
6sudo pvcreate /dev/sdd
7sudo vgextend vg_datos /dev/sdd
8sudo lvextend -r -L +100G /dev/vg_datos/home # -r amplía también el sistema de ficheros6. Copias de seguridad
Un RAID no es una copia de seguridad
Tipos de copia
| Tipo | Qué copia | Ventajas | Inconvenientes |
|---|---|---|---|
| Completa | Todo | Restauración sencilla (una sola copia) | Lenta y ocupa mucho |
| Incremental | Lo cambiado desde la última copia (del tipo que sea) | Muy rápida y pequeña | Para restaurar hacen falta la completa y todas las incrementales |
| Diferencial | Lo cambiado desde la última completa | Restaurar = completa + última diferencial | Crece cada día hasta la siguiente completa |
| Día | Plan incremental | Plan diferencial |
|---|---|---|
| Domingo | Completa (todo) | Completa (todo) |
| Lunes | Cambios del lunes | Cambios desde el domingo |
| Martes | Cambios del martes | Cambios desde el domingo (lunes + martes) |
| Miércoles (falla) | Restaurar: domingo + lunes + martes | Restaurar: domingo + martes |
Buenas prácticas
- Regla 3-2-1: 3 copias de los datos, en 2 soportes distintos y 1 fuera de la oficina (o en la nube). Hoy se añade «1 inmutable u offline» contra el ransomware.
- RPO (cuántos datos puedo perder: define la frecuencia) y RTO (cuánto tiempo puedo estar parado: define el método).
- Automatizar las copias y comprobarlas: una copia que nunca se ha restaurado no está probada.
- Cifrar las copias que salen de la empresa y documentar el procedimiento de restauración.
1# rsync: sincroniza solo lo que cambia (ideal para copias diarias)
2rsync -av --delete /home/ /mnt/copias/home/
3
4# Copia completa comprimida con fecha
5tar -czf /mnt/copias/etc-$(date +%F).tar.gz /etc
6
7# Programar con cron (crontab -e): todos los días a las 2:30
830 2 * * * rsync -a --delete /srv/datos/ /mnt/copias/datos/ >> /var/log/copia.log 2>&1
9
10# Otras herramientas: Timeshift (instantáneas del sistema), Déjà Dup, BorgBackup, restic
11# Windows: Historial de archivos, Copias de seguridad de Windows, wbadmin, Veeam Agent
12wbadmin start backup -backupTarget:E: -include:C: -allCritical -quietAdemás de copiar ficheros se pueden crear imágenes de disco completas (Clonezilla, Macrium Reflect) para restaurar un equipo entero o desplegar la misma instalación en muchos.
7. Integridad de los datos y mantenimiento
| Tarea | Linux | Windows |
|---|---|---|
| Comprobar y reparar el sistema de ficheros | fsck -f /dev/sdb1 | chkdsk D: /f |
| Salud del disco (SMART) | smartctl -a /dev/sda | CrystalDiskInfo, wmic diskdrive get status |
| Verificar que un fichero no ha cambiado | sha256sum fichero.iso | Get-FileHash fichero.iso |
| Optimizar | No suele hacer falta; fstrim en SSD | Desfragmentar y optimizar unidades (TRIM en SSD) |
| Liberar espacio | apt autoremove; journalctl --vacuum-size=200M | Liberador de espacio / Sensor de almacenamiento |
| Cifrado del disco | LUKS (cryptsetup) | BitLocker |
| Cuotas de disco | quota, edquota | Propiedades del volumen → Cuota / FSRM |
Integridad con sumas de verificación
8. Ejercicios
¿Qué sistema de ficheros?
Elige el sistema de ficheros adecuado y justifica: 1. Un USB de 64 GB para pasar vídeos de 8 GB entre Windows y macOS. 2. La partición de sistema de un portátil con Windows 11. 3. La partición EFI. 4. Un servidor Linux de bases de datos. 5. Un NAS casero donde se quieren instantáneas y detectar corrupción de datos.
Plan de copias de una asesoría
Una asesoría de 8 personas guarda todo en un servidor de ficheros (300 GB, cambian unos 5 GB al día). No pueden perder más de un día de trabajo ni estar parados más de 4 horas. Diseña el plan de copias: tipo y frecuencia, dónde se guardan (regla 3-2-1), retención, herramienta, cómo se comprueban y cómo se restaura. Calcula cuánto espacio ocupan 4 semanas de copias con tu plan.
Montar un disco de datos al arrancar
En una VM Ubuntu añade un disco virtual de 10 GB. Particiónalo con GPT, formatéalo en ext4 con la etiqueta DATOS, móntalo en /srv/datos de forma permanente usando su UUID, y comprueba que tras reiniciar sigue montado. Escribe todos los comandos y la línea de /etc/fstab.
Elegir un RAID
Un servidor tiene 6 discos de 4 TB. Calcula la capacidad útil y los discos que pueden fallar con RAID 0, 1, 5, 6 y 10. ¿Cuál elegirías para: a) un servidor de ficheros con muchos datos y presupuesto ajustado; b) una base de datos con muchas escrituras que no puede pararse; c) un NAS con discos de 4 TB que tardan un día en reconstruirse?