Jak oddzielić dane aplikacji Home Assistant, pamięć podręczną i kopie zapasowe

Eva Wong jest redaktorką techniczną i rezydentką majsterkowania w ZimaSpace. Jest geekiem od zawsze, z pasją do domowych laboratoriów i oprogramowania open source, a jej specjalnością jest przekładanie złożonych zagadnień technicznych na przystępne, praktyczne poradniki. Eva wierzy, że samodzielne hostowanie powinno sprawiać radość, a nie onieśmielać. Dzięki swoim samouczkom pomaga społeczności oswoić konfigurację sprzętu, od budowy pierwszego serwera NAS po opanowanie kontenerów Docker.

Rozdziel dane aplikacji Home Assistant, pamięć podręczną i kopie zapasowe, najpierw ustalając, co musi przetrwać awarię, co można automatycznie odtworzyć i co musi znajdować się poza hostem Home Assistant. Trwała konfiguracja i stan bazy danych wymagają stabilnego nośnika i kopii zapasowej; zbędne dane podręczne i pliki tymczasowe nie powinny podlegać tym samym zasadom przechowywania, a kopie zapasowe nie powinny zależeć od dysku, który mają pomóc odzyskać.

Najbezpieczniejszy układ opiera się na roli danych, a nie nazwie katalogu. Nie przenoś katalogu do „pamięci podręcznej” tylko dlatego, że szybko rośnie. Zanim uznasz dane za zbędne, sprawdź, czy Home Assistant lub powiązana usługa potrzebuje ich do przechowywania historii, identyfikacji, parowania, obsługi danych uwierzytelniających lub odzyskiwania.

Sklasyfikuj dane jako autorytatywne, możliwe do odtworzenia lub kopię odzyskiwania

Autorytatywne dane aplikacji obejmują konfigurację Home Assistant, sekrety, stan integracji, definicje automatyzacji oraz bazę danych lub inne dane, które chcesz zachować. Dane możliwe do odtworzenia obejmują pobrane obrazy, pliki tymczasowe, pamięć podręczną pakietów, pliki po transkodowaniu i indeksy, które usługa może odtworzyć bez utraty konfiguracji domu. Kopie odzyskiwania to kopie zapasowe i eksporty przeznaczone do odtworzenia autorytatywnego stanu po awarii.

Klasyfikację należy przeprowadzić osobno dla każdej usługi. Home Assistant, MQTT, baza danych, odwrotne proxy i Zigbee2MQTT mogą mieć różne dane trwałe. Interfejs zarządzania może pamiętać definicję stosu, nie zawierając samych danych usług; wyjaśnienie, dlaczego kopie zapasowe systemów zarządzania kontenerami mogą nie obejmować danych usług pokazuje, dlaczego stwierdzenie „zrobiłem kopię zapasową Dockera” może oznaczać znacznie mniej, niż się spodziewasz.

Przechowuj konfigurację Home Assistant i aktywną bazę danych na stabilnym nośniku

W przypadku wdrożenia kontenerowego ścieżka konfiguracji Home Assistant musi być trwale zachowana niezależnie od obrazu kontenera. Jeśli baza danych rejestratora nadal znajduje się w tym drzewie konfiguracji, jest aktywnym stanem aplikacji, a nie pamięcią podręczną. Umieść ten stan na niezawodnym dysku SSD lub innym nośniku o krótkim czasie dostępu, z wystarczającą ilością wolnego miejsca na zwykłe operacje na bazie danych i jej odzyskiwanie.

Aktywność rejestratora może powodować ciągłe, niewielkie zapisy, zwłaszcza gdy wiele encji często się zmienia. Długi wątek społeczności Home Assistant o wpływie przechowywania danych przez rejestrator na rozrost bazy danych jest przydatny, ponieważ skupia się na ograniczaniu zbędnej historii, a nie na ukrywaniu intensywnego zapisu do bazy przez przeniesienie całego drzewa konfiguracji na pamięć tymczasową.

Przenoś tylko sprawdzone, zbędne dane podręczne i tymczasowe

Pamięć podręczna i pliki tymczasowe mogą znajdować się na osobnym, szybkim urządzeniu roboczym, systemie plików opartym na ograniczonej pamięci lub w dedykowanym katalogu z zasadami czyszczenia — ale tylko wtedy, gdy ich utrata nie zaszkodzi. Po wyczyszczeniu kopii testowej uruchom ponownie odpowiednią usługę i sprawdź, czy odtworzy potrzebne dane. Jeśli usługa utraci sparowane urządzenia, historię, użytkowników, dane uwierzytelniające lub konfigurację, te dane nie były zbędne.

Oddzielenie danych często ulegających zmianom może ograniczyć liczbę zapisów i zmniejszyć rozmiar kopii zapasowych, ale nigdy nie powinno ukrywać wymaganych plików pod punktem montowania ani tworzyć ukrytej zależności od pamięci RAM. Materiał ZimaSpace dotyczący oddzielania pamięci podręcznej i tymczasowej Home Assistant wskazuje konkretne sposoby rozpoznania danych, które można odbudować, przed zmianą punktów montowania.

Przechowuj kopie zapasowe w innej domenie awarii

Kopia zapasowa przechowywana obok aktywnej konfiguracji chroni przed błędną edycją, ale nie przed awarią dysku SSD, kradzieżą hosta, uszkodzeniem systemu plików ani awarią kontrolera pamięci masowej. Kopiuj kopie zapasowe Home Assistant na serwer NAS, inny serwer, nośnik wymienny lub do lokalizacji zewnętrznej, zależnie od tego, przed jaką awarią chcesz się zabezpieczyć. Klucz odzyskiwania lub dane uwierzytelniające przechowuj w miejscu dostępnym również wtedy, gdy sam Home Assistant nie działa.

Kopie zapasowe muszą być również wewnętrznie spójne. Archiwa woluminów są przydatne, ale usługi przechowujące stan mogą wymagać skoordynowanego zrzutu, migawki lub kopii wykonanej po zatrzymaniu usługi. Niezależny wzorzec tworzenia kopii zapasowych i przywracania trwałych woluminów wyjaśnia problem przenośności, natomiast test przywracania potwierdzający użyteczność kopii zapasowej podkreśla, że zadanie tworzenia kopii nie jest sprawdzone, dopóki nie uda się odzyskać z niej przydatnego stanu.

Przetestuj układ, usuwając dane, ponownie uruchamiając system i wykonując próby przywracania

Po rozdzieleniu ścieżek przetestuj każdą rolę zgodnie z jej przeznaczeniem. Wyczyść usuwalną pamięć podręczną i sprawdź, czy zostanie odbudowana. Odtwórz kontener Home Assistant i sprawdź, czy trwała konfiguracja pozostała nienaruszona. Uruchom ponownie hosta i sprawdź, czy punkty montowania są dostępne, zanim uruchomią się zależne od nich usługi. Przywróć niedawną kopię zapasową w tymczasowej lokalizacji i sprawdź użytkowników, automatyzacje, integracje oraz przykładową historię lub stan usług towarzyszących.

Następnie udokumentuj właścicieli i uprawnienia. Ścieżka idealnie odseparowana na dysku nadal może przestać działać po migracji, jeśli nowy UID/GID kontenera nie będzie mógł jej odczytać. Zapisz punkty montowania, właściciela systemu plików, uwzględnienie w kopiach zapasowych, okres przechowywania oraz usługę, której wolno usuwać poszczególne katalogi.

Rola danych Typowa pamięć masowa Zasada odzyskiwania
Konfiguracja/baza danych Home Assistant Stabilna pula dysków SSD/danych aplikacji Trwałe i objęte kopią zapasową
Usuwalna pamięć podręczna/dane tymczasowe Dysk SSD na dane tymczasowe lub ograniczona pamięć tymczasowa Musi umożliwiać bezpieczne odtworzenie
Kopie zapasowe Oddzielny cel: host, multimedia i lokalizacja zewnętrzna Przywracanie przetestowane
Archiwa zbiorcze Pamięć masowa zorientowana na pojemność Chronione odpowiednio do wartości

Rozdzielenie jest skuteczne, gdy usunięcie pamięci podręcznej nie może zniszczyć Home Assistant, odtworzenie kontenerów nie może wymazać stanu aplikacji, a utrata głównego urządzenia z danymi aplikacji nie oznacza utraty jedynej kopii zapasowej. Role pamięci masowej powinny jasno określać skutki awarii, zanim do niej dojdzie.

Konfiguracja NAS-a i serwera

Więcej do przeczytania

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.