¿Cómo solucionar el error de disco lleno en un servidor Linux?
Una guía para encontrar archivos grandes, limpiar registros de forma segura y liberar espacio en el servidor.
Uno de los problemas más comunes en los servidores Linux es que el disco se llena por completo. Cuando el disco se llena, los sitios web no pueden escribir archivos, los servicios de bases de datos pueden dejar de funcionar, los servidores de juegos pueden no registrar registros y es posible que algunos servicios no se inicien en absoluto.
Este error suele reconocerse por los siguientes síntomas:
- Error al cargar archivos al servidor
- Error o cierre del servicio de base de datos
- Aparece el error "No queda espacio en el dispositivo" en el panel
- El servidor del juego se apaga porque no puede iniciar sesión.
- Aparecen 500 errores o páginas en blanco en los sitios web
1. Comprobar el uso del disco
Primero, verifique qué partición del disco del servidor está llena.
df -h
aquí especialmente Usar% Se considera el área. Si un tramo es del 90% o más, significa que el riesgo ha comenzado. Si está 100% lleno, los servicios no podrán escribir archivos.
2. Encuentre las carpetas que ocupan más espacio
Cuando el disco está lleno, el problema suele ser los registros, copias de seguridad o archivos de caché acumulados en una sola carpeta. Verifique las carpetas grandes, comenzando desde el directorio raíz.
du -h --max-depth=1 / 2>/dev/null | sort -h
Este comando muestra cuánto espacio ocupan los directorios de inicio. Normalmente se comprueban los siguientes directorios:
- /var/registro - Registros del sistema y del servicio.
- /hogar - Archivos de usuario y sitio web.
- /respaldo - Archivos de copia de seguridad antiguos
- /tmp - Archivos temporales
- /var/lib/mysql - Archivos de base de datos MySQL/MariaDB
3. Listar archivos grandes
A veces, un único archivo de registro puede crecer hasta 10 GB o más. Para buscar archivos grandes, puede usar este comando:
find / -type f -size +500M -exec ls -lh {} \; 2>/dev/nullEste comando enumera archivos de más de 500 MB. Examine los archivos resultantes cuidadosamente. Especialmente .registro, .viejo, .gz, .bak y se deben verificar los archivos de respaldo antiguos.
4. Limpieza segura de archivos de registro
La eliminación directa del archivo de registro de un servicio en ejecución a veces no produce el resultado esperado. Porque el servicio puede seguir manteniendo el archivo abierto. Por lo tanto, el método más seguro al limpiar archivos de registro grandes es vaciar el archivo.
truncate -s 0 /var/log/dosya_adi.log
Ejemplo:
truncate -s 0 /var/log/syslog truncate -s 0 /var/log/messages truncate -s 0 /var/log/nginx/error.log
5. Limpieza de caché de paquetes
En los sistemas basados en Ubuntu y Debian, los archivos de caché de paquetes pueden ocupar espacio en el disco con el tiempo.
apt clean apt autoremove -y
En sistemas CentOS, AlmaLinux o Rocky Linux:
yum clean all dnf clean all
6. Comprobación de copias de seguridad antiguas
Los archivos que ocupan más espacio en los servidores de hosting y juegos suelen ser copias de seguridad antiguas. Especialmente si hay un sistema de copia de seguridad automático, es posible que se realicen nuevas copias de seguridad todos los días y que las antiguas no se eliminen.
find /backup -type f -mtime +7 -name "*.tar.gz" -ls
Este comando enumera las copias de seguridad de más de 7 días. Para eliminar después de asegurarse:
find /backup -type f -mtime +7 -name "*.tar.gz" -delete
7. Evite la recarga con la configuración Logrotate
Incluso si se limpia el disco, si no se corrige la causa, el mismo problema volverá a ocurrir después de unos días. Para esto, se debe verificar la configuración de logrotate.
nano /etc/logrotate.conf
Ejemplo de lógica de logrotate simple:
/var/log/*.log {
daily
rotate 7
compress
missingok
notifempty
}Esta configuración devuelve archivos de registro diariamente, los conserva durante 7 días y comprime los registros antiguos.
Errores comunes
- Eliminar archivos del sistema sin saber qué archivo es
- Eliminar el archivo de registro en ejecución y no reiniciar el servicio
- Mantener copias de seguridad antiguas durante un período de tiempo ilimitado
- No comprobar la configuración de logrotate en absoluto
- No intervenir hasta que el disco esté 100% lleno.
Preguntas frecuentes
¿Por qué el servidor da error cuando el disco está lleno?
Porque los servicios no pueden escribir registros, cachés, archivos temporales o bases de datos. Los servicios pueden cerrarse cuando falla la operación de escritura.
¿Es mejor eliminar o vaciar el archivo de registro?
En lugar de eliminar completamente el archivo de registro en los servicios en ejecución truncar Es más seguro vaciarlo usando.
Limpié el disco pero no se liberó el espacio, ¿por qué?
Es posible que un servicio en ejecución aún mantenga abierto el archivo eliminado. Puede que sea necesario reiniciar el servicio correspondiente.
Recomendaciones de rendimiento y seguridad
- Supervise el uso del disco con regularidad.
- Almacene las copias de seguridad en un disco separado o en un área de copia de seguridad remota.
- No dejes un servicio funcionando durante mucho tiempo sin utilizar logrotate.
- Tome precauciones cuando el disco alcance el nivel del 85%.
- No dejes registros de depuración constantemente abiertos en los servidores del juego.
Este artículo está especialmente preparado para PvPServer.