Powtarzająca się nocna aktywność dysku w Home Assistant to zwykle zaplanowane zadania, a nie dowód na awarię nośnika lub narzędzia Recorder.
Najszybsza diagnoza polega na zestawieniu okresu wzmożonej aktywności ze znacznikami czasu Home Assistant, dodatków, bazy danych i hosta, zanim zmienisz zasady przechowywania danych lub przeniesiesz bazę. Konserwacja Recorder, automatyczne kopie zapasowe, rotacja logów, zapisy kamer lub dodatków oraz zadania kopii zapasowych na poziomie hosta mogą powodować podobne skoki aktywności. Najpierw potraktuj to jako problem z synchronizacją w czasie: ustal, który proces zapisuje dane, jak długo to trwa i czy to samo zadanie kończy się prawidłowo każdej nocy.
Dopasuj skok aktywności dysku do zaplanowanego zadania, zanim cokolwiek dostroisz
Zacznij od jednogodzinnego przedziału obejmującego powtarzającą się aktywność i zanotuj opóźnienie dysku, szybkość zapisu, operacje wejścia-wyjścia procesu lub kontenera oraz dokładne godziny rozpoczęcia i zakończenia. Wzorzec rozpoczynający się niemal o tej samej minucie każdej nocy silnie sugeruje zaplanowaną konserwację; wzorzec przesuwający się wraz z aktywnością domowników częściej wskazuje na integrację, kamerę lub obciążenie generowane przez urządzenie.
Recorder w Home Assistant regularnie wykonuje zadania związane z przechowywaniem danych, a obserwacje dotyczące harmonogramu publikowane przez społeczność pokazują, że czyszczenie bazy danych odbywa się we wczesnych godzinach porannych, podczas gdy statystyki długoterminowe są aktualizowane według własnego harmonogramu. Dlatego harmonogram czyszczenia Recorder jest dobrym punktem odniesienia, gdy dysk budzi się o powtarzalnej nocnej porze.
Nie zmniejszaj okresu przechowywania danych, nie wyłączaj historii ani nie przenoś bazy tylko dlatego, że dysk jest aktywny. Najpierw potwierdź, że zapisów dokonuje Recorder. Jeśli skok aktywności zaczyna się przed zadaniem bazodanowym lub po nim, porównaj harmonogramy kopii zapasowych, logi Dockera lub dodatków, migawki systemu plików, replikację NAS, skanowanie antywirusowe oraz wszelkie usługi multimedialne lub kamerowe korzystające z tego samego dysku.
Cztery typowe przyczyny mają różne profile operacji wejścia-wyjścia
Głównymi podejrzanymi są konserwacja Recorder, automatyczne kopie zapasowe, intensywnie zapisujące integracje lub dodatki oraz zadania magazynowe na poziomie hosta. Mogą się nakładać, dlatego przydatne informacje to nie samo „dysk jest zajęty”, lecz także to, czy podczas tego samego przedziału zapisami obciążany jest plik bazy danych, miejsce docelowe kopii zapasowej, ścieżka logów czy inny kontener.
System automatycznych kopii zapasowych Home Assistant początkowo korzystał z harmonogramu we wczesnych godzinach porannych, a później dodano możliwość konfiguracji czasu przez użytkownika. Oznacza to, że aktywność związana z kopiami może naturalnie przypadać w pobliżu konserwacji bazy danych. Historia wydań dotycząca harmonogramu automatycznych kopii zapasowych przypomina, aby sprawdzić skonfigurowane okno kopii zamiast zakładać, że cała nocna aktywność wejścia-wyjścia pochodzi od Recorder.
Potraktuj poniższe profile jako hipotezy i zmieniaj tylko jeden harmonogram naraz. Przyczyna jest potwierdzona, gdy przesunięcie lub wyłączenie pojedynczego zadania powoduje odpowiednie przesunięcie skoku aktywności dysku, a pozostałe obciążenie Home Assistant pozostaje bez zmian.
Przyczyna 1: Czyszczenie lub reorganizacja Recorder
- Profil: intensywne zapisy do bazy danych o przewidywalnej porze we wczesnych godzinach porannych.
- Sprawdzenie: porównaj logi Recorder, rozmiar bazy danych i opóźnienie pamięci masowej w tym przedziale.
- JEŚLI–WÓWCZAS: jeśli aktywność odpowiada harmonogramowi czyszczenia lub reorganizacji i kończy się prawidłowo, jest to zaplanowana konserwacja, a nie niewyjaśniona pętla.
Przyczyna 2: Automatyczne kopie zapasowe lub kopie dodatków
- Profil: odczyty danych aplikacji oraz duże sekwencyjne zapisy do lokalnej, USB lub sieciowej pamięci kopii zapasowych.
- Sprawdzenie: porównaj czas rozpoczęcia zadania kopii oraz przepustowość miejsca docelowego.
- JEŚLI–WÓWCZAS: jeśli przesunięcie harmonogramu kopii przesuwa skok aktywności dysku, zachowaj kopie i przenieś ich okno zamiast ograniczać zapisy bazy danych.
Przyczyna 3: Logowanie, kamery lub intensywnie komunikujące się integracje
- Profil: ciągłe lub powtarzające się małe zapisy związane ze zdarzeniami encji, a nie z jednym oknem konserwacji.
- Sprawdzenie: zidentyfikuj szybko zmieniające się encje, logowanie debugowania, nagrania z kamer oraz bazy danych dodatków.
- JEŚLI–WÓWCZAS: jeśli zapisy trwają także wtedy, gdy nie działają zadania zaplanowane, ogranicz konkretne źródło zamiast wyłączać funkcje Recorder globalnie.
Przyczyna 4: Inne zadanie hosta korzysta z tego samego dysku
- Profil: opóźnienie Home Assistant rośnie, podczas gdy operacje wejścia-wyjścia wykonuje inny kontener, migawka, zadanie scrubowania lub proces replikacji.
- Sprawdzenie: przeanalizuj przypisanie operacji wejścia-wyjścia na poziomie hosta, a nie tylko logi Home Assistant.
- JEŚLI–WÓWCZAS: jeśli przeniesienie sąsiedniego zadania usuwa nocne przeciążenie, Home Assistant był jego ofiarą, a nie źródłem.
Odróżnij zdrową konserwację od nieprawidłowej presji zapisu
Zdrowy zaplanowany skok aktywności rozpoczyna się, wykonuje ograniczoną ilość pracy i wraca do normalnego poziomu bez błędów bazy danych ani późniejszego wzrostu opóźnień końcowych. Sygnałami ostrzegawczymi są wydłużające się z nocy na noc okno aktywności, powtarzające się błędy uszkodzenia lub blokad bazy danych, zapełniony system plików albo zadanie, które nigdy nie osiąga stabilnego punktu zakończenia.
Przypadek optymalizacji Recorder pokazuje, jak ograniczenie niepotrzebnie rejestrowanego stanu może zmniejszyć przyrost bazy danych, a tym samym ograniczyć przyszłe zadania konserwacyjne i kopie zapasowe. Stosuj takie ograniczenie ilości rejestrowanych danych dopiero wtedy, gdy dowody wskazują, że rzeczywistym problemem jest ilość danych Recorder, a nie jako odruch na każdą aktywność diody dysku.
Granica problemu przebiega tam, gdzie pojawia się wpływ na użytkownika lub brak zapasu czasu na zakończenie zadania. Jeśli nocne zadanie kończy się przed okresem aktywności domowników, a opóźnienie pamięci masowej pozostaje prawidłowe, sama aktywność nie jest usterką. Jeśli konserwacja koliduje z porannymi automatyzacjami, kopie zapasowe wielokrotnie kończą się niepowodzeniem lub baza zbliża się do limitu wolnego miejsca, należy rozważyć zmianę okresu przechowywania, harmonogramu, pamięci masowej albo rozdzielenie obciążeń.
Przeprowadź jednonocny test izolacyjny i sprawdź pierwotne okno
Zachowaj normalną konfigurację Home Assistant i przenieś tylko jedno podejrzane zadanie na inną godzinę. Przez obie noce rejestruj szybkość zapisu na dysku, czas oczekiwania na operacje wejścia-wyjścia, aktywność bazy danych oraz procesy zapisujące na poziomie kontenerów. Nie wyłączaj jednocześnie kilku integracji i kopii zapasowych, ponieważ poprawa wyniku nie pokaże, która zmiana miała znaczenie.
Powiązana analiza ZimaSpace dotycząca aktywności Home Assistant w tle wykorzystuje tę samą zasadę przypisywania przyczyny: zidentyfikuj właściciela zakolejkowanego lub zaplanowanego zadania, zanim uznasz skok zużycia zasobów za problem z wydajnością sprzętu.
System przechodzi test, gdy zidentyfikowano nocny proces zapisujący, jego aktywność jest ograniczona, baza danych i kopie zapasowe kończą się pomyślnie, ilość wolnego miejsca pozostaje bezpieczna, a normalne lokalne sterowanie nie jest zakłócane w pierwotnym oknie. Przejdź do diagnostyki kondycji pamięci masowej lub odzyskiwania bazy danych dopiero wtedy, gdy ten sam kontrolowany test wykaże utrzymujące się błędy, nieograniczony czas działania albo opóźnienie operacji wejścia-wyjścia, którego nie da się powiązać z żadnym uzasadnionym zaplanowanym zadaniem.
Wsparcie i wskazówki
Więcej do przeczytania

Jak zoptymalizować połączenia z bazą danych Home Assistant dla kontenerów działających jednocześnie
Dostosuj zewnętrzną bazę danych Recordera na podstawie zmierzonej liczby aktywnych połączeń i opóźnień, zamiast zwiększać maksymalną liczbę połączeń lub kopiować pulę z innego hosta.

Jak zapobiegać duplikowaniu zadań lub importów w Home Assistant
Używaj śladów i unikalnych kluczy operacji, aby można było bezpiecznie ponawiać automatyzacje i importy bez tworzenia zduplikowanych działań ani rekordów.

Jak naprawić Home Assistant po zapełnieniu woluminu bazy danych
Odzyskaj działanie po całkowitym zapełnieniu woluminu Recordera bez wcześniejszego usuwania dowodów, a następnie ogranicz przyrost danych i potwierdź, że historia oraz automatyzacje przetrwają ponowne...

