Brak możliwości przywrócenia systemu z pełnej kopii

Nie wiem czy rozwiązanie jest proste ale jakoś nic mi nie przychodzi tak na szybko do głowy co to może być. Wersja core 2023.3.3 i mam wrażenie, że od niej się to zaczęło ale pewien nie jestem. Dzisiaj chciałem zaktualizować system do wersji 2023.4.6 więc standardowo ze względu, że jeszcze aktualizowalem inne składniki np hacs, przed aktualizacją core utworzyłem kopie przez
Home Assistant Google Drive Backup. Ze względu na to że coś nie pyklo podczas aktualizacji brokera ( w sumie to pyklo tylko wyłączył się broker i myślałem że nie halo) spróbowałem przywrócić system i niespodzianka. Po potwierdzeniu że chce przywrócić pełną kopię nic się nie dzieje. Przycisk dalej jest aktywny i nic. HA działa tak jakbym nic od niego nie chciał. No i wstrzymałem się z aktualizacją core bo nie mam pojęcia jak to naprawić. Z drugiej strony zastanawia mnie jeszcze jedna rzecz pełna kopia zapasowa zajmuje 2,5 GB a podejrzalem plik z bazą i sam plik ma 8 GB. W sumie to nie rozumiem za bardzo jak miałoby to wraz historia zostać przywrócone z tego pliku no ale nie w tym problem. Na pewno z baza muszę zrobić porządek.
HA postawiony natywnie na NUC jeżeli miałoby to znaczenie i działa raczej płynnie.
Spotkał się ktoś z czymś takim ostatnio? Czy jedynym wyjściem jest aktualizacją core i liczyć że błąd się naprawi?

Przy takich rozmiarach plików reakcja na kliknięcie może trwać nawet kilkadziesiąt minut.

To, że nie widać że coś się dzieje nie znaczy, że się nie dzieje.
Reakcje na tego typu czynności które wykonujesz widać w logach Supervisora.

Rozmiar bazy jest raczej niezdrowy, nie ustawiłeś czasem “zasięgu rekordera” ponad kilkanaście dni?

A czy wtedy powinien być aktywny przycisk przywróć czy nie powinien się wyszarzyc? Wydaje mi się że tak zawsze było ale może tylko mi się zdawało.
Co do pliku bazy to przyznaje nie zaglądałem do niego od dawna a to z tego względu że działało to płynnie ale nic nie grzebałem natomiast ostatnio przybyło mi kilka urządzeń z kilkunastoma encjami odczytywanym w czasie rzeczywistym a zmiany następują kilka razy na sekundę choć nie wiem czy to wszystko się zapisuje ale chyba ma wpływ na wielkosc. Ostatnio właśnie bardzo mocno przyrosła wielkość plików kopii o 1 GB wcześniej było 1.2-1.5 teraz 2.5 GB

W takim wypadku trzeba throttlować te dane np. ograniczając do jednego odczytu na minutę (jeśli to coś szybkozmiennego można przepuścić przez jakieś filtry może w rodzaju mediany, średniej itp.?) no nie mam pojęcia w jakim wypadku byłby sens zbierać tak gęste dane.

Generalnie plik backupu jest zwykłym linuxowym archiwum, więc w zasadzie pod dowolnym systemem możesz sprawdzić czy zawiera on w środku bazę danych o wielkości 8GB (możliwe, że baza jest na tyle “niegęstym” plikiem, że się dobrze kompresuje).
W Windows do podejrzenia zawartości możesz użyć np. 7zip.


A teraz przechodząc do konkretów

  • po pierwsze musisz zakładać, że plik backupu może być uszkodzony
  • po drugie wywołanie tworzenia lub odtwarzania backupu może zatrzymywać w pewnych wypadkach Dodatki (generalnie to sugeruję przed ręcznym utworzeniem Backupu zatrzymać je tymczasowo samodzielnie, szczególnie jeśli któryś z nich generuje masowo dane).
  • po 3 warto by było się przyjrzeć jakie masz faktyczne problemy (bo wspomniałeś, że jakieś masz) i je pousuwać jeśli to możliwe
  • po 4 generalnie każda aktualizacja proponuję cząstkowe backupu (a nie pełne)

Qurcze może to i możliwe jest. Generalnie mogę taki backup zrobić w każdej chwili a raczej podjąć jego próbę. I tu ciekawostka jeżeli robię backup przez integracje googla to cały backup idzie niby bez problemów. Spróbowałem jednak zrobić backup bezpośrednio z systemu i tam już wali błędem raczej informacyjnym (żeby zajrzeć do logów supervisora) i normalnie go kończy. W logach supervisora nie pokazuje błędów niby zakończył backup 11 plikami z sukcesem.
Ale czy jest w stanie przywrócić z tego pliku - nie próbowałem jeszcze trochę się obawiam. Wziąłem się za Twoją radą za bazę danych i zmniejszyłem ją z ponad 8 GB do 1,8 GB.

Masz na myśli jakieś szczególne bo trochę urządzeń mam i ruch a pewno jest. (np broker albo z2m??)

Generalnie cały HA pracuje ładnie i raczej nie ma większych problemów albo o nich nie wiem. Wspominałem o tym, że jak zaktualizowałem do wersji core 2023.3.3 to wydaje mi się, że już wtedy wystąpił problem z przywróceniem backupu czyli około miesiąca temu ale ewidentnie po zmianie core.

Generalnie staram się tak robić dlatego dzisiaj zaktualizowałem wszystko za wyjątkiem core bo ten niesie dużo zmian tak jak tutaj pisaliście.
Zastanawiam się czy po prostu nie iść na żywioł i nie zaktualizować - może nowe core naprawi babola choć z reguły do hazardzistów nie należę trochę dużo mam do stracenia.
Nie wiem czy dobrze to opisałem ale system działa ok nie widzę, żadnych problemów, a trochę przez przypadek a raczej moją nieuwagę chciałem przywrócić pełny system do wersji z wczoraj i nie poszło- wyszło, że coś nie halo.

Baza się dobrze kompresuje - sprawdziłem zawartość losowego backupu u siebie - homeassistant.tar mający łącznie koło 3GB (z czego większość to baza) po spakowaniu do gzipa ma niecałe 850MB.

Po zatrzymaniu Dodatków przed tworzeniem backupu na 99.9% plik pełnego backupu nie będzie uszkodzony.

Supervisor potrafi sobie zamrozić te części systemu o których wie, że mogą powodować problemy (ale nie o wszystkich wie, dlatego ręczne zatrzymanie Dodatków jest gwarancją sukcesu, taki “wychuchany” backup tworzę tylko w sytuacjach gdy wiem, że będę musiał z niego skorzystać - np. przy migracji instalacji na inny sprzęt).

Home Assistant Google Drive Backup ma możliwość zaawansowanej konfiguracji, w której możesz wybrać Dodatki, które on zatrzyma przy tworzeniu Backupu (musisz mieć świadomość które są potencjalnie problematyczne).

Nie pamiętam kiedy musiałem skorzystać z Backupu tzn. mam na myśli sytuację gdy się cokolwiek wykrzaczyło, ale było to tak dawno, za czasów wciąż niewysokiej numeracji cyferkami a nie datami, że być może użyłem backupu niepotrzebnie, bo wiedziałem wtedy sporo mniej niż dziś.

Oczywiście używałem pełne Backupy podczas migracji między różnymi platformami sprzętowymi czy przenosinach ze starego dysku na nowy.
Zawsze był to 100% sukces.

Wersje HA i HAOS można podnosić i opuszczać (w rozsądnych granicach) bez odtwarzania backupów po drodze (jakkolwiek ludzie dzielą się tylko na 2 kategorie: tych co robią backupy i tych, którzy będą je robili; przezorny zawsze ubezpieczony).
Wielokrotnie to robiłem, a już w szczególności na instalacjach eksperymentalnych (gdzie jestem na kanale beta, a cofanie wersji jest w sumie chlebem powszednim w takich warunkach), w sumie na instalacjach produkcyjnych staram się iść tylko w jedną stronę ze starszych wersji na nowsze (ale kilka razy jednak cofałem wersje w sytuacjach gdy owstał problem, którego nie zauważyłem, czy przeoczyłem potencjalne breaking change).

Marcowe wydanie było jednym z dość przełomowych, bo zostało wtedy porzucone wsparcie wybranych przestarzałych technologii (co jakiś czas postęp wymusza taki ruch na deweloperach), jeśli masz backup (zrobiony tak jak pisałem wyżej), to chyba najwyższy czas na wydanie kwietniowe.

1 polubienie

Aktualizacja poszła bezproblemowo.
Cały czas z tyłu głowy mam nadzieje, że teraz przywracanie systemu będzie działać bezproblemowo choć wolałbym tego nie sprawdzać aczkolwiek różnie może być.
Dziękuje za wsparcie
Mam jeszcze jedno pytanie związane z bazą danych.
Na stronie z wytycznymi recordera

prawie na samym dole jest pokazana automatyzacja jeżeli dobrze to rozumiem polegająca na czyszczeniu historii określonej encji do określonego czasu. Chodzi przede wszystkim o to, że mam kilkadziesiąt encji, które zbierają dane milisekundowe,dla których potrzebuje historie w zasadzie dla dwóch dni (np. urządzenie zamela do obniżania napięcia dla foto) i mógłbym je taką automatyzacja wyczyścić z niepotrzebnych śmieci. Wydaje mi się jednak, że albo się coś zmieniło albo coś w tym nie tak. Sama usługa
recorder.purge_entities działa raczej inaczej chyba, że się mylę czyści historię określonej encji do zera a w tej składni ma działać trochę inaczej. Przy takim zapisie system sam to zmienia na GUI i wali błędem.
EDIT: Nie działała ta automatyzacja w core 2023.3.3 w wersji kwietniowej działa :slight_smile: