En ocasiones cuando intentamos acceder a nuestra web o a nuestro panel nos pueden aparecer ciertos errores debido a que no hay espacio libre en el disco. Para revisar esto, puedes ver este otro artículo donde explicamos como hacer esta comprobación: Cómo ver el espacio en disco usado de mi servidor Linux.
Si has confirmado que el disco está al 100% te explicamos algunas opciones que tienes para liberar un poco de espacio para tener de nuevo vuestros servicios activos.
Importante
Ten en cuenta que si el disco se encuentra al 100% algunos comandos no se podrán ejecutar, ya que si es necesario crear algún fichero no será posible y tendrás que redimensionar primero el disco: Cómo redimensionar tu servidor cloud
A tener en cuenta
Que se llegue el disco puede ser por varios motivos, pero ten en cuenta que si tu disco tiene un tamaño muy pequeño, es normal que se haya podido llenar con facilidad. Ten en cuenta que pueden ser varios los motivos por los que se haya podido llenar.
Algunas opciones para liberar espacio en disco
A continuación, te dejamos algunas opciones que pueden liberar espacio. En muchas de ellas es posible que no surja efecto en tu servidor. Dependerá un poco del uso que le des al servidor y lo que tengas instalado.
Limpia la cache del gestor de paquetes
Una opción es mirar de limpiar la cache del gestor de paquetes de tu servidor. A veces se puede acumular muchos paquetes descargados, esto es algo normal, ya que si se descarga una vez se mantiene en el servidor por si se necesita posteriormente.
APT
Para liberar espacio de APT, debes de utilizar este comando:
apt clean
YUM / DNF
Para limpiar cache de YUM / DNF, debes de utilizar este comando:
yum clean all
dnf clean all
Elimina registros del sistema
Otra opción que tienes es eliminar registros de log. Para este procedimiento es importante eliminar únicamente los logs que se encuentran comprimidos en formato .gz. Ya que si eliminas otro fichero de log es posible que algún servicio deje de funcionar.
Los registros del sistema se encuentran en /var/log. Puedes comprobar el tamaño de este directorio con:
du -sh /var/log/
Si el tamaño es excesivamente grande, puedes mirar dentro que directorio ocupa más:
du -sh /var/log/*
Si tienes algun fichero log acabado en .log que ocupa mucho, seguramente sea debido a que no está configurado la rotación de este log, por lo que te recomendamos configurar primero esta rotación: Cómo configurar una rotación con logrotate.
Crea un Snapshot
Antes de ejecutar este comando, ten en cuenta que es buena idea tener un snapshot del servidor por si alguna cosa no funcionara correctamente poder volver a un estado anterior, así que mira de crear un snapshot antes.
Si tienes muchos registros en formato .gz, puedes eliminar sin problemas estos ficheros:
less /var/log/dpkg.log
dpkg.log dpkg.log.1 dpkg.log.2.gz dpkg.log.3.gz dpkg.log.4.gz dpkg.log.5.gz dpkg.log.6.gz dpkg.log.7.gz dpkg.log.8.gz dpkg.log.9.gz
Para eliminarlos, por ejemplo con el log de alternatives.log:
alternatives.log.*.gz
Puedes repetir este último paso con otros registros de logs que tengas.
Busca que ficheros o directorios son los más grandes del sistema
Otra opción que tienes es mirar que directorios o ficheros ocupan más en todo tu sistema. De esta forma, puedes atacar directamente el problema.
du -a / | sort -n -r | head -n 10
Este comando mostrará los ficheros y directorios más grandes del sistema.
Por ejemplo, para este tutorial hemos creado varios ficheros y directorios que ocupan mucho para mostraros una posible salida del comando:
7812752 /
5441392 /var
3145732 /var/www
2107820 /var/log
2097156 /var/log/registros
1135660 /usr
1048608 /home
1048604 /home/debian
1048580 /home/debian/fotos
772668 /usr/lib
Como puedes observar, hay dos directorios que ocupan bastante, que son /var/log/registros y /home/debian/fotos. Ahora sabemos que esos directorios ocupan mucho y podemos volver a revisar con du -sh dentro de ese directorio para saber que directorio o fichero ocupa más.
Libera espacio del JournalD
También puedes mirar de eliminar el diario de registros del sistema, a veces puede llegar a ocupar mucho y se puede liberar tranquilamente entre 2GB o 5GB dependiendo de lo que tengas instalado.
Puedes eliminar los registros más antiguos a 10 días:
journalctl --vacuum-time=10d
O que excedan a 2GB:
journalctl --vacuum-size=2G
Prevenir que el disco se llene
Para prevenir que el disco se llene, lo que puedes hacer es configurar algún sistema de monitorización que vaya revisando cada cierto tiempo el estado del disco. De esta manera, si el disco supera el umbral que hayas configurado recibirás un aviso por e-mail de que el disco está a punto de llenarse.
Para realizar esto puedes utilizar diferentes softwares:
Monit, se tiene que instalar en el mismo servidor y configuras un SMTP para los avisos: Monitorizar mi servidor Ubuntu con Monit o Monitorizar mi servidor Centos con Monit.
Zabbix, para nosotros la mejor opción, ya que permite monitorizar muchos servidores a la vez y permite gestionar todo tipo de notificaciones y monitorizar muchos servicios diferentes: Cómo instalar y configurar Zabbix.