Wybierz Dockera, jeśli zależy Ci na lekkim stosie usług zarządzanym przez operatora; wybierz maszynę wirtualną, gdy silniejsza izolacja systemu, zarządzanie w stylu urządzenia oraz odzyskiwanie całego systemu gościa uzasadniają dodatkową warstwę.
Oba rozwiązania mogą niezawodnie uruchamiać Home Assistant na tym samym sprzęcie. Różnica sprowadza się do tego, kto odpowiada za system operacyjny, odpowiedniki dodatków, sieć, urządzenia USB, kopie zapasowe i wycofywanie zmian. Porównuj je przy tym samym obciążeniu i tym samym celu odzyskiwania; w typowej instalacji surowa wydajność rzadko jest czynnikiem decydującym.
Zacznij od zakresu odpowiedzialności za system operacyjny
Docker pozostawia operatorowi hosta bezpośrednią odpowiedzialność za Linuksa, definicje Compose, wolumeny, sieci, zależności i kontenery towarzyszące. Maszyna wirtualna z Home Assistant OS zapewnia więcej elementów obsługi typowej dla urządzenia wewnątrz systemu gościa, podczas gdy operator utrzymuje hipernadzorcę, dyski wirtualne, mosty sieciowe i przekazywanie urządzeń.
Przejście z dedykowanej płyty na hosta NUC z Dockerem sprawia, że własność platformy i współistnienie usług stają się częścią decyzji. Ten kompromis migracji pokazuje, dlaczego zadowolona osoba korzystająca z dedykowanej konfiguracji może nie odnieść korzyści z konsolidacji bez jasno określonego powodu operacyjnego.
Docker wygrywa, gdy te obowiązki związane z hostem są już rutynowe i pożądane. Maszyna wirtualna wygrywa, gdy domownicy cenią zarządzane środowisko Home Assistant, a administrator swobodnie porusza się w zakresie wirtualizacji.
Porównaj izolację i kontrolę zasobów
Maszyna wirtualna ma własne jądro systemu gościa, sprzęt wirtualny oraz osobno przydzieloną pamięć i przestrzeń dyskową. Docker izoluje procesy i systemy plików, współdzieląc jądro hosta. Izolacja maszyny wirtualnej może skuteczniej ograniczać skutki zmian w systemie operacyjnym, natomiast Docker zużywa mniej powielonych zasobów i ułatwia komponowanie usług towarzyszących.
Dyskusja społeczności na temat granic między kontenerami a maszynami wirtualnymi wyjaśnia, jak własność hosta i dostęp do sprzętu różnią się między warstwami wirtualizacji, szczególnie gdy urządzenia są współdzielone.
Wybierz maszynę wirtualną, gdy izolacja na poziomie systemu gościa i migawki zwiększają pewność odzyskiwania. Wybierz Dockera, gdy współdzielone jądro jest akceptowalne, a ograniczenia procesów, sieci i zasobów są jawnie zarządzane.
Przekazywanie urządzeń radiowych i sieć mogą odwrócić wynik
Docker może mapować urządzenia szeregowe i USB bezpośrednio z hosta, podczas gdy maszyna wirtualna wymaga przekazywania urządzeń przez hipernadzorcę. Oba rozwiązania mogą działać stabilnie, ale identyfikatory koordynatorów, zachowanie podczas ponownego łączenia, wykrywanie multicastowe i reguły mostów muszą przetrwać ponowne uruchomienie oraz migrację. Wygoda pierwszej instalacji ma mniejsze znaczenie niż powtarzalność.
Długotrwałe dyskusje dotyczące instalacji pokazują, że formaty obrazów i sprzęt wirtualny stają się częścią zakresu odpowiedzialności. Proces pracy z obrazem maszyny wirtualnej pokazuje, dlaczego ścieżka oparta na hipernadzorcy musi być udokumentowana.
Docker wygrywa, gdy mapowanie urządzeń i wykrywanie działają bez problemów. Maszyna wirtualna wygrywa, gdy przekazywanie urządzeń jest stabilne, a granica systemu gościa upraszcza środowisko. Odrzuć dowolne rozwiązanie, jeśli urządzenie radiowe znika po ponownym uruchomieniu hosta.
Wybierz na podstawie próby odtworzenia kopii zapasowej
W przypadku Dockera odtwórz definicję Compose, sekrety, wolumeny, dokładny obraz i zewnętrzne zależności na czystym hoście. W przypadku maszyny wirtualnej odtwórz kopię zapasową systemu gościa, definicję sprzętu wirtualnego, most sieciowy i konfigurację przekazywania urządzeń. Zmierz czas obu procesów, aż krytyczna automatyzacja zacznie działać.
Skorzystaj z artykułu ZimaSpace na temat odzyskiwania po wycofaniu zmian w kontenerze, aby ocenić rozwiązanie oparte na Dockerze na konkretnym przykładzie awarii.
Wybierz Dockera, gdy jego pliki i definicje usług można szybciej odtworzyć przy dostępnych umiejętnościach operatora. Wybierz maszynę wirtualną, gdy wycofanie zmian w całym systemie gościa pozwala osiągnąć cel przy mniejszej liczbie ręcznych zależności. Preferuj rozwiązanie, które rzeczywiście będzie utrzymywane.
Porównania produktów
Więcej do przeczytania

Intel vs AMD vs ARM w domowych serwerach Home Assistant
ARM pasuje do obsługiwanych energooszczędnych urządzeń; Intel i AMD lepiej sprawdzają się w szerszych zastosowaniach x86. O wyborze decydują konkretne oprogramowanie, obciążenie, zużycie energii,...

Jak wybrać między jednym dużym serwerem Home Assistant a dwoma mniejszymi hostami
Jeden host jest prostszy; dwa zwracają się dzięki kontrolowanej izolacji. Zimny zapasowy może przewyższać oba rozwiązania, gdy rzeczywistym wymaganiem jest przewidywalne ręczne odtwarzanie.

Home Assistant z pamięcią lokalną czy pamięcią sieciową: które rozwiązanie jest bardziej niezawodne?
W przypadku danych Home Assistant używanych na bieżąco zwykle najlepiej sprawdza się pamięć lokalna, a pamięć sieciowa nadaje się do kopii zapasowych i multimediów....

