Un disco lleno rompe cosas que parecen no tener relación: las sesiones dejan de guardarse, las subidas fallan, la base de datos se niega a escribir y la mitad de todo eso devuelve 503. Mire el disco primero siempre que se rompan varias cosas sin relación a la vez.
df -h
Encuentre qué lo está ocupando
Baje desde la raíz, un nivel cada vez. Esto imprime las diez cosas más grandes de un directorio, y seguir la mayor hacia abajo encuentra la causa en tres o cuatro pasos.
du -h --max-depth=1 / 2>/dev/null | sort -h | tail -10
Las cuatro causas habituales
- Registros que nunca rotan. /var/log crece sin límite si logrotate no está configurado para un servicio que se añadió después.
- Copias viejas en el mismo disco. Una copia en el disco que protege no es una copia, y suele ser el directorio más grande de la máquina.
- Archivos de sesión. Millones de archivos diminutos en /var/lib/php/sessions: ocupan espacio y, peor, inodos.
- Un registro de errores desbocado. Un solo aviso que se repite puede escribir gigabytes en un día.
Libérelo sin riesgo
No borre un registro en el que un proceso está escribiendo. El espacio no se devuelve hasta que el proceso cierre el archivo, así que el disco sigue lleno y usted ha perdido el registro. Trúnquelo en su lugar.
: > /var/log/nginx/error.log
Sin inodos, no sin espacio
Si df -h muestra espacio libre y aun así fallan las escrituras, se ha quedado sin inodos: demasiados archivos, sea cual sea su tamaño.
df -i
Ponga una vigilancia que avise al 80 %, no al 100 %. Un disco que se llena a las tres de la madrugada deja el sitio caído hasta que alguien despierte; un aviso al 80 % es una tarea para la mañana.
