Na wstępie ostrzeżenie (bo widzę, że są tacy, którzy się nad tym nie zastanawiali) - to jest “droga w jedną stronę”; łatwo, prosto i przyjemnie jest tylko przy korzystaniu przy przenosinach z instalacji z jednym nośnikiem na instalację z dwoma nośnikami, nie ma automatycznej drogi powrotnej, takie rzeczy są oczywiście wykonalne, ale wymagają nieco więcej umiejętności niż tylko kliknięcie.
Rozwiązanie jest dedykowane przede wszystkim użytkownikom “centralki” HA Yellow oraz niektórym SBC, które fabrycznie są wyposażone w eMMC, ale… po pierwsze w świecie niewielkich i tanich pecetów też są konstrukcje wyposażone w eMMC, a po drugie jest eko-moda na wykorzystanie sprzętu z korporacyjnego recyklingu i tam się trafiają konstrukcje np. Thin Client’ów ze śmiesznie małymi (jak na potrzeby sensownej instalacji HA) ssd więc wtedy można wykorzystać ten śmieszny fabryczny ssd na sam system a na dane dokupić drugi dysk o sensownej pojemności (i zazwyczaj może to być coś o najzwyklejszej konstrukcji, a zatem tańsze od nietypowych wynalazków).
Może nieco od końca, ale zacznijmy od dokumentacji
https://www.home-assistant.io/common-tasks/os/#using-external-data-disk
W chwili obecnej przetestowałem taką migrację z eMMC na ssd na dość typowej platformie x86-64 (w sumie to przynajmniej z miesiąc wstecz, a w zeszłym tygodniu wprowadziłem to rozwiązanie na stałe w instalacji produkcyjnej). W HAOS 8.2 zapowiadano też pełną obsługę nvme (ale nie było mi dane tego dotąd sprawdzić, bo sprzęt z nvme miałem na testy dostępny albo za czasów HAOS 6.x albo 7.x w każdym razie działał, tylko opisana tutaj funkcja jeszcze była martwa dla nvme).
Może najpierw się trochę pojaram, że w przypadku całkowitej instalacji na eMMC (czyli zarówno partycje systemowe jak i partycja danych) mamy w końcu w GUI raportowany stan takiego nośnika (bardzo miłe rozwiązanie, bo żadne typowe narzędzia dostępne również w postaci addonów dla HA takich jak “HDD Tools” czy “Scrutiny” sobie nie radzą z nośnikami eMMC, a tak mamy chociaż podgląd na stopień zużycia).
Szkoda tylko, że w tłumaczeniu na polski jest dość radykalny błąd… (powinien być np. “Stopień zużycia eMMC” lub “Zużyty czas życia eMMC”, ale ten wariant to takie masło maślane )) na obrazku widać że stopień zużycia to między 0%, a 10% (to był używany sprzęt, ale chyba niezbyt intensywnie)
A teraz do konkretu - wersja przenosin wewnątrz GUI, u mnie jest tylko jeden dysk sata więc to sda
, w instalacji z 2 dyskami prawdopodobnie będzie to sdb
Nowy dysk musi być większy od naszego dotychczasowego (nie wiem czy skrypt to sprawdza, ale i tak nakazuje to rozsądek).
Niestety po przenosinach tracimy informację o stanie eMMC (ale jeśli zużycie nie przekraczało 90% to absolutnie nie ma strachu - teraz z wszystkich jego partycji dane będą w zasadzie tylko odczytywane)
Jak widać po tej operacji już nie ma gdzie przenosić partycji z danymi
A teraz wersja konsolowa:
przed “przeprowadzką”
~ $ ha os info
board: generic-x86-64
boot: B
data_disk: /dev/mmcblk0p8
update_available: false
version: "8.2"
version_latest: "8.2"
~ $ ha os datadisk list
devices:
- /dev/sda
i po
~ $ ha os info
board: generic-x86-64
boot: B
data_disk: /dev/sda1
update_available: false
version: "8.2"
version_latest: "8.2"
~ $ ha os datadisk list
devices: []
W powyższym przypadku poleceniem przenoszącym partycję byłoby
ha os datadisk move /dev/sda
a na instalacjach gdzie jest to drugi dysk sata
ha os datadisk move /dev/sdb
W ramach ciekawostek - oryginalna partycja danych przed operacją nazywa się
hassos-data
, po migracji zostaje przemianowana na hassos-data-old
natomiast jej kopia na nowym nośniku zyskuje nazwę hassos-data-external
(To rozwiązanie prawdopodobnie umożliwia ratunkowe ręczne uruchomienie oryginalnej partycji sprzed przenosin)
Czyli zachowano nazwy spotykane w dotychczasowych rozwiązaniach użytkowników, którzy zdecydowali się na takie przenosiny zanim istniał systemowy skrypt.