Zo scheid je appgegevens, cache en back-ups van Home Assistant

Eva Wong is de Technisch Schrijver en en vaste knutselaar bij ZimaSpace. Een levenslange geek met een passie voor homelabs en open-source software, zij is gespecialiseerd in het vertalen van complexe technische concepten naar toegankelijke, praktische handleidingen. Eva gelooft dat zelf-hosting leuk moet zijn, niet intimiderend. Met haar tutorials stelt ze de community in staat om hardware-setup te ontrafelen, van het bouwen van hun eerste NAS tot het beheersen van Docker-containers.

Scheid Home Assistant-appgegevens, cache en back-ups door eerst te bepalen wat een storing moet overleven, wat automatisch opnieuw kan worden opgebouwd en wat buiten de Home Assistant-host moet staan. Persistente configuratie en databasestatus verdienen stabiele opslag en back-ups; wegwerpbare cache- of tijdelijke bestanden mogen niet dezelfde bewaarbeleidsregels volgen; back-ups mogen niet afhankelijk zijn van de schijf waarvan ze moeten herstellen.

De veiligste indeling is gebaseerd op rollen en niet op mapnamen. Verplaats een directory niet zomaar naar ‘cachopslag’ omdat die snel groeit. Controleer eerst of Home Assistant of een begeleidende service die gegevens nodig heeft voor geschiedenis, identiteit, koppelingen, inloggegevens of herstel, voordat je ze als wegwerpbaar behandelt.

Classificeer gegevens als gezaghebbend, opnieuw op te bouwen of herstelkopie

Gezaghebbende appgegevens omvatten Home Assistant-configuratie, geheimen, integratiestatus, automatiseringsdefinities en de database of andere status die je wilt behouden. Opnieuw op te bouwen gegevens omvatten gedownloade afbeeldingen, tijdelijke bestanden, pakketcache, transcoderingen en indexen die een service opnieuw kan maken zonder huishoudelijke configuratie te verliezen. Herstelkopieën zijn back-ups en exports die bedoeld zijn om de gezaghebbende status na een storing opnieuw op te bouwen.

Deze classificatie moet per service worden uitgevoerd. Home Assistant, MQTT, een database, reverse proxy en Zigbee2MQTT kunnen elk een andere persistente status hebben. Een beheerinterface kan de stackdefinitie onthouden zonder de workloadgegevens zelf te bevatten; waarom back-ups van containerbeheer de workloadstatus kunnen weglaten laat zien waarom ‘ik heb Docker geback-upt’ veel minder kan betekenen dan verwacht.

Bewaar Home Assistant-configuratie en actieve database op stabiele opslag

Bij een containerimplementatie moet het configuratiepad van Home Assistant onafhankelijk van de containerimage blijven bestaan. Als de recorderdatabase in die configuratiestructuur blijft staan, is dit actieve applicatiestatus en geen cache. Plaats deze status op een betrouwbare SSD of andere opslag met lage latentie en voldoende vrije ruimte voor normaal databasewerk en herstelbewerkingen.

Recorderactiviteit kan voortdurend kleine schrijfbewerkingen veroorzaken, vooral wanneer veel entiteiten vaak veranderen. Een langlopende Home Assistant-communitydiscussie over hoe recorderbewaring de databasegroei beïnvloedt is nuttig omdat deze zich richt op het verminderen van onnodige geschiedenis, in plaats van databaseactiviteit te verbergen door de volledige configuratiestructuur naar tijdelijke opslag te verplaatsen.

Verplaats alleen aantoonbaar wegwerpbare cache en tijdelijk werk

Cache en tijdelijke opslag kunnen op een afzonderlijk snel scratchapparaat, een begrensd geheugengebaseerd bestandssysteem of een speciale directory met opruimregels staan, maar alleen als verlies ervan onschadelijk is. Start de betreffende service opnieuw nadat je een testkopie hebt gewist en controleer of de service alles wat nodig is opnieuw opbouwt. Als de service koppelingen, geschiedenis, gebruikers, inloggegevens of configuratie verliest, waren de gegevens niet wegwerpbaar.

Het scheiden van schrijfactiviteit kan het aantal schrijfbewerkingen verminderen en back-ups kleiner maken, maar het mag noodzakelijke bestanden nooit verbergen onder een mount of een verborgen afhankelijkheid van RAM creëren. De ZimaSpace-handleiding voor het scheiden van Home Assistant-cache en tijdelijke opslag biedt een gerichte aanpak om gegevens die opnieuw kunnen worden opgebouwd te identificeren voordat je mounts wijzigt.

Plaats back-ups in een ander storingsdomein

Een back-up die naast de actieve configuratie staat, beschermt tegen een verkeerde bewerking, maar niet tegen een SSD-storing, diefstal van de host, beschadiging van het bestandssysteem of een defecte opslagcontroller. Kopieer Home Assistant-back-ups naar een NAS, een andere server, verwisselbare opslag of een externe locatie, afhankelijk van de storing waartegen je je wilt beschermen. Bewaar de herstelsleutel of inloggegevens op een plaats die toegankelijk blijft wanneer Home Assistant zelf offline is.

Back-ups moeten bovendien intern consistent zijn. Volumearchieven zijn nuttig, maar statusbewuste services hebben mogelijk een gecoördineerde dump, snapshot of kopie van een gestopte service nodig. Een onafhankelijke uitleg over een patroon voor het back-uppen en herstellen van persistente volumes verduidelijkt het overdraagbaarheidsprobleem, terwijl een hersteltest die bewijst dat de back-up bruikbaar is benadrukt dat een back-uptaak pas bewezen is wanneer je er bruikbare status mee kunt herstellen.

Test de indeling met verwijder-, herstart- en hersteltests

Test na het scheiden van de paden elke rol volgens de bijbehorende belofte. Wis een wegwerpbare cache en controleer of deze opnieuw wordt opgebouwd. Maak de Home Assistant-container opnieuw aan en controleer of de persistente configuratie behouden blijft. Start de host opnieuw op en controleer of de mounts beschikbaar zijn voordat afhankelijke services starten. Herstel een recente back-up naar een tijdelijke bestemming en controleer gebruikers, automatiseringen, integraties en representatieve geschiedenis of status van begeleidende services.

Documenteer daarna eigenaarschap en rechten. Een pad dat op schijf perfect gescheiden is, kan na een migratie alsnog mislukken als de nieuwe container-UID/GID het niet kan lezen. Leg mountpunten, bestandssysteemeigenaarschap, opname in back-ups, bewaartermijn en de service die elke directory mag verwijderen vast.

Gegevensrol Typische opslag Herstelregel
Home Assistant-configuratie/database Stabiele SSD/app-datapool Persistent en geback-upt
Wegwerpbare cache/tijdelijke bestanden Scratch-SSD of begrensde tijdelijke opslag Moet veilig opnieuw kunnen worden opgebouwd
Back-ups Afzonderlijke host/medium/externe bestemming Herstel getest
Bulkarchieven Opslag gericht op capaciteit Beschermd volgens de waarde

De scheiding is geslaagd wanneer het verwijderen van cache Home Assistant niet kan beschadigen, het opnieuw aanmaken van containers de appstatus niet kan wissen en het verlies van het primaire app-datapparaat niet de enige herstelkopie vernietigt. Opslagrollen moeten het gedrag bij storingen duidelijk maken voordat er iets misgaat.

NAS- en serverconfiguratie

Meer om te lezen

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.