Czy warto umieścić metadane Home Assistant na dysku SSD, a dane zbiorcze na dysku HDD?

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.

Zwykle tak: aktywną konfigurację Home Assistant, rejestry, metadane i lokalną bazę danych przechowuj na niezawodnym dysku SSD, a duże pliki multimedialne, nagrania z kamer, eksporty i dodatkowe kopie zapasowe na dysku HDD.

Ważna granica nie przebiega po prostu między małymi a dużymi plikami. Drzewo /config Home Assistant zawiera ściśle powiązany stan trwały, natomiast Recorder często wykonuje operacje na bazie danych, a zewnętrzne punkty montowania wprowadzają zależności związane z uruchamianiem i dostępnością. Rozdzielaj dane według sposobu dostępu, dokumentuj każdy punkt montowania i sprawdź ponowne uruchomienie oraz przywracanie, zanim zaufasz takiemu podziałowi.

Przechowuj aktywny stan Home Assistant razem na dysku SSD

Traktuj /config jako jedną jednostkę odzyskiwania. Zwykle zawiera ono pliki YAML, sekrety, katalog .storage, rejestry, stan integracji oraz — gdy używany jest SQLite — aktywną bazę danych. Rozdzielenie poszczególnych ukrytych plików stanu między punkty montowania utrudnia zrozumienie własności danych, kolejności uruchamiania i zakresu przywracania.

Recorder zapisuje dane bez przerwy, dlatego jego sposób korzystania z pamięci masowej różni się od archiwum otwieranego sporadycznie. Niezależne zalecenia dotyczące rozwiązywania problemów wskazują na szybki nośnik dla aktywnej bazy danych Home Assistant, ponieważ częste odczyty i zapisy mogą sprawić, że wolne nośniki powodują zauważalne opóźnienia historii i automatyzacji. Najważniejszym wnioskiem jest szybki nośnik dla aktywnej bazy danych, a nie obietnica, że każdy dysk SSD usunie każde wąskie gardło.

Jeśli korzystasz z zewnętrznej usługi MariaDB lub PostgreSQL, baza danych staje się osobnym systemem przechowującym stan, z własnymi zasadami tworzenia kopii zapasowych, uwierzytelniania, sieci i aktualizacji. Nie traktuj zmiany adresu URL bazy danych jako zwykłej zmiany lokalizacji pliku.

Przenoś dane zajmujące dużo miejsca tylko wtedy, gdy mają wyraźną granicę

Dysk HDD jest rozsądnym miejscem dla dużych plików multimedialnych, długich nagrań z kamer, eksportowanych raportów i dodatkowych kopii zapasowych, jeśli te ścieżki nie zawierają aktywnej konfiguracji ani bazy danych. W takich zastosowaniach pojemność jest zwykle ważniejsza niż opóźnienia losowych operacji wejścia-wyjścia.

Utwórz jawne ścieżki na hoście i montuj je w stabilnych lokalizacjach kontenera. Nie montuj nadrzędnej ścieżki bezpośrednio na /config, ponieważ pusta lub udostępniona z opóźnieniem ścieżka hosta może ukryć oczekiwane dane i sprawić, że Home Assistant będzie wyglądać jak świeżo zainstalowany. Upewnij się, że dysk HDD jest zamontowany przed uruchomieniem kontenera, i zdecyduj, co ma się stać, gdy będzie niedostępny.

Powiązany artykuł ZimaSpace o wzroście ilości metadanych i historii Home Assistant pomaga rozdzielić rejestry, historię Recorder, logi i kopie zapasowe, zanim przypiszesz każdą kategorię do odpowiedniej warstwy pamięci masowej.

Zaplanuj kopie zapasowe dla obu warstw pamięci masowej

Zapisz, która kopia zapasowa obejmuje /config, aktywną bazę danych, ścieżki na dysku HDD i ewentualną zewnętrzną bazę danych. Pozornie pełne archiwum nadal może pomijać osobno zamontowaną ścieżkę multimediów lub bazy danych, a kopia systemu plików może być niespójna, jeśli przechwytuje bazę danych w trakcie zapisu.

Przechowuj co najmniej jedną kopię zapasową poza hostem Home Assistant. Podział na SSD i HDD poprawia rozmieszczenie danych, ale nie chroni przed usunięciem, awarią zasilania, awarią kontrolera ani nieudaną migracją, która obejmie oba dyski. Klucze szyfrowania i dane uwierzytelniające uwzględnij w planie odzyskiwania, a nie przechowuj ich na tym samym komputerze.

Przed zmianą punktów montowania utwórz sprawdzoną kopię zapasową i zanotuj bieżącą liczbę encji, integracje, najnowszą historię, pulpity, automatyzacje oraz ścieżki multimediów. Te obserwacje staną się testem akceptacyjnym po odtworzeniu i są bardziej użyteczne niż samo sprawdzenie, czy otwiera się strona logowania.

Zweryfikuj podział podczas ponownego uruchomienia, obciążenia i przywracania

Uruchom ponownie hosta, a nie tylko Home Assistant, aby przetestować kolejność montowania. Upewnij się, że /config wskazuje ścieżkę na dysku SSD, a każdy punkt montowania danych zbiorczych wskazuje zamierzoną ścieżkę na dysku HDD, zanim Home Assistant zacznie zapisywać dane. Pusty katalog w którymkolwiek z tych miejsc jest sygnałem do zatrzymania.

Uruchom pierwotne obciążenie: otwórz historię, wywołaj intensywnie działającą automatyzację, zapisz nagranie lub plik multimedialny i utwórz kopię zapasową. Wynik jest pozytywny, jeśli interfejs sterowania pozostaje responsywny, dane są zapisywane na właściwych dyskach, nie pojawiają się ostrzeżenia dotyczące bazy danych ani uprawnień, a host utrzymuje normalne opóźnienia operacji wejścia-wyjścia.

Na koniec przywróć dane do odizolowanej instancji testowej i sprawdź obie warstwy pamięci masowej. Wycofaj podział, jeśli Home Assistant uruchomi się z pustymi rejestrami, nieaktualną historią, brakującymi multimediami lub błędami zależnymi od punktów montowania. Przejdź na zewnętrzną bazę danych albo przeprojektuj pamięć masową dopiero wtedy, gdy prostszy podział na SSD z /config i HDD z danymi zbiorczymi nie spełnia wymagań dotyczących pojemności lub dostępnoś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.