Quando il volume del database di Home Assistant è pieno, interrompi prima le nuove scritture. Crea spazio di lavoro senza eliminare il database attivo, conserva una copia e determina se Recorder è in grado di aprire e mantenere il database prima di scegliere tra pulizia, riparazione o ripristino.
Un volume pieno può bloccare proprio l'operazione di pulizia destinata a risolvere il problema, soprattutto quando il repack o la ricostruzione del database richiedono spazio temporaneo. Mantieni un ordine prudente: arresta Home Assistant, verifica quale filesystem è pieno, sposta i file non correlati o espandi il volume, copia il database, controlla i log e l'integrità, quindi applica il recupero meno distruttivo compatibile con il risultato.
Interrompi le scritture e conferma quale filesystem è realmente pieno
Arresta Home Assistant o Recorder non appena gli errori di scrittura del database si ripetono. Conferma il filesystem, il punto di mount o il volume thin che contiene il database attivo e confronta spazio totale, spazio libero, inode, dimensioni del database, log, backup e livelli scrivibili dei container. Un disco di sistema pieno e un volume esterno dedicato al database pieno richiedono correzioni diverse.
Non dare per scontato che il database sia l'unico elemento che occupa spazio. Vecchi backup, log di debug, esportazioni, snapshot e livelli dei container non correlati possono offrire spazio di emergenza più sicuro. Sposta o elimina solo i file di cui conosci lo scopo e lo stato del backup; non rimuovere singolarmente il database attivo, il WAL, il journal o i file del motore del database.
La guida di ZimaSpace su come trovare l'utilizzo del disco Docker al di fuori dei dati mappati è il controllo parallelo corretto quando il percorso configurato del database sembra occupare poco spazio, ma il disco di sistema dell'host è comunque esaurito.
Crea spazio di lavoro e conserva il database
Preferisci espandere il volume o spostare gli archivi non correlati su un altro disco verificato. Se non è possibile, copia il database arrestato e i relativi file su uno spazio di archiviazione con capacità sufficiente prima di tentare la manutenzione. Registra proprietario, autorizzazioni, motore, versione di Home Assistant e URL del database.
Il repack non è un primo intervento d'emergenza su un filesystem pieno, perché può richiedere molto spazio temporaneo. Le note sulla risoluzione dei problemi della community indicano che il repack di SQLite può richiedere spazio libero paragonabile alle dimensioni del database; in pratica, è necessario creare spazio di lavoro prima del repack invece di affidarsi a un volume quasi pieno.
Dopo aver creato spazio, verifica che il filesystem sia scrivibile e stabile. Se è stato rimontato in sola lettura, segnala errori hardware o perde nuovamente spazio subito, fermati e ripara il livello di archiviazione prima di aprire il database.
Scegli tra pulizia, riparazione dell'integrità e ripristino di una copia integra
Avvia Home Assistant solo per il tempo necessario a controllare i log di Recorder e lo stato del database. Se il database si apre senza problemi, riduci la conservazione o escludi le entità più rumorose ed esegui una pulizia senza repack. In questo modo riduci il volume logico dei dati evitando il passaggio che richiede più spazio temporaneo.
Se compaiono errori di integrità, interrompi nuovamente le scritture e lavora su una copia. Utilizza gli strumenti di integrità e recupero supportati dal motore del database oppure ripristina un backup integro noto. Non avviare ripetutamente Home Assistant su un database danneggiato, perché le nuove scritture possono complicare il recupero e nascondere il problema originale.
Se non esiste alcuna copia utilizzabile del database o alcun backup, la creazione di un nuovo database di Recorder ripristina il funzionamento, ma comporta la perdita della cronologia. Considerala l'ultima opzione di recupero, conserva il database danneggiato per un'analisi successiva e mantieni separati la configurazione e i registri dalla decisione relativa alla cronologia.
Riduci la causa della crescita prima di tornare in servizio
Identifica cosa ha riempito il volume: aggiornamenti eccessivi delle entità, conservazione prolungata, log di grandi dimensioni, accumulo di backup, pulizia non riuscita, espansione del database o un volume più piccolo del previsto. Correggi la causa misurata invece di applicare contemporaneamente tutte le opzioni di pulizia.
Imposta un periodo di conservazione ragionevole, escludi le entità la cui cronologia ad alta frequenza ha poco valore, riporta il logging dal livello di debug a quello normale, sposta le copie di backup fuori dall'host e configura avvisi sia sullo spazio libero sia sulla velocità di crescita. Lascia spazio operativo per aggiornamenti, backup, modifiche allo schema e manutenzione.
Confronta il database recuperato con i criteri di ZimaSpace per la manutenzione del database rispetto alla sostituzione quando corruzioni o errori di integrità ricorrenti rendono la riparazione continuativa meno affidabile di un ripristino da una copia integra.
Convalida il recupero sotto il carico di Recorder
Avvia Home Assistant e verifica gli stati correnti, le nuove scritture della cronologia, le query del registro, le azioni delle automazioni e le dimensioni del database. Esegui lo stesso carico di lavoro con molti aggiornamenti che ha preceduto il guasto, monitorando spazio libero, errori di scrittura, latenza del database e velocità di crescita.
Riavvia Home Assistant due volte ed esegui la pulizia o il backup programmato successivo. Il recupero è riuscito solo se il database si riapre, la cronologia avanza, lo spazio libero rimane al di sopra della soglia di arresto e non ricompaiono errori di integrità o di sola lettura.
Torna alla copia conservata o al backup integro noto se la manutenzione crea una nuova corruzione, la cronologia scompare in modo imprevisto o il volume inizia a riempirsi alla stessa velocità. Inoltra i problemi di archiviazione, gli errori del motore del database e i guasti riproducibili di Recorder includendo i log e la cronologia degli eventi conservata.
Supporto e consigli
Altro da leggere

Come ottimizzare le connessioni al database di Home Assistant per container simultanei
Ottimizza un database Recorder esterno in base alle connessioni attive e alla latenza misurate, senza aumentare il numero massimo di connessioni né copiare il...

Come evitare duplicati di processi o importazioni in Home Assistant
Usa tracce e chiavi operative univoche per rendere sicuri i nuovi tentativi di automazioni e importazioni, evitando di generare azioni o record duplicati.

Perché Home Assistant ricrea i file mancanti con il proprietario sbagliato?
Fai corrispondere l’UID e il GID di runtime al percorso sull’host, ripara solo i file interessati quando è arrestato e verifica la proprietà dopo...

