O Home Assistant pode utilizar armazenamento de rede de forma fiável para cópias de segurança, multimédia e alguns ficheiros partilhados, mas colocar o diretório de configuração ativo ou a base de dados SQLite predefinida do Recorder em SMB ou NFS é uma solução muito mais exigente. A opção predefinida mais segura é utilizar armazenamento persistente local para o estado ativo do Home Assistant e uma partilha de rede para os dados que beneficiam de capacidade remota ou de cópias de segurança independentes.
A diferença está no comportamento transacional e na dependência do arranque. Um arquivo de cópia de segurança pode esperar pelo NAS; a configuração e a base de dados do Home Assistant podem ser necessárias antes de a partilha de rede ser montada ou estar operacional. Uma breve falha do NAS não deve transformar um controlador local saudável numa instalação vazia ou corrompida.
Separe as Partilhas de Cópias de Segurança e Multimédia do Estado Ativo da Aplicação
Comece por identificar o que pretende mover. Os arquivos de cópias de segurança e os ficheiros multimédia são naturalmente adequados para um NAS, porque são objetos grandes e transferíveis e não têm de ser abertos para escritas transacionais contínuas pelo Home Assistant Core.
O estado ativo da aplicação é diferente. A árvore de configuração inclui armazenamento gerido pela interface e outros ficheiros que o Home Assistant espera ler e atualizar durante o funcionamento normal, enquanto o Recorder escreve continuamente o estado e o histórico de eventos.
O exemplo de nuvem privada ZimaSpace separa a recuperação do Home Assistant do armazenamento NAS em massa, que é a arquitetura útil neste caso: a capacidade de rede pode crescer de forma independente sem tornar cada ação de controlo dependente da partilha de armazenamento.
O SQLite Acrescenta Requisitos de Bloqueio e Consistência
A base de dados predefinida do Recorder do Home Assistant é SQLite. Essa base de dados depende de um comportamento do sistema de ficheiros fácil de disponibilizar no armazenamento local e menos previsível em sistemas de ficheiros de rede, reconexões e diferentes implementações de montagem.
O SQLite não foi concebido como um servidor de bases de dados de rede e o bloqueio em sistemas de ficheiros de rede pode ser pouco fiável ou incompleto, dependendo da plataforma. Isso torna um ficheiro SQLite remoto num risco diferente de simplesmente ler multimédia através de SMB.
Se precisar de uma base de dados noutro anfitrião, utilize uma base de dados cliente/servidor suportada e aceite a responsabilidade operacional associada a essa dependência externa. Não parta do princípio de que mover o próprio ficheiro SQLite cria a mesma arquitetura.
O Momento da Montagem Pode Impedir o Arranque Mesmo Quando a Partilha Funciona Mais Tarde
Uma partilha de rede pode permitir escritas depois de o sistema arrancar completamente, mas continuar indisponível quando o Home Assistant precisa pela primeira vez da base de dados ou da configuração. Isso cria um problema de ordem de arranque que um teste manual de escrita posterior não consegue detetar.
Um utilizador do Home Assistant que colocou o SQLite do Recorder em SMB observou ficheiros de base de dados com zero bytes e corrompidos durante o arranque, apesar de a partilha permitir escritas a partir do anfitrião. A discussão abordou especificamente o momento da montagem e a adequação do SQLite numa partilha de rede.
Teste o arranque a frio, o reinício do anfitrião, o reinício do NAS e uma falha temporária da partilha. Uma solução que só funciona depois de montar manualmente o NAS não é suficientemente fiável para controlar toda a casa.
A Latência da Rede Pode Tornar o Histórico Lento sem Interromper o Controlo
A E/S remota da base de dados ou da configuração acrescenta latência de rede a pequenas leituras e escritas. Isto pode manifestar-se primeiro como gráficos do histórico, manutenção da base de dados ou arranque lentos, em vez de automações falhadas.
Uma implementação do Home Assistant em Kubernetes relatou que o SQLite através de NFS e um caminho SQL remoto produziram uma resposta fraca da base de dados, levando o autor a aproximar o caminho da base de dados ativa da carga de trabalho do Home Assistant.
Meça o sintoma específico. Se o controlo local continuar rápido enquanto o histórico estiver lento, é provável que o caminho da base de dados esteja a afetar as funcionalidades históricas e não a automação física em si. Se a partilha também alojar a configuração crítica, uma falha pode alargar o problema a todo o serviço.
Prefira Estado Local e Cópias de Segurança na Rede num Servidor Pequeno
Na maioria dos servidores domésticos, mantenha o /config e a base de dados SQLite predefinida num SSD local fiável ou noutro dispositivo persistente. Envie as cópias de segurança para o NAS, armazene aí os ficheiros multimédia e utilize partilhas de rede para dados volumosos que beneficiem de capacidade centralizada.
Esta separação é mais fácil de diagnosticar: a latência da base de dados local pertence ao anfitrião do Home Assistant, enquanto uma cópia de segurança ou um ficheiro multimédia em falta pertence ao caminho do NAS. A rede continua a ser útil sem se tornar uma dependência síncrona para cada escrita de estado.
Mova o estado ativo para armazenamento remoto apenas quando a partilha, a ordem de montagem, a semântica de bloqueio, a latência, o comportamento perante falhas e o processo de restauro tiverem sido testados sob arranque a frio e perda temporária da rede.
FAQ
Um NAS é um bom local para as cópias de segurança do Home Assistant?
Sim. Um NAS é frequentemente um bom destino independente para arquivos de cópias de segurança, sobretudo quando a cópia sobrevive a uma falha do disco do sistema do Home Assistant. Mantenha outra cópia noutro local se o NAS e o anfitrião do Home Assistant continuarem a partilhar o mesmo domínio de falha física.
Devo colocar diretamente a base de dados SQLite predefinida do Home Assistant em SMB ou NFS?
Normalmente, não. Mantenha o SQLite num armazenamento local fiável, salvo se tiver uma razão específica e testada para fazer o contrário. Se a base de dados tiver de ser remota, uma base de dados cliente/servidor suportada é uma arquitetura mais adequada do que tratar o ficheiro SQLite como um documento de rede comum.
Suporte e Dicas
Mais para Ler

Deve fazer uma cópia de segurança do Home Assistant em funcionamento ou parar primeiro o serviço?
As cópias de segurança integradas do Home Assistant podem ser executadas em tempo real; as cópias simples do sistema de ficheiros devem parar ou...

Porque é que um servidor Home Assistant fica quente ou ruidoso durante os períodos de inatividade?
Relacione os picos da ventoinha ou da temperatura do Home Assistant com o Recorder, as cópias de segurança, as integrações e as tarefas alojadas...

Quando deve reconstruir o Home Assistant em vez de o reparar?
Repare primeiro a camada do Home Assistant que falhou e que seja mais pequena, restaure de seguida um estado conhecido como bom e reconstrua...

