Qué hacer cuando tu VPS se queda sin espacio en disco
- vps
- infraestructura
- docker
- logs
- limpieza
Un VPS que se queda sin espacio en disco es un problema crítico que detiene servicios, bloquea actualizaciones y puede dejar tu web o aplicación inaccesible. La primera señal es una caída repentina o errores de escritura que no esperas. Actuar rápido es clave, pero sin entender la causa, solo parchearás el problema temporalmente.
Identificar el consumo de espacio en disco de tu VPS
Antes de borrar nada, necesitas saber dónde está el problema. Usaremos comandos de terminal que muestran el uso del disco y te permiten navegar por los directorios más grandes. Esta es la base para cualquier acción correctiva.
Empieza con df -h para una vista general de las particiones y su uso:
df -h
Esto te mostrará el porcentaje de uso de cada sistema de archivos. Si ves /dev/sda1 o similar al 100%, ya sabes dónde enfocar. Luego, usa du -sh * en la raíz (o en /var, /opt, /home) para encontrar los directorios más pesados.
sudo du -sh /*
Repite el comando en el directorio más grande para profundizar. Por ejemplo, si /var es enorme, entra y ejecuta sudo du -sh * de nuevo:
cd /var
sudo du -sh *
Presta especial atención a /var/log (para logs del sistema) y a directorios relacionados con Docker como /var/lib/docker si lo usas.
Limpieza de logs del sistema y aplicaciones
Los logs son una causa frecuente de agotamiento del espacio en disco. Especialmente en sistemas que llevan tiempo en producción o que han tenido problemas recientes, los archivos de logs pueden crecer descontroladamente. Una gestión de logs deficiente puede llenar GB en cuestión de días.
Revisa el tamaño de /var/log con sudo du -sh /var/log. Dentro, puedes encontrar syslog, auth.log, kern.log, y logs de aplicaciones como Nginx, Apache o tus propias herramientas.
Para logs de systemd, usa journalctl para ver su tamaño y limitar su crecimiento:
sudo journalctl --disk-usage
sudo journalctl --vacuum-size=100M # Limita el tamaño a 100MB
Para logs de otras aplicaciones, lo más común es configurar logrotate. Este servicio comprime y elimina logs antiguos automáticamente. Mi regla es que cualquier aplicación en producción debe tener su configuración de logrotate definida. Si no la tienes, es un buen momento para añadirla. Puedes ver cómo gestionar esto en profundidad en mi artículo sobre la rotación de logs en un VPS de producción.
Liberar espacio en Docker
Si tu vps ejecuta contenedores, Docker es otro gran consumidor de espacio. Las imágenes antiguas que ya no usas, los contenedores detenidos y los volúmenes huérfanos pueden acumularse rápidamente. La herramienta docker system prune es tu aliada principal aquí.
Para limpiar todo lo que no esté en uso (contenedores detenidos, redes no usadas, imágenes colgantes):
docker system prune
Si quieres ir más allá y también eliminar volúmenes que no estén asociados a ningún contenedor:
docker system prune --volumes
Para una limpieza más agresiva que elimine todas las imágenes no utilizadas (no solo las colgantes), contenedores detenidos y volúmenes:
docker system prune -a --volumes
Ten cuidado con -a y --volumes, ya que eliminarán datos si no sabes lo que haces. Antes de ejecutarlo, asegúrate de que no tienes datos críticos en volúmenes no gestionados o que no quieres conservar. Entender la diferencia entre volúmenes y bind mounts es crucial para esto; tengo un artículo que explica volúmenes Docker vs. bind mounts que te puede ayudar a evitar errores.
Otros puntos de limpieza y optimización
Más allá de logs y Docker, hay otros lugares donde el espacio en disco puede desaparecer.
- Archivos temporales: Directorios como
/tmpo/var/tmpdeberían limpiarse al reiniciar, pero a veces persisten. Puedes limpiarlos manualmente consudo rm -rf /tmp/*. - Caches de paquetes: Si usas
apt(Debian/Ubuntu), los paquetes descargados se guardan en caché.sudo apt cleanpuede liberar algo deespacio. En CentOS/RHEL,yum clean allodnf clean all. - Backups antiguos: Si realizas
backupsdirectamente en elvpsantes de moverlos a un almacenamiento externo, asegúrate de que las versiones antiguas se eliminen. A veces, un script debackupfalla al borrar los ficheros más viejos. - Desinstalaciones incompletas: Programas que has desinstalado pueden dejar atrás ficheros de configuración o datos. Es menos común, pero puede ocurrir.
La limpieza debe ser una tarea rutinaria, no solo una acción de emergencia.
Implicaciones de la gestión del espacio en disco
Cuando abordas la gestión del espacio en disco en tu vps, hay decisiones que implican beneficios y nuevas complejidades.
Lo que ganas:
- Estabilidad y rendimiento: Evitas caídas inesperadas de servicios y aseguras que tus aplicaciones puedan escribir datos sin problemas.
- Anticipación de problemas: Al establecer rutinas de
limpiezay monitorización, puedes detectar crecimientos anómalos deespacioantes de que se conviertan en un problema crítico. - Optimización de recursos: Utilizas tu
discode manera más eficiente, lo que puede alargar la vida útil de tuvpsantes de necesitar una ampliación.
Lo que complicas:
- Necesidad de rutina de mantenimiento: La
limpiezano es una solución de una vez. Requiere establecer scripts o tareas programadas (cron jobs) para mantener el orden. - Monitorización activa: Debes configurar alertas para cuando el uso del
discosupere ciertos umbrales, lo que añade una capa más a tu sistema de monitorización.
Lo que no negocias:
- Un plan de acción claro: Siempre debes saber qué borrar y dónde buscar antes de que el
vpsse llene. Improvisar en una emergencia suele llevar a borrar lo que no debes. - Backups verificados: Cualquier acción de
limpiezaimplica riesgo. Tener backups automáticos de tu VPS con rsync es una red de seguridad que no puedes ignorar.
Si quieres ir un paso más allá en la gestión de tu servidor, te recomiendo que configures una monitorización básica de tu VPS para recibir alertas antes de que el espacio se agote. Además, si dudas sobre si tu servidor está bien dimensionado, puedes revisar este artículo sobre cuándo un VPS está sobredimensionado para entender mejor el uso de recursos.
Técnico freelance especializado en desarrollo a medida, automatizaciones con IA y gestión técnica para negocios en España. Más sobre mí →
¿Necesitas que alguien se ocupe de tu web?
Me encargo de que tu web funcione, esté segura y actualizada. Backups, actualizaciones y soporte directo. Planes desde 49 €/mes.