È meglio eseguire il backup di Home Assistant mentre è in funzione o arrestare prima il servizio?

Eva Wong è la Technical Writer e smanettatrice residente di ZimaSpace. Una geek da sempre con una passione per homelab e software open-source, si specializza nel tradurre concetti tecnici complessi in guide accessibili e pratiche. Eva crede che l'auto-ospitare debba essere divertente, non intimidatorio. Attraverso i suoi tutorial, dà potere alla comunità di demistificare le configurazioni hardware, dalla costruzione del loro primo NAS al dominio dei container Docker.

Per le installazioni attuali di Home Assistant, usa innanzitutto il sistema di backup integrato e lascialo eseguire mentre Home Assistant è online. Arresta o metti in pausa il servizio solo quando stai creando una semplice copia del filesystem o utilizzando un altro metodo che non coordina il database attivo.

La vera decisione è quindi «backup dell'applicazione supportato» contro «copia generica dei file», non semplicemente «attivo» contro «arrestato». Un comando rsync, una copia SMB, uno snapshot di una macchina virtuale o un comando di archiviazione completati correttamente non dimostrano di per sé che il database e il resto dello stato di Home Assistant siano stati acquisiti in un unico punto di ripristino coerente.

Usa innanzitutto il percorso di backup integrato

L'integrazione Backup di Home Assistant ora crea e ripristina backup per tutti i tipi di installazione. Per Core e Container, l'azione backup.create include la configurazione e il database di Home Assistant mentre il sistema resta online.

Questo percorso supportato dovrebbe essere il punto di riferimento per i normali punti di ripristino. Conserva la chiave di crittografia o il kit di emergenza al di fuori dell'host di Home Assistant, trasferisci almeno un backup fuori dall'host e verifica che il backup possa essere ripristinato prima di farvi affidamento per un aggiornamento o una migrazione.

Passa alla copia manuale del filesystem solo se hai un motivo per cui il backup integrato non è sufficiente; in tal caso, rendi esplicito il comportamento relativo alla coerenza del database.

Arresta Home Assistant solo per una semplice copia di /config

Arrestare il servizio è ancora il modo più semplice per rendere internamente coerente una copia generica della directory di configurazione. Prepara prima destinazione, autorizzazioni e spazio libero; quindi arresta Home Assistant, copia l'albero delle directory, verifica l'operazione e riavvia il servizio.

Un flusso di lavoro pratico per la migrazione di un container usa esattamente questo limite: arresta il container prima di copiare la sua configurazione persistente basata su SQLite. È appropriato per un trasferimento grezzo del filesystem, non è un motivo per arrestare Home Assistant prima di ogni backup integrato.

Non prolungare il downtime scoprendo errori nei percorsi dopo l'arresto. Convalida prima la destinazione e usa la finestra di arresto solo per la copia finale e autorevole.

Un backup live del database può essere sicuro se tiene conto del database

SQLite supporta meccanismi di backup online che producono una copia autonoma coerente mentre il database sorgente rimane attivo. È molto diverso dal copiare indipendentemente il file del database e il WAL con un sincronizzatore generico.

Un recente flusso di lavoro di backup per homelab spiega perché il comando .backup di SQLite, consapevole delle pagine, evita le combinazioni incoerenti tra file principale e WAL tipiche di un rsync live ingenuo.

Se crei un backup live personalizzato, prepara separatamente la copia consapevole del database, copia il resto della configurazione con semantiche compatibili e dimostra la validità dell'intero risultato con un test di ripristino. La sola coerenza del database non conserva file personalizzati mancanti, segreti o definizioni dell'ambiente di esecuzione.

Tieni separati i backup live consapevoli del database dagli snapshot generici

Non applicare la regola «arresta per rsync» ai metodi di backup live consapevoli del database né all'interfaccia di backup di Home Assistant. La garanzia di coerenza deriva dal meccanismo di backup, non dal fatto che nel nome dello strumento compaia la parola «snapshot» o «backup».

Per le installazioni Container, conserva anche la definizione dell'ambiente di esecuzione al di fuori di Home Assistant: il file Compose, il percorso della configurazione sull'host, le mappature dei dispositivi, la modalità di rete e le dipendenze da servizi esterni. Un archivio di backup può ripristinare lo stato di Home Assistant senza ricreare da solo una struttura di container non documentata.

L'esempio di ZimaSpace relativo a assegnare a Home Assistant un piano di ripristino dedicato accanto al NAS rafforza il limite di ambito: la protezione dei dati deve coprire sia lo stato dell'applicazione sia l'ambiente necessario per eseguirla.

Valuta il backup in base ai risultati del ripristino

Ripristina un backup recente in una destinazione isolata e verifica utenti, integrazioni, dashboard, automazioni, helper, registri dei dispositivi, cronologia se necessaria e un percorso rappresentativo di controllo locale. Riavvia una volta la destinazione ripristinata prima di considerare il backup verificato.

Un metodo di backup che si completa ogni notte ma non riesce a ripristinare un sistema funzionante è operativamente peggiore di una breve interruzione di manutenzione con un risultato di ripristino testato. Preferisci il metodo più semplice che soddisfa i requisiti di downtime e produce uno stato ripristinabile in modo ripetibile.

Domande frequenti

Devo arrestare Home Assistant prima di usare la funzione di backup integrata?

No. Usa il flusso di backup integrato come previsto. La raccomandazione di arrestare il servizio si applica alle normali copie a livello di file che non coordinano il database e lo stato attivi di Home Assistant.

Uno snapshot del filesystem o di una macchina virtuale è automaticamente un backup live sicuro?

Non automaticamente. Uno snapshot è utile solo nella misura in cui acquisisce dati coerenti e viene seguito da un test di ripristino. Se l'applicazione e il database continuano a scrivere durante lo snapshot, verifica che il metodo utilizzato fornisca le garanzie di coerenza da cui dipende il tuo piano di ripristino.

Supporto e consigli

Altro da leggere

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.