Come separare i dati dell’app Home Assistant, la cache e i backup

Eva Wong è la redattrice tecnica e appassionata di tecnologia di ZimaSpace. Geek da sempre, appassionata di homelab e software open source, è specializzata nel tradurre concetti tecnici complessi in guide pratiche. Eva crede che l’hosting autonomo debba essere divertente, non intimidatorio. Attraverso i suoi tutorial, aiuta la community a comprendere meglio le configurazioni hardware, dalla costruzione del primo NAS alla padronanza dei container Docker.

Per separare i dati dell'applicazione Home Assistant, la cache e i backup, decidi innanzitutto cosa deve sopravvivere a un guasto, cosa può essere ricreato automaticamente e cosa deve trovarsi al di fuori dell'host di Home Assistant. La configurazione persistente e lo stato del database richiedono un archivio stabile e un backup; la cache eliminabile o i file temporanei non dovrebbero seguire le stesse regole di conservazione; i backup non dovrebbero dipendere dal disco da cui dovrebbero consentire il ripristino.

La disposizione più sicura si basa sui ruoli, non sui nomi delle cartelle. Non spostare una directory nello «spazio cache» solo perché cresce rapidamente. Prima di considerarla eliminabile, verifica se Home Assistant o un servizio associato ne ha bisogno per la cronologia, l'identità, le associazioni, le credenziali o il ripristino.

Classifica i dati come autorevoli, ricreabili o copie di ripristino

I dati applicativi autorevoli includono la configurazione di Home Assistant, i segreti, lo stato delle integrazioni, le definizioni delle automazioni e il database o altri dati di stato che intendi conservare. I dati ricreabili includono immagini scaricate, file temporanei, cache dei pacchetti, transcodifiche e indici che un servizio può ricreare senza perdere la configurazione domestica. Le copie di ripristino sono backup ed esportazioni destinati a ricreare lo stato autorevole dopo un guasto.

Questa classificazione va fatta per ogni servizio. Home Assistant, MQTT, un database, un reverse proxy e Zigbee2MQTT possono avere ciascuno uno stato persistente diverso. Un'interfaccia di gestione può ricordare la definizione dello stack senza contenere i dati del carico di lavoro stesso; una spiegazione del perché i backup degli strumenti di gestione dei container potrebbero non includere lo stato dei carichi di lavoro mostra perché «Ho fatto il backup di Docker» può significare molto meno del previsto.

Mantieni la configurazione di Home Assistant e il database attivo su un supporto stabile

In una distribuzione in container, il percorso di configurazione di Home Assistant deve rimanere persistente indipendentemente dall'immagine del container. Se il database di Recorder si trova ancora in quell'albero di configurazione, è uno stato attivo dell'applicazione, non una cache. Archivia questo stato su un SSD affidabile o su un altro supporto a bassa latenza, con spazio libero sufficiente per le normali operazioni sul database e per il ripristino.

L'attività di Recorder può generare continue piccole scritture, soprattutto quando molte entità cambiano spesso. Una guida della community di Home Assistant su come la conservazione di Recorder influisce sulla crescita del database, disponibile da tempo, è utile perché si concentra sulla riduzione della cronologia non necessaria, anziché nascondere le continue scritture sul database spostando l'intero albero di configurazione su un archivio temporaneo.

Sposta solo la cache e i dati temporanei sicuramente eliminabili

La cache e l'archiviazione temporanea possono risiedere su un dispositivo scratch veloce separato, su un filesystem con memoria limitata o in una directory dedicata con regole di pulizia, ma solo se perderle non comporta problemi. Dopo aver svuotato una copia di test, riavvia il servizio interessato e verifica che ricrei ciò di cui ha bisogno. Se il servizio perde associazioni, cronologia, utenti, credenziali o configurazione, quei dati non erano eliminabili.

Separare i dati soggetti a frequenti modifiche può ridurre le scritture e alleggerire i backup, ma non dovrebbe mai nascondere file necessari sotto un punto di montaggio né creare una dipendenza nascosta dalla RAM. La guida di ZimaSpace Separare la cache e lo spazio temporaneo di Home Assistant offre un percorso specifico per individuare i dati ricostruibili prima di modificare i montaggi.

Conserva i backup in un dominio di guasto separato

Un backup archiviato accanto alla configurazione attiva protegge da una modifica errata, ma non dal guasto dell’SSD, dal furto dell’host, dalla corruzione del file system o dal guasto del controller di archiviazione. Copia i backup di Home Assistant su un NAS, un altro server, un supporto rimovibile o una destinazione esterna, in base al tipo di guasto da cui vuoi proteggerti. Conserva la chiave di ripristino o le credenziali in un luogo accessibile anche quando Home Assistant non è disponibile.

Anche i backup devono essere internamente coerenti. Gli archivi dei volumi sono utili, ma i servizi con stato persistente possono richiedere un dump coordinato, uno snapshot o una copia eseguita a servizio arrestato. Un modello di backup e ripristino dei volumi persistenti spiega il problema della portabilità, mentre un test di ripristino che dimostra l’utilizzabilità del backup sottolinea che un backup non è verificato finché non si riesce a recuperare da esso uno stato utile.

Verifica la struttura con prove di eliminazione, riavvio e ripristino

Dopo aver separato i percorsi, verifica ogni ruolo in base a ciò che promette. Svuota una cache eliminabile e verifica che venga ricreata. Ricrea il container di Home Assistant e verifica che la configurazione persistente rimanga. Riavvia l’host e verifica che i montaggi siano disponibili prima dell’avvio dei servizi che ne dipendono. Ripristina un backup recente in una destinazione temporanea e verifica utenti, automazioni, integrazioni e una parte rappresentativa della cronologia o dello stato dei servizi complementari.

Poi documenta proprietà e autorizzazioni. Un percorso perfettamente separato su disco può comunque causare problemi dopo una migrazione se il nuovo UID/GID del container non può leggerlo. Registra i punti di montaggio, la proprietà del file system, l’inclusione nei backup, la conservazione e il servizio autorizzato a eliminare ciascuna directory.

Ruolo dei dati Spazio di archiviazione tipico Regola di ripristino
Configurazione/database di Home Assistant Pool stabile di SSD/dati delle app Persistente e sottoposto a backup
Cache/file temporanei eliminabili SSD temporaneo o spazio temporaneo limitato Deve poter essere ricostruito in sicurezza
Backup Destinazione separata: host/media/esterna Ripristino verificato
Archivi di grandi dimensioni Spazio di archiviazione orientato alla capacità Protetto in base al valore

La separazione è efficace quando eliminare la cache non può compromettere Home Assistant, ricreare i container non può cancellare lo stato delle app e la perdita del dispositivo principale che contiene i dati delle app non distrugge l’unica copia di ripristino. I ruoli dello spazio di archiviazione dovrebbero rendere chiaro il comportamento in caso di guasto prima che si verifichi un problema.

Configurazione NAS e server

Altre letture

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.