Så här separerar du data, cache och säkerhetskopior för Home Assistant-appen

Eva Wong är teknisk skribent och händig hemmabyggare på ZimaSpace. Som tekniknörd sedan barnsben med ett brinnande intresse för hemlabb och programvara med öppen källkodspecialiserar hon sig på att göra komplexa tekniska koncept begripliga genom praktiska, praktiska guider. Eva tycker att självhosting ska vara roligt, inte avskräckande. Genom sina handledningar hjälper hon communityn att göra hårdvaruinstallationer mindre mystiska, från att bygga sin första NAS till att bemästra Docker-containrar.

Separera Home Assistant-appdata, cache och säkerhetskopior genom att först avgöra vad som måste överleva ett fel, vad som kan återskapas automatiskt och vad som måste lagras utanför Home Assistant-värden. Beständig konfiguration och databastillstånd behöver stabil lagring och säkerhetskopiering; överflödig cache och tillfälliga filer bör inte omfattas av samma regler för lagringstid; säkerhetskopior bör inte vara beroende av den disk de är avsedda att återställa.

Den säkraste lagringsstrukturen utgår från funktion, inte katalognamn. Flytta inte en katalog till ”cachelager” bara för att den växer snabbt. Kontrollera om Home Assistant eller en kompletterande tjänst behöver dessa data för historik, identitet, parkoppling, autentiseringsuppgifter eller återställning innan du behandlar dem som överflödiga.

Klassificera data som auktoritativa, återskapningsbara eller återställningskopior

Auktoritativa appdata omfattar Home Assistant-konfiguration, hemligheter, integrationstillstånd, automationsdefinitioner och databasen eller annat tillstånd som du vill bevara. Data som kan återskapas omfattar nedladdade avbildningar, tillfälliga filer, paketcachar, omkodade filer och index som en tjänst kan återskapa utan att förlora hushållets konfiguration. Återställningskopior är säkerhetskopior och exporter som är avsedda att återskapa auktoritativa data efter ett fel.

Den här klassificeringen bör göras för varje tjänst. Home Assistant, MQTT, en databas, en omvänd proxy och Zigbee2MQTT kan ha olika beständiga data. Ett hanteringsgränssnitt kan komma ihåg stackdefinitionen utan att självt innehålla arbetslastdata; en förklaring till varför säkerhetskopior av containerhantering kan utelämna arbetslaststatus visar varför ”Jag säkerhetskopierade Docker” kan betyda mycket mindre än väntat.

Förvara Home Assistant-konfigurationen och den aktiva databasen på stabil lagring

Vid en containerdriftsättning måste sökvägen till Home Assistant-konfigurationen finnas kvar oberoende av containeravbildningen. Om Recorder-databasen ligger kvar i det konfigurationsträdet är den aktiv programstatus, inte cache. Lägg dessa data på en tillförlitlig SSD eller annan lagring med låg latens och tillräckligt med ledigt utrymme för normal databashantering och återställningsåtgärder.

Recorder-aktivitet kan orsaka kontinuerliga små skrivningar, särskilt när många entiteter ändras ofta. En långvarig diskussion i Home Assistant-communityn om hur lagringstiden för Recorder påverkar databastillväxten är användbar eftersom den fokuserar på att minska onödig historik snarare än att dölja databasaktiviteten genom att flytta hela konfigurationsträdet till tillfällig lagring.

Flytta endast bevisat överflödig cache och tillfälliga filer

Cache och tillfällig lagring kan ligga på en separat snabb temporär lagringsenhet, ett begränsat minnesbaserat filsystem eller en särskild katalog med regler för rensning - men bara när det är ofarligt att förlora innehållet. Starta om den berörda tjänsten efter att ha rensat en testkopia och kontrollera att den återskapar det den behöver. Om tjänsten förlorar parkopplingar, historik, användare, autentiseringsuppgifter eller konfiguration var data inte överflödig.

Att separera data som ändras ofta kan minska antalet skrivningar och göra säkerhetskopiorna mindre, men det får aldrig dölja nödvändiga filer under en montering eller skapa ett dolt RAM-beroende. ZimaSpaces guide för att separera Home Assistant-cache och tillfällig lagring ger ett fokuserat arbetssätt för att identifiera data som kan byggas upp igen innan du ändrar monteringar.

Förvara säkerhetskopior på en separat felzon

En säkerhetskopia som lagras bredvid den aktiva konfigurationen skyddar mot en felaktig ändring, men inte mot SSD-fel, stöld av värden, filsystemskorruption eller en trasig lagringskontroller. Kopiera Home Assistant-säkerhetskopior till en NAS, en annan server, flyttbar lagring eller en plats utanför hemmet, beroende på vilka fel du vill kunna klara dig igenom. Förvara återställningsnyckeln eller inloggningsuppgifterna någonstans där de fortfarande är åtkomliga när Home Assistant är nere.

Säkerhetskopiorna måste också vara internt konsekventa. Volymarkiv är användbara, men tjänster som lagrar tillstånd kan behöva en samordnad dump, ögonblicksbild eller kopia medan tjänsten är stoppad. Ett mönster för säkerhetskopiering och återställning av beständiga volymer förklarar portabilitetsproblemet, medan ett återställningstest som visar att säkerhetskopian går att använda betonar att ett säkerhetskopieringsjobb inte är bevisat förrän du kan återställa användbart tillstånd från det.

Testa layouten med övningar för radering, omstart och återställning

När sökvägarna har separerats testar du varje roll enligt dess löfte. Rensa en flyktig cache och kontrollera att den byggs upp igen. Återskapa Home Assistant-containern och kontrollera att den beständiga konfigurationen finns kvar. Starta om värden och verifiera att monteringar blir tillgängliga innan beroende tjänster startar. Återställ en aktuell säkerhetskopia till ett tillfälligt mål och kontrollera användare, automatiseringar, integrationer och representativ historik eller tillstånd i en kompletterande tjänst.

Dokumentera sedan ägarskap och behörigheter. En sökväg som är helt separerad på disken kan ändå sluta fungera efter en migrering om den nya containerns UID/GID inte kan läsa den. Anteckna monteringspunkter, filsystemets ägarskap, om den ingår i säkerhetskopior, lagringstid och vilken tjänst som får radera respektive katalog.

Dataroll Typisk lagring Återställningsregel
Home Assistant-konfiguration/databas Stabil SSD-/appdatapool Beständig och säkerhetskopierad
Flyktig cache/tillfällig lagring Tillfällig SSD eller begränsad tillfällig lagring Måste kunna byggas upp säkert igen
Säkerhetskopior Separat mål på värd, mediaenhet eller annan plats Återställning testad
Större arkiv Kapacitetsinriktad lagring Skydd efter värde

Separationen är lyckad när en rensning av cache inte kan förstöra Home Assistant, när återskapade containrar inte kan radera appens tillstånd och när förlusten av den primära enheten för appdata inte förstör den enda återställningskopian. Lagringsrollerna bör göra det tydligt vad som händer vid fel innan något går sönder.

Installation av NAS och server

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.