Rozwiązanie społecznościowe

Dodatki ZVM do ZimaOS: automatyczne uruchamianie, migawki, przekazywanie USB/PCIe i tworzenie kopii zapasowych maszyn wirtualnych

A May-August 2026 community project that adds operational controls beside ZimaOS's built-in ZVM: autostart, snapshots, USB and PCIe passthrough, VM backup/export, remote storage, metrics, NIC switching, power controls, and a VNC console. IceWhale staff praised the work but it remains a community add-on.

ZVM Extras to rozszerzenie społecznościowe stworzone w celu uzupełnienia braków operacyjnych wbudowanego menedżera ZVM w ZimaOS, bez zastępowania samego ZVM. Oficjalny ZVM nadal odpowiada za tworzenie i edytowanie maszyn wirtualnych; ZVM Extras działa obok niego jako osobny systemd-sysext moduł i komunikuje się z tym samym backendem libvirt.

Projekt rozpoczął się w maju 2026 roku na ZimaOS 1.6.1 i obejmował autostart, migawki, USB passthrough, zdalną pamięć masową, kopie zapasowe, watchdogi i metryki. Następnie szybko rozwijał się dzięki testom społeczności. Obecne publiczne repozytorium opisuje wersję v0.7.0, zweryfikowaną na ZimaOS 1.7.0-beta1, w której naprawiono już kilka błędów z wersji v0.6.3.

Rozszerza ZVM zamiast go zastępować

Autor źródła celowo unikał budowania drugiego menedżera maszyn wirtualnych. ZVM Extras odczytuje ten sam spis maszyn wirtualnych i działa za pośrednictwem libvirt/virsh, podczas gdy zwykły interfejs ZVM pozostaje nadrzędny w zakresie tworzenia maszyn wirtualnych i ich standardowej edycji.

Takie rozwiązanie ogranicza konflikty z wbudowaną warstwą wirtualizacji, ale nie eliminuje ryzyka problemów ze zgodnością. Aktualizacja ZimaOS lub ZVM nadal może zmienić działanie libvirt, XML maszyn wirtualnych, sieć lub obsługę urządzeń wykorzystywaną przez rozszerzenie.

Autostart dodaje kolejność i opóźnienie dla każdej maszyny wirtualnej

Rozszerzenie może oznaczać wybrane maszyny wirtualne do automatycznego uruchomienia po uruchomieniu hosta ZimaOS. W przeciwieństwie do prostego przełącznika „uruchamiaj wszystko automatycznie” obsługuje kolejność i opóźnienia między maszynami wirtualnymi, dzięki czemu usługi infrastruktury mogą uruchamiać się sekwencyjnie.

Watchdog może również ponownie uruchamiać wybrane maszyny wirtualne, jeśli nieoczekiwanie się zatrzymają. W wersji v0.7.0 w tym samym obszarze dodano elementy sterujące uruchamianiem, zatrzymywaniem, ponownym uruchamianiem i wymuszonym wyłączaniem, a także ostrzeżenia, gdy watchdog natychmiast ponownie uruchomi maszynę, którą użytkownik próbuje zatrzymać.

Migawki różnie obsługują uruchomione i zatrzymane maszyny wirtualne

Karta Snapshots w ZVM Extras pokazująca działającą maszynę wirtualną z systemem Linux oraz elementy sterujące tworzeniem migawki, miejscem docelowym pamięci, przywracaniem i usuwaniem
Rozszerzenie udostępnia GUI do tworzenia, przywracania i usuwania migawek, zamiast wymagać od użytkowników ręcznego zarządzania nimi za pomocą virsh.

Pierwotny projekt wykorzystywał wewnętrzne migawki libvirt dla zatrzymanych maszyn wirtualnych oraz zewnętrzne migawki ze stanem pamięci dla uruchomionych maszyn wirtualnych. To rozróżnienie ma znaczenie, ponieważ migawka działającej maszyny, którą można przywrócić, jest bardziej złożona i może zajmować dużo miejsca.

Zdalna pamięć masowa NFS lub SMB może również służyć jako miejsce docelowe migawek, zmniejszając obciążenie lokalnego urządzenia NVMe.

USB passthrough stał się procesem obsługiwanym w GUI

Karta USB passthrough w ZVM Extras wyświetlająca urządzenia USB hosta ze stałymi elementami sterującymi podłączaniem i odłączaniem
Projekt źródłowy udostępnia urządzenia USB hosta i pozwala trwale podłączyć je do wybranej maszyny wirtualnej bez ręcznej edycji kodu XML libvirt.

Rozszerzenie uzgadnia również trwałe podłączenia urządzeń USB, jeśli standardowy interfejs ZVM później przepisze konfigurację gościa i usunie wpis urządzenia hosta.

Przekazywanie urządzeń PCIe korzysta z VFIO i grup IOMMU

W wersji v0.4.0 ZVM Extras dodał przekazywanie urządzeń PCIe. Interfejs wyświetla grupy IOMMU i sterownik hosta, blokuje oczywiście nieodpowiednie urządzenia mostkowe oraz używa VFIO do przypisywania urządzeń.

Nadal jest to funkcja bardziej ryzykowna niż przekazywanie zwykłego urządzenia USB. Wybrany sprzęt musi być bezpiecznie odizolowany, host nie może od niego zależeć, a błędne przypisanie może wpłynąć na stabilność hosta lub sieć.

Zdalna pamięć masowa może przechowywać migawki i kopie zapasowe

Karta zdalnej pamięci masowej ZVM Extras służąca do dodawania udziałów NFS lub SMB jako miejsc docelowych migawek i kopii zapasowych
Punkty montowania NFS i SMB można skonfigurować jako zdalne cele dla migawek maszyn wirtualnych i eksportów kopii zapasowych.

Jest to szczególnie przydatne w przypadku dużych wirtualnych dysków QCOW2. Przechowywanie każdej migawki na tym samym fizycznym urządzeniu co aktywna maszyna wirtualna zapewnia niewielką ochronę przed awarią lokalnego dysku i może szybko zużyć dostępną przestrzeń.

Eksport kopii zapasowej maszyny wirtualnej obejmuje XML i obrazy dysków

Projekt może eksportować konfigurację maszyny wirtualnej i obrazy dysków jako samodzielny artefakt kopii zapasowej. Nowsze wersje zapamiętują wybrany cel kopii zapasowej, ułatwiając powtarzanie operacji.

Migawka maszyny wirtualnej i kopia zapasowa maszyny wirtualnej nie są równoważne. Migawka służy przede wszystkim do przywracania wcześniejszego stanu. Oddzielna kopia zapasowa przechowywana na innym urządzeniu chroni przed utratą samej pamięci masowej hosta.

Metryki na żywo zmieniają ZVM w bardziej operacyjny pulpit

ZVM Extras odczytuje z libvirt metryki procesora, pamięci, dysku i sieci. Użytkownicy społeczności potwierdzili, że pomiary działały na maszynach wirtualnych testowych. W wersji v0.6.3 jeden z użytkowników zgłosił, że każda maszyna wirtualna pokazywała 100% użycia pamięci; autor prześledził problem z obliczeniami i naprawił go w wersji v0.7.0, która dodała również krótkie wykresy historii.

Przełączanie kart sieciowych jest celowo ograniczone do istniejących sieci

Rozszerzenie może zmieniać sieć libvirt i model karty sieciowej gościa. Autor celowo odmówił automatyzacji tworzenia nowego mostu sieciowego hosta przez dołączanie aktywnego interfejsu Ethernet ZimaOS, ponieważ nieudana migracja mostu mogłaby odłączyć NAS od sieci.

Ta ostrożna granica jest ważna. Wybór istniejącej sieci jest znacznie bezpieczniejszy niż przepisywanie głównego stosu sieciowego hosta przez dodatek do zarządzania maszynami wirtualnymi.

Komunikacja między maszyną wirtualną a hostem nadal może napotkać ograniczenia macvtap

Jeden z użytkowników społeczności mógł połączyć się z maszyną wirtualną Home Assistant z sieci LAN, ale nie z kontenera odwrotnego serwera proxy na hoście ZimaOS, gdy oba korzystały z tej samej fizycznej karty sieciowej. Autor źródłowy podejrzewał klasyczne zachowanie izolacji hosta macvtap i zasugerował sprawdzenie XML maszyny gościa.

Wyraźnie oznaczył to wyjaśnienie jako hipotezę, ponieważ nie potrafił odtworzyć dokładnie tej konfiguracji. Nie przedstawiaj tego jako potwierdzonej przyczyny po stronie ZimaOS bez sprawdzenia rzeczywistego typu interfejsu.

Projekt dodał rzeczywisty zestaw testów, ale nie obejmuje on każdej ścieżki sprzętowej

W przypadku wersji v0.4.0 autor poinformował o pomyślnym przejściu 63 przypadków testowych, obejmujących analizę statyczną, testy wyścigów, mechanizmy kontroli CSRF i pochodzenia, zabezpieczenia przed wstrzykiwaniem argumentów i ścieżek, migawki, eksport kopii zapasowych, zmiany kart sieciowych oraz metryki. Rzeczywiste przypadki odcięcia i przywrócenia zasilania oraz podłączania urządzeń PCIe na żywo celowo nie wchodziły w zakres tych testów automatycznych.

Drugi użytkownik społeczności niezależnie zainstalował wersję v0.4.0, potwierdził załadowanie sysext, wykrycie maszyny wirtualnej Debian, wyświetlanie metryk oraz pomyślne utworzenie migawki zatrzymanej maszyny wirtualnej.

IceWhale pochwaliło projekt, ale nadal jest to oprogramowanie społecznościowe

Zima-Jerry odpowiedział później, że projekt wydaje się rozwiązywać obecne niedociągnięcia ZVM. To pozytywna oficjalna opinia, a nie ogłoszenie, że ZVM Extras stał się częścią ZimaOS lub jest wspierany tak jak wbudowany moduł.

Przed instalacją zapoznaj się z aktualnym repozytorium ZVM Extras i statusem wydania. Repozytorium obecnie wskazuje wersję v0.7.0 jako zweryfikowaną na ZimaOS 1.7.0-beta1.

Utwórz kopię zapasową danych maszyn wirtualnych przed testowaniem społecznościowych rozszerzeń do wirtualizacji

Migawki, przekazywanie urządzeń i uzgadnianie XML działają blisko pamięci masowej maszyny wirtualnej oraz konfiguracji urządzeń. Najpierw przetestuj je na maszynie gościa przeznaczonej do testów, zachowaj kopię ważnych dysków QCOW2 i upewnij się, że potrafisz przywrócić dane bez zainstalowanego rozszerzenia.

Najczęściej zadawane pytania dotyczące ZVM Extras

Czy ZVM Extras zastępuje oficjalną aplikację ZVM?

Nie. Jest zaprojektowany jako rozszerzenie towarzyszące i korzysta z tego samego backendu libvirt.

Czy za jego pomocą można przekazywać urządzenia USB i PCIe z poziomu interfejsu graficznego?

Tak. Przekazywanie urządzeń USB i PCIe oparte na VFIO to podstawowe funkcje projektu.

Czy może tworzyć kopię zapasową maszyny wirtualnej na innym serwerze NAS?

Może montować pamięć masową NFS lub SMB oraz używać zdalnych ścieżek do migawek lub eksportu kopii zapasowych.

Czy ZVM Extras jest oficjalnie wspierany przez IceWhale?

Nie. Pracownicy IceWhale pochwalili projekt, ale źródła i obecne repozytorium opisują go jako dodatek społeczności.