Quando o volume da base de dados do Home Assistant está cheio, interrompa primeiro as novas gravações. Crie espaço de trabalho sem eliminar a base de dados ativa, preserve uma cópia e determine se o Recorder consegue abrir e manter a base de dados antes de escolher entre limpeza, reparação ou restauro.
Um volume cheio pode bloquear precisamente a operação de limpeza destinada a resolver o problema, especialmente quando a compactação ou reconstrução da base de dados necessita de espaço temporário. Mantenha uma ordem conservadora: pare o Home Assistant, confirme qual é o sistema de ficheiros que está cheio, mova ficheiros não relacionados ou aumente o volume, copie a base de dados, verifique os registos e a integridade e, em seguida, aplique a recuperação menos destrutiva compatível com o resultado.
Interromper as Gravações e Confirmar o Sistema de Ficheiros Efetivamente Cheio
Pare o Home Assistant ou o Recorder assim que as falhas de escrita da base de dados se repetirem. Confirme o sistema de ficheiros, ponto de montagem ou volume fino que contém a base de dados ativa e compare o espaço total, o espaço livre, os inodes, o tamanho da base de dados, os registos, as cópias de segurança e as camadas graváveis dos contentores. Um disco do sistema cheio e um volume externo dedicado à base de dados cheio exigem correções diferentes.
Não parta do princípio de que a base de dados é o único consumidor. Cópias de segurança antigas, registos de depuração, exportações, instantâneos e camadas de contentores não relacionadas podem disponibilizar espaço de emergência mais seguro. Mova ou elimine apenas ficheiros cuja finalidade e estado de cópia de segurança sejam conhecidos; não remova individualmente a base de dados ativa, o WAL, o diário ou ficheiros do motor da base de dados.
O guia da ZimaSpace sobre encontrar utilização do disco Docker fora dos dados mapeados é a verificação paralela adequada quando o caminho configurado da base de dados parece pequeno, mas o disco do sistema anfitrião continua esgotado.
Criar Espaço de Trabalho e Preservar a Base de Dados
Dê preferência ao aumento do volume ou à transferência de arquivos não relacionados para outro disco verificado. Se isso não for possível, copie a base de dados parada e os respetivos ficheiros para um armazenamento com capacidade suficiente antes de tentar qualquer manutenção. Registe o proprietário, as permissões, o motor, a versão do Home Assistant e o URL da base de dados.
A compactação não é um primeiro passo de emergência num sistema de ficheiros cheio, pois pode exigir bastante espaço temporário. Notas de resolução de problemas da comunidade indicam que a compactação do SQLite pode necessitar de espaço livre comparável ao tamanho da base de dados; na prática, deve criar espaço de trabalho antes da compactação, em vez de confiar num volume quase cheio.
Depois de libertar espaço, confirme que o sistema de ficheiros é gravável e estável. Se tiver sido remontado como só de leitura, apresentar erros de hardware ou voltar a perder espaço imediatamente, pare e repare a camada de armazenamento antes de abrir a base de dados.
Escolher entre Limpeza, Reparação da Integridade ou Restauro de uma Cópia Conhecida como Boa
Inicie o Home Assistant apenas durante o tempo necessário para inspecionar os registos e o estado da base de dados do Recorder. Se a base de dados abrir sem problemas, reduza a retenção ou exclua entidades ruidosas e execute uma limpeza sem compactação primeiro. Isto reduz o volume lógico de dados, evitando o passo que requer mais espaço temporário.
Se surgirem erros de integridade, interrompa novamente as gravações e trabalhe numa cópia. Utilize as ferramentas de integridade e recuperação suportadas pelo motor da base de dados ou restaure uma cópia de segurança conhecida como boa. Não inicie repetidamente o Home Assistant com uma base de dados danificada, pois novas gravações podem complicar a recuperação e ocultar a falha original.
Se não existir uma cópia utilizável da base de dados nem uma cópia de segurança, criar uma nova base de dados do Recorder permite retomar o funcionamento, mas elimina o histórico. Considere esta a última opção de recuperação, preserve a base de dados danificada para análise posterior e mantenha a configuração e os registos separados da decisão relativa ao histórico.
Reduzir a Origem do Crescimento Antes de Retomar o Serviço
Identifique o que encheu o volume: atualizações excessivas de entidades, retenção prolongada, registos grandes, acumulação de cópias de segurança, limpeza falhada, crescimento excessivo da base de dados ou um volume mais pequeno do que o previsto. Corrija a origem medida em vez de aplicar todas as opções de limpeza de uma só vez.
Defina um período de retenção justificável, exclua entidades cujo histórico de alta frequência tenha pouco valor, altere o registo de depuração para o modo normal, mova as cópias de segurança para fora do anfitrião e configure alertas tanto para o espaço livre como para a taxa de crescimento. Mantenha espaço de reserva para atualizações, cópias de segurança, alterações ao esquema e manutenção.
Compare a base de dados recuperada com os critérios da ZimaSpace para manutenção ou substituição da base de dados quando a corrupção ou as falhas de integridade repetidas tornarem a reparação contínua menos fiável do que um restauro conhecido como bom.
Validar a Recuperação sob a Carga do Recorder
Inicie o Home Assistant e confirme os estados atuais, as novas gravações do histórico, as consultas ao livro de registos, as ações das automações e o tamanho da base de dados. Execute a mesma carga de trabalho com muitas atualizações que antecedeu a falha, monitorizando o espaço livre, os erros de escrita, a latência da base de dados e a taxa de crescimento.
Reinicie o Home Assistant duas vezes e execute a próxima limpeza ou cópia de segurança agendada. A recuperação só é bem-sucedida se a base de dados voltar a abrir, o histórico continuar a avançar, o espaço livre permanecer acima do limite de paragem e não regressarem erros de integridade ou de sistema só de leitura.
Reponha a cópia preservada ou a cópia de segurança conhecida como boa se a manutenção criar nova corrupção, o histórico desaparecer inesperadamente ou o volume começar a encher à mesma velocidade. Escale as falhas de armazenamento, os erros do motor da base de dados e as falhas reproduzíveis do Recorder, fornecendo os registos e a cronologia preservada.
Suporte e Dicas
Mais para Ler

Como otimizar as ligações à base de dados do Home Assistant para contentores simultâneos
Ajuste uma base de dados externa do Recorder com base nas ligações ativas e na latência medidas, não aumentando o número máximo de ligações...

Como evitar tarefas ou importações duplicadas no Home Assistant
Utilize rastreios e chaves de operação exclusivas para tornar as automatizações e importações seguras para repetir, sem gerar ações ou registos duplicados.

Porque é que o Home Assistant recria ficheiros em falta com o proprietário errado?
Faça corresponder o UID e o GID de execução ao caminho do anfitrião, repare apenas os ficheiros afetados enquanto estiver parado e verifique a...

