Så förhindrar du att Home Assistant-säkerhetskopior fångar ett inkonsekvent databastillstånd

Eva Wong är Teknisk skribent och den boende fixaren på ZimaSpace. En livslång nörd med en passion för hemma-labb och öppen källkod, hon specialiserar sig på att översätta komplexa tekniska koncept till tillgängliga, praktiska guider. Eva tror att självhosting ska vara roligt, inte skrämmande. Genom sina handledningar ger hon gemenskapen verktyg att avmystifiera hårdvaruinstallationer, från att bygga sin första NAS till att bemästra Docker-containrar.

Förhindra inkonsekventa säkerhetskopior av Home Assistant genom att låta applikationen samordna den aktiva databasen eller genom att stoppa skrivningar innan en rå kopia av filsystemet görs.

Det riskabla är inte att ”säkerhetskopiera medan Home Assistant är igång” i sig, utan en kopieringsmetod som fångar relaterade databas- och applikationsfiler vid olika tidpunkter utan att känna till deras transaktionstillstånd. Inbyggda säkerhetskopior kan samordna Home Assistants komponenter, medan ett generiskt rsync- eller ögonblicksbildsverktyg kanske inte kan det. Bestäm vilken mekanism som ansvarar för konsistensen, undvik överlappande databasintensiva jobb, behåll den föregående fungerande säkerhetskopian och bevisa varje policy genom en isolerad återställning.

Behandla inte en aktiv SQLite-databas som en vanlig statisk fil

Home Assistant Recorder kan skriva medan en generell säkerhetskopieringsprocess kopierar konfigurationskatalogen. Med SQLite kan det bekräftade tillståndet omfatta huvuddatabasen och journal- eller WAL-filer, så att fånga olika tidpunkter kan skapa en kopia som är ofullständig eller omöjlig att återställa, även om varje filnamn finns i arkivet.

Ett test av säkerhetskopiering av en aktiv SQLite-databas visade att kopiering av endast huvuddatabasfilen i tysthet kunde utelämna bekräftade rader som fortfarande fanns i WAL-filen, även när den kopierade databasen klarade en integritetskontroll. Detta WAL-baserade kopieringsfel är anledningen till att en rå filkopiering bör använda en databasanpassad ögonblicksbild eller endast utföras efter att databasen har pausats på ett ordnat sätt.

Det betyder inte att Home Assistant alltid måste stängas av för säkerhetskopiering. Det betyder att säkerhetskopieringsmekanismen måste veta hur den skapar en sammanhängande återställningspunkt. Använd Home Assistants inbyggda säkerhetskopiering för en installation som körs; reservera stoppade filsystemskopior för migrering, offlinearkivering eller externa verktyg som saknar applikationsanpassad integration.

Undvik konkurrerande säkerhetskopierings- eller underhållsjobb under samma tidsfönster

Även en applikationsanpassad säkerhetskopiering kan misslyckas med att förbereda databasen när en annan process håller lås eller när lagringssökvägen utsätts för ovanligt underhållstryck. Schemalägg inte en andra säkerhetskopiering via ett tillägg, databasunderhåll, en NAS-ögonblicksbild och en säkerhetskopiering av Home Assistant att starta samma minut bara för att huset är lugnt.

Verkliga fel vid säkerhetskopiering av Home Assistant rapporterar fel vid förberedelse av databaslås, och en användare spårade en konflikt till ett annat säkerhetskopieringstillägg. Det är en signal för förebyggande åtgärder: separera överlappande verktyg och kontrollera i applikationsloggen att steget före säkerhetskopieringen slutförs.

Sprid ut underhållsfönstren och dokumentera förväntad varaktighet. Om en säkerhetskopiering regelbundet väntar på Recorder bör du först identifiera vem som håller låset eller vilket databasproblem som finns. Öka inte tidsgränserna blint och kör inte fler kopior parallellt; fler säkerhetskopieringsjobb kan öka exakt den konkurrens du försöker undvika.

För råa filsystemskopior ska Home Assistant pausas och hela tillståndsuppsättningen bevaras

Om din policy kräver en direkt kopia av konfigurationskatalogen ska du stoppa Home Assistant ordentligt innan kopieringen, kontrollera att processen inte längre skriver och kopiera hela det nödvändiga tillståndet i stället för att välja ut enbart huvuddatabasfilen. Hantera externa databassäkerhetskopior med en egen konsistensmetod.

Den befintliga jämförelsen i ZimaSpace av säkerhetskopiering av Home Assistant medan det körs jämfört med när det är stoppat drar samma gräns: applikationsanpassad säkerhetskopiering i drift och rå filsystemskopiering är olika procedurer och bör inte blandas till en enda regel.

Starta om tjänsten efter kopieringen och kontrollera att Recorder fungerar normalt. Om säkerhetskopieringsmålet är nätverkslagring ska du även kontrollera att filuppsättningen blev färdig innan nätverksmonteringen togs bort. En stoppad kopiering som avbryts halvvägs är endast konsistent i den snäva bemärkelsen att källan var stilla; den är fortfarande inte en komplett återställningspunkt.

-15% OFF
Single board computer zimaboard2

Lita på säkerhetskopian först efter att en isolerad återställning har lyckats

Skapa en tillfällig Home Assistant-instans eller ett återställningsmål och återställ den aktuella säkerhetskopian utan att låna föränderliga filer från produktionen. Kontrollera befintliga användare, historikdata, instrumentpaneler, integrationer, automationsdefinitioner och minst en omstart. Dokumentera återställningstiden och eventuella manuella korrigeringar som krävs för att göra instansen användbar.

En versionsspecifik regression i Home Assistant Core 2026.7.2 dokumenterade att Recorder misslyckades med sin WAL-kontrollpunkt under steget före säkerhetskopieringen, varefter säkerhetskopieringshanteraren fick timeout medan den väntade på databaslåset. Denna felsignal före säkerhetskopieringen bör endast behandlas som belägg för den berörda sökvägen och som en misslyckad återställningspunkt – inte som bevis på att alla tidsgränser för lås har samma orsak.

Godkänn policyn när endast en säkerhetskopieringsmekanism åt gången ansvarar för konsistensen, när databasförberedelsen slutförs, när den föregående kända fungerande kopian behålls och när en återställning återskapar användare, historik, inställningar och normalt omstartsbeteende. Om återställningstestet misslyckas ska du bevara bevisen och skapa en ny stödd säkerhetskopia eller en kontrollerad stoppad kopia innan du raderar äldre återställningspunkter.

Support och tips

Mer att läsa

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.