Comparativa independiente · sin rankings de pago
Inicio / Blog / Técnico / Disco Linux lleno: detecta la causa antes de borrar urgentemente

Disco Linux lleno: detecta la causa antes de borrar urgentemente

Al 100% del disco, systemd se niega a escribir registros y se pierden pistas sobre qué llenó el volumen. Diagnosticar primero, eliminar después.

Redacción Hébergeurs.eu 6 min

La aplicación devuelve 500. SSH todavía funciona. df -h muestra 100% en /. El reflejo: rm -rf /var/log/*.log. Eso libera 200 MB; luego el disco se llena en dos horas porque nadie vio que el binlog de MySQL o los registros de Docker se tragaron 40 GB.

Un disco lleno es un síntoma, no un diagnóstico.

Lectura rápida df/du

df -hT: tipo de sistema de archivos, inodos (df -i). du -xh / --max- Depth=1 en el punto de montaje.

Compare df vs total - brecha = archivos abiertos eliminados o montaje oculto.

Culpables frecuentes

FuenteDónde mirar
diariojournalctl --uso-disco
acopladorsistema acoplable df -v
Registro binario de MySQL/var/lib/mysql
Aplicaciones/var/log, almacenamiento/registros
Núcleos/var/crash, volcados de núcleo
Copias de seguridad locales/copia de seguridad, /tmp

Línea de tiempo: find /var -mtime -1 -size +100M.

Eliminado pero abierto

lsof +L1 | grep eliminado: clásico después de una rotación fallida o un registro grande eliminado sin HUP.

Solución: recargar la aplicación, reiniciar php-fpm/mysql, no solo rm.

Acciones de emergencia ordenadas

  1. Identifique los 3 archivos principales.
  2. Registro de vacío si > 500 MB.
  3. Truncar el registro conocido (copiar truncar) frente a eliminar.
  4. Docker plum después de la lista de volúmenes.
  5. Amplíe el volumen de la nube si es posible antes de la cirugía.

##Prevención sostenible

Monitoreo de inodo + espacio. Logrotate probado. SystemMaxUse= diario. Docker --log-opt tamaño máximo = 10 m. Runbook de alerta vinculado al montaje correcto.

Runbook 15 minutos

Minuto 0–3: df -hT + df -i + du -xh / --max-profundidad=1.

Minuto 3 a 6: journalctl --disk-usage, docker system df si corresponde.

Minuto 6–9: lsof +L1 | head si df/du brecha.

Minuto 9 a 12: acción específica (aspirar, truncar log roté, podar los volúmenes de Docker enumerados).

Minuto 12-15: verificación df + alerta de confirmación de monitoreo + ticket de causa raíz.

Prohibido: rm -rf sin los 3 directorios principales identificados. Obligatorio: nota post-mortem si el impacto de la picana es >80%.

Post-mortem típico

Cronograma: alerta 80% ignorada → 95% → 100% → interrupción. Causa raíz: el registro de depuración de la aplicación se activó el viernes sin rotación. Acción: producción de nivel de registro + alerta 85 % + runbook.

Capacidad: el crecimiento previsto registra MB/día × retención.

Disco de escalado automático en la nube, si está disponible: script de crecimiento del sistema de archivos después del cambio de tamaño.

Instantáneas automáticas diarias en la nube sin ciclo de vida: acumulación de instantáneas = disco principal lleno indirectamente: revisión de instantáneas de políticas.

Cola postfix/exim de correo bloqueada, disco lleno: enorme trabajo pendiente para recuperar: monitorear la métrica de longitud de la cola.

Crecimiento predecible

Registros de acceso ×10 durante la promoción: rotación previa al aprovisionamiento temporal cada hora o actualización del disco antes de la campaña.

Caducidad del binlog de MySQL: expire_logs_days o max_binlog_size - binlog olvidado = disco lleno garantizado en condiciones de escritura intensa.

Las instantáneas ZFS/btrfs cuentan el espacio; no realice instantáneas de un disco que ya esté lleno en un bucle.

Resumen operativo

El disco completo en la producción de Linux casi siempre es predecible con alertas 80/90, rotación de registros probada y conocimiento del consumidor (diario, Docker, binlog, copias de seguridad locales). En emergencia: diagnosticar con df, du, lsof antes de rm.

Nube: expandir el volumen es más seguro que una purga ciega si el crecimiento es legítimo. Autopsia obligatoria si hay impacto en el cliente: a menudo se activa el registro de depuración olvidado.

Mantenga un runbook fechado, métricas de antes y después, revisión posterior al incidente: la disciplina acumulativa evita el pánico del viernes por la noche.

Mantenga un runbook fechado, métricas de antes y después, revisión posterior al incidente: la disciplina acumulativa evita el pánico del viernes por la noche.

Mantenga un runbook fechado, métricas de antes y después, revisión posterior al incidente: la disciplina acumulativa evita el pánico del viernes por la noche.

Mantenga un runbook fechado, métricas de antes y después, revisión posterior al incidente: la disciplina acumulativa evita el pánico del viernes por la noche.

Mantenga un runbook fechado, métricas de antes y después, revisión posterior al incidente: la disciplina acumulativa evita el pánico del viernes por la noche.

Mantenga un runbook fechado, métricas de antes y después, revisión posterior al incidente: la disciplina acumulativa evita el pánico del viernes por la noche.

Post-mortem

Registro de depuración el viernes sin rotación. El almacenamiento efímero de K8 mata los pods antes de que el nodo se llene.

Mantenga un runbook fechado, métricas de antes y después, revisión posterior al incidente: la disciplina acumulativa evita el pánico del viernes por la noche.

Mantenga un runbook fechado, métricas de antes y después, revisión posterior al incidente: la disciplina acumulativa evita el pánico del viernes por la noche.

Decide y avanza sin puntos ciegos

  1. Runbook 15 minutosdf -hT, df -i, du nivel superior, journalctl --disk-usage, docker system df.
  2. Buscar archivos eliminados abiertoslsof +L1 si hay diferencia df/du.
  3. Acción específica: aspirar el registro, truncar el registro roto, podar los volúmenes de Docker enumerados; nunca rm -rf sin los 3 directorios principales.
  4. Alerta sobre el derivado: crecimiento de GB/día, no solo un umbral del 90%.
  5. Autopsia si hay impacto en el producto: causa raíz documentada la misma semana.

Supervise el disco y el inodo en VPS a través del comparador y el directorio.

Preguntas frecuentes

¿df dice 100% pero no encuentra nada?

Los archivos eliminados aún están abiertos por un proceso (eliminados pero abiertos). lsof +L1 o reinicie el servicio en cuestión.

¿Qué purgar primero en caso de emergencia?

journalctl --vacuum, registros viejos y podridos, /tmp: nunca /var/lib sin identificarse (DB, Docker).

Docker a menudo llena ¿dónde?

/var/lib/docker/overlay2, registros de archivos json no limitados, volúmenes huérfanos.

¿Cómo prevenir?

Alertas del 80/90%, logrotate, límite de diario, el registro de Docker opta por el tamaño máximo.


Siguiente disco 100%: ejecute du y lsof +L1 antes de cualquier rm; su futuro se lo agradecerá.

Compara proveedores europeos

Filtra por cumplimiento, ubicación y caso de uso — luego abre las fichas para verificar el alcance real.

Explorar el directorio
Blog

Lecturas relacionadas

Todos los artículos →