Home Assistant wyświetla nieaktualne dane po zmianie ścieżki przechowywania

Eva Wong jest Technicznym pisarzem i stałym majsterkowiczem w ZimaSpace. Całe życie geek z pasją do homelabów i oprogramowania open-source, specjalizuje się w tłumaczeniu skomplikowanych koncepcji technicznych na przystępne, praktyczne przewodniki. Eva wierzy, że samodzielne hostowanie powinno być zabawą, a nie czymś onieśmielającym. Poprzez swoje samouczki umożliwia społeczności rozwiewanie tajemnic konfiguracji sprzętu, od budowy pierwszego NAS po opanowanie kontenerów Docker.

Nieaktualne dane Home Assistant po zmianie ścieżki przechowywania zwykle oznaczają, że działająca instancja odczytuje inny katalog /config lub inną bazę danych, niż zakładasz, a nie że Home Assistant odtworzył stary stan z pamięci.

Przestań zmieniać ścieżki i zachowaj zarówno starą, jak i nową lokalizację danych. W działającym kontenerze potwierdź źródło zamontowane w kontenerze, zidentyfikuj aktywną bazę danych i instancję, porównaj znaczniki czasu oraz unikalny stan, a dopiero potem popraw jedno mapowanie. Jeśli historia lub rejestry mogą zostać nadpisane, zatrzymaj Home Assistant przed kopiowaniem lub zmienianiem nazw czegokolwiek.

Potwierdź, którą ścieżkę faktycznie widzi działający kontener

Sprawdź działający kontener, a nie tylko plik Compose. Potwierdź źródło na hoście mapowane do /config, ustal, czy jest to montowanie wiązane, czy wolumen nazwany, oraz sprawdź, czy rozpoznane źródło istnieje i zawiera oczekiwane pliki konfiguracyjne. Poprawnie wyglądająca deklaracja może różnić się od konfiguracji działającego kontenera po niepełnym odtworzeniu.

Opis migracji podkreśla, że przeniesienie kontenera zależy od poprawnie zamontowanego wiązaniem katalogu konfiguracji z odpowiednimi uprawnieniami. Dlatego najpierw warto sprawdzić działające mapowanie; nie dowodzi to jednak, że każdy przypadek nieaktualnych danych wynika z problemu z uprawnieniami.

Gdy Home Assistant jest zatrzymany, utwórz nieszkodliwy plik znacznikowy w docelowej ścieżce na hoście, a następnie potwierdź, że ten sam znacznik jest widoczny w /config wewnątrz tymczasowego kontenera inspekcyjnego. Jeśli go nie ma, popraw mapowanie. Jeśli jest, przejdź do sprawdzenia bazy danych i tożsamości instancji.

Odróżnij starszą kopię plików od zewnętrznej bazy danych

Porównaj czasy modyfikacji i kilka unikalnych faktów konfiguracyjnych w starej i nowej ścieżce: nazwę automatyzacji, zmianę pulpitu, pomocnika lub ostatnią kopię zapasową. Jeśli nowy katalog jest po prostu starszą kopią, nie scalaj wybiórczo plików podczas działania Home Assistant; wybierz właściwy zestaw i skopiuj go jako spójną całość po zatrzymaniu usługi.

Sprawdź adres URL bazy danych Rejestratora. Przeniesienie /config nie przenosi zewnętrznej bazy MariaDB ani PostgreSQL, a przywrócona konfiguracja może nadal wskazywać poprzednią bazę danych. Jeśli bieżące encje wyglądają poprawnie, ale historia jest stara, bardziej prawdopodobny jest problem z bazą danych niż z całą konfiguracją.

Artykuł ZimaSpace o trwałych danych po ponownym utworzeniu stosu opisuje pokrewny tryb awarii: puste montowanie może wyglądać jak utrata danych, a starsze montowanie może sprawiać wrażenie cofnięcia danych.

Wyklucz zduplikowaną instancję i pamięć podręczną klienta

Potwierdź, że adres URL w przeglądarce, nazwa serwera, adres IP, identyfikator instancji i certyfikat należą do właściwego hosta Home Assistant. Podczas migracji stary rekord DNS, cel odwrotnego serwera proxy, wpis serwera w aplikacji mobilnej lub włączony stary host może kierować różnych klientów do różnych instancji.

Porównaj tę samą encję i znacznik czasu historii w prywatnej sesji przeglądarki oraz na drugim kliencie. Jeśli tylko jeden klient pokazuje nieaktualne dane, a dzienniki serwera i drugi klient są aktualne, wyczyść połączenie tego klienta lub dane pamięci podręcznej interfejsu zamiast ponownie zmieniać miejsce przechowywania.

Jeśli klienci naprzemiennie pokazują stary i nowy stan, zatrzymaj starą instancję i popraw cele DNS, proxy lub modułu równoważenia obciążenia. Podczas diagnozowania tożsamości nie pozwalaj, aby dwa kontrolery uruchamiały automatyzacje dla tych samych urządzeń.

Popraw jedno mapowanie i zachowaj kopię do wycofania zmian

Zatrzymaj Home Assistant, wykonaj migawkę lub skopiuj obie możliwe ścieżki i oznacz je hostem, datą oraz znanym stanem. Wybierz właściwy katalog /config i bazę danych jako spójny zestaw odzyskiwania. Popraw wyłącznie mapowanie kontenera lub adres URL bazy danych odpowiedzialne za potwierdzoną niezgodność.

Przed uruchomieniem sprawdź właściciela i uprawnienia do zapisu. Jeśli kontener może odczytywać wybraną ścieżkę, ale nie może w niej zapisywać, system może początkowo wyglądać poprawnie, a następnie przestać utrwalać nowy stan. Nie stosuj szerokich rekurencyjnych zmian uprawnień bez potwierdzenia tożsamości usługi i oczekiwanego właściciela.

Uruchom Home Assistant raz i sprawdź dzienniki przed wprowadzeniem kolejnych zmian. Jeśli pojawią się oczekiwane encje, pulpity, historia i najnowsze zmiany, przejdź do testowania trwałości. Jeśli nie, zatrzymaj usługę i wróć do oznaczonej kopii zamiast łączyć oba drzewa danych.

Sprawdź, czy właściwe dane przetrwają ponowne utworzenie i restart

Wprowadź jedną odwracalną zmianę testową, na przykład utwórz tymczasowego pomocnika lub zmień nazwę testowej automatyzacji. Uruchom ponownie Home Assistant i potwierdź, że zmiana pozostała. Następnie utwórz kontener ponownie na podstawie zapisanej konfiguracji wdrożenia i sprawdź to jeszcze raz.

Pozytywny wynik oznacza tę samą tożsamość instancji, oczekiwaną historię, aktualne rejestry, poprawne źródło montowania, pomyślne zapisy i brak zduplikowanego kontrolera. Potwierdź, że nowa kopia zapasowa zawiera wybrany stan, i przechowuj ją z dala od obu ścieżek migracji.

Zgłoś problem do dalszej analizy, jeśli dane zmieniają się w zależności od klienta, historia pochodzi z innej bazy danych niż bieżący stan albo właściwa ścieżka po ponownym uruchomieniu staje się tylko do odczytu. Zachowaj informacje o montowaniu, adres URL bazy danych, znaczniki czasu, dzienniki oraz dwie nietknięte kopie do wycofania zmian, aby kolejny krok mógł skupić się na pozostałej możliwości.

Wsparcie i wskazówki

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.