한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Libro blanco del lag en juegos › L11 Disco

Disco lleno Disk full

ID de la causa dk-full · Responsable principal Infraestructura de servidores (Equipo de infraestructura) · También Infraestructura de BD (Equipo de infraestructura), Desarrollo de servidor (Equipo de desarrollo)

Abrir la ficha interactiva con gráficos y simulaciones →

Si los logs y los volcados se acumulan hasta llenar el disco, las escrituras fallan y, si no hay nada previsto, el servidor se cae.

Por qué Logs, volcados y archivos temporales se acumulan hasta el 100% → Efecto Fallan las escrituras. Sin manejo de errores, crash; con manejo de errores, fallos al guardar → En pantalla Desconexión, rollback del progreso

Síntomas
Desconexión, Acción perdida / rollback
Factores
Detención
A quién afecta
Todo el servidor
Cuándo
Cuanto más tiempo lleva encendido
Responsable
Responsable principal Infraestructura de servidores (Equipo de infraestructura) · También Infraestructura de BD (Equipo de infraestructura), Desarrollo de servidor (Equipo de desarrollo)
Tareas (Equipo de desarrollo)
Manejar los fallos de escritura con reintento del guardado y alerta (sin llegar al crash), reducir los logs y volcados innecesarios.
Tareas (Equipo de infraestructura)
Servidores/SO: rotar los logs, poner alertas de espacio en disco, separar los discos de logs y de datos. Servidores de BD: vigilar que los logs de transacciones de la BD (WAL, binlog) no se acumulen por una replicación detenida o por copias de seguridad del log que no se hicieron.
En el gráfico
Subida gradual · Porcentaje de uso del disco
Dónde mirar
Porcentaje de uso de df -h y de inodos de df -i; buscar errores ENOSPC en los logs del servidor y de la BD. En la BD: en PostgreSQL, slots de pg_replication_slots con active en false; en MySQL, el número y el tamaño de los archivos de SHOW BINARY LOGS; en SQL Server, log_reuse_wait_desc de sys.databases; en RDS, FreeStorageSpace
Se confirma si
El porcentaje de uso sube de forma constante durante varios días y llega al 100% a la misma hora que los crashes o los fallos al guardar, y en los logs queda ENOSPC
Se descarta si
Si hay espacio de sobra pero las escrituras fallan, apunta a otra causa (permisos, límite de tamaño de archivo)
Se verifica con
Con herramientas de infraestructura (no hace falta código del juego)
Para saber más
Los logs de transacciones de la BD (WAL, binlog, etc.) no se borran y siguen acumulándose si una réplica se detiene o falta una copia de seguridad del log. Si ese disco se llena, todas las escrituras de la BD se detienen y los guardados y los intercambios fallan todos a la vez.

Fuentes

  1. write(2) — Linux manual page Linux man-pages
    Si no queda espacio en el dispositivo, la escritura falla con el error ENOSPC
  2. Monitoring Disk Usage (PostgreSQL Documentation) PostgreSQL
    Si el disco del WAL se llena, el servidor de BD puede detenerse con un PANIC
  3. Log-Shipping Standby Servers (PostgreSQL Documentation) PostgreSQL
    Un slot de replicación no borra el WAL hasta que la réplica lo recibe, por lo que puede llenar el espacio de pg_wal (se limita con max_slot_wal_keep_size)
  4. Troubleshoot a full transaction log (SQL Server Error 9002) Microsoft SQL Server
    Con el log lleno, la BD solo admite lecturas y no se puede modificar; las causas habituales que impiden truncar el log son copias de seguridad del log que faltan, retraso de replicación y transacciones largas; qué lo impide se ve en log_reuse_wait_desc de sys.databases
  5. df(1) — Linux manual page coreutils
    Uso por sistema de archivos; -i cambia la medida de bloques a inodos
  6. pg_replication_slots (PostgreSQL Documentation) PostgreSQL
    active: si el slot está transmitiendo ahora (streaming); wal_status: si el WAL retenido por el slot ha superado max_wal_size
  7. SHOW BINARY LOGS Statement MySQL
    Lista de archivos de log binario del servidor y su tamaño (File_size)
  8. Amazon CloudWatch metrics for Amazon RDS AWS
    FreeStorageSpace: espacio de almacenamiento libre de la instancia de BD

Ver también

Misma capa: L11 Disco

Causas de otras capas con el mismo síntoma (Desconexión)

Ver la ficha interactiva con gráficos y simulaciones