Cómo reparar Home Assistant después de que se llene el volumen de su base de datos

Eva Wong es la Redactora técnica y manitas residente en ZimaSpace. Una geek de toda la vida con pasión por los homelabs y el software de código abierto, se especializa en traducir conceptos técnicos complejos en guías accesibles y prácticas. Eva cree que el autoalojamiento debe ser divertido, no intimidante. A través de sus tutoriales, empodera a la comunidad para desmitificar las configuraciones de hardware, desde construir su primer NAS hasta dominar los contenedores Docker.

Cuando el volumen de la base de datos de Home Assistant está lleno, detén primero las nuevas escrituras. Crea espacio de trabajo sin eliminar la base de datos activa, conserva una copia y determina si Recorder puede abrir y mantener la base de datos antes de elegir entre purgar, reparar o restaurar.

Un volumen lleno puede bloquear precisamente la operación de limpieza destinada a solucionarlo, especialmente cuando el reempaquetado o la reconstrucción de la base de datos necesitan espacio temporal. Mantén un orden conservador: detén Home Assistant, comprueba qué sistema de archivos está lleno, mueve archivos no relacionados o amplía el volumen, copia la base de datos, revisa los registros y la integridad, y aplica después la recuperación menos destructiva que corresponda al resultado.

Detén las escrituras y confirma cuál es el sistema de archivos realmente lleno

Detén Home Assistant o Recorder en cuanto se repitan los errores de escritura de la base de datos. Confirma qué sistema de archivos, punto de montaje o volumen ligero contiene la base de datos activa y compara el espacio total, el espacio libre, los inodos, el tamaño de la base de datos, los registros, las copias de seguridad y las capas de escritura de los contenedores. Un disco del sistema lleno y un volumen externo de base de datos lleno requieren soluciones diferentes.

No des por hecho que la base de datos es el único consumidor. Las copias de seguridad antiguas, los registros de depuración, las exportaciones, las instantáneas y las capas de contenedor no relacionadas pueden proporcionar espacio de emergencia más seguro. Mueve o elimina únicamente archivos cuyo propósito y estado de copia de seguridad conozcas; no elimines individualmente la base de datos activa, el WAL, el diario ni los archivos del motor de la base de datos.

La guía de ZimaSpace sobre cómo encontrar el uso del disco de Docker fuera de los datos asignados es la comprobación paralela adecuada cuando la ruta configurada de la base de datos parece pequeña, pero el disco del sistema anfitrión sigue completamente lleno.

Crea espacio de trabajo y conserva la base de datos

Da prioridad a ampliar el volumen o mover archivos antiguos no relacionados a otro disco verificado. Si eso no es posible, copia la base de datos detenida y sus archivos relacionados a un almacenamiento con capacidad suficiente antes de intentar realizar tareas de mantenimiento. Registra el propietario, los permisos, el motor, la versión de Home Assistant y la URL de la base de datos.

El reempaquetado no es un primer paso de emergencia en un sistema de archivos lleno, ya que puede requerir bastante espacio temporal. Las notas de resolución de problemas de la comunidad indican que el reempaquetado de SQLite puede necesitar espacio libre comparable al tamaño de la base de datos; en la práctica, lo importante es crear espacio de trabajo antes del reempaquetado en lugar de confiar en un volumen casi lleno.

Después de liberar espacio, confirma que el sistema de archivos sea escribible y estable. Si se volvió a montar como de solo lectura, informa de errores de hardware o pierde espacio de inmediato otra vez, detente y repara la capa de almacenamiento antes de abrir la base de datos.

Elige entre purgar, reparar la integridad o restaurar una copia en buen estado

Inicia Home Assistant solo el tiempo suficiente para inspeccionar los registros de Recorder y el estado de la base de datos. Si la base de datos se abre correctamente, reduce la retención o excluye entidades ruidosas y ejecuta una purga sin reempaquetado primero. Esto reduce el volumen lógico de datos y evita el paso que requiere más espacio temporal.

Si aparecen errores de integridad, detén de nuevo las escrituras y trabaja sobre una copia. Utiliza las herramientas compatibles de integridad y recuperación del motor de la base de datos, o restaura una copia de seguridad en buen estado. No inicies repetidamente Home Assistant con una base de datos dañada, ya que las nuevas escrituras pueden complicar la recuperación y ocultar el fallo original.

Si no existe ninguna copia utilizable de la base de datos ni una copia de seguridad, crear una base de datos nueva de Recorder permite recuperar el funcionamiento, pero se pierde el historial. Considera esta opción como la última vía de recuperación, conserva la base de datos fallida para analizarla más adelante y mantén la configuración y los registros separados de la decisión sobre el historial.

Reduce la causa del crecimiento antes de volver a poner el servicio en funcionamiento

Identifica qué llenó el volumen: actualizaciones excesivas de entidades, una retención demasiado larga, registros grandes, acumulación de copias de seguridad, una purga fallida, crecimiento descontrolado de la base de datos o un volumen más pequeño de lo previsto. Corrige la causa medida en lugar de aplicar todas las opciones de limpieza a la vez.

Establece un periodo de retención razonable, excluye las entidades cuyo historial de alta frecuencia tenga poco valor, devuelve los registros del modo de depuración al nivel normal, mueve las copias de seguridad fuera del anfitrión y configura alertas tanto para el espacio libre como para la velocidad de crecimiento. Deja margen de trabajo para actualizaciones, copias de seguridad, cambios de esquema y tareas de mantenimiento.

Compara la base de datos recuperada con los criterios de ZimaSpace sobre mantenimiento de la base de datos frente a sustitución cuando la corrupción o los fallos de integridad repetidos hagan menos confiable continuar reparándola que restaurar una copia en buen estado.

Valida la recuperación bajo la carga de Recorder

Inicia Home Assistant y confirma los estados actuales, las nuevas escrituras del historial, las consultas del registro, las acciones de automatización y el tamaño de la base de datos. Ejecuta la misma carga de trabajo con muchas actualizaciones que precedió al fallo mientras observas el espacio libre, los errores de escritura, la latencia de la base de datos y la velocidad de crecimiento.

Reinicia Home Assistant dos veces y ejecuta la siguiente purga o copia de seguridad programada. La recuperación solo se considera satisfactoria si la base de datos vuelve a abrirse, el historial avanza, el espacio libre permanece por encima del límite de parada y no reaparecen errores de integridad ni de solo lectura.

Vuelve a la copia conservada o a la copia de seguridad en buen estado si el mantenimiento provoca nueva corrupción, el historial desaparece inesperadamente o el volumen empieza a llenarse al mismo ritmo. Escala los fallos de almacenamiento, los errores del motor de la base de datos y los fallos reproducibles de Recorder junto con los registros y la cronología conservada.

Soporte y Consejos

Más para leer

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.