ZVM Extras är ett community-tillägg som skapats för att fylla operativa luckor kring ZimaOS inbyggda ZVM-hanterare utan att ersätta ZVM. Den officiella ZVM ansvarar fortfarande för att skapa och redigera virtuella maskiner; ZVM Extras fungerar bredvid den som en separat systemd-sysext modul och kommunicerar med samma libvirt-backend.
Projektet startade i maj 2026 på ZimaOS 1.6.1 med automatisk start, ögonblicksbilder, USB-genomkoppling, fjärrlagring, säkerhetskopior, övervakare och mätvärden. Därefter utvecklades det snabbt genom tester i communityn. Det aktuella offentliga kodförrådet dokumenterar v0.7.0, verifierad på ZimaOS 1.7.0-beta1, där flera buggar från v0.6.3 redan har åtgärdats.
Det utökar ZVM i stället för att ersätta det
Källkodsförfattaren undvek medvetet att bygga en separat virtuell maskinshanterare. ZVM Extras läser samma inventering av virtuella maskiner och arbetar via libvirt/virsh, medan det vanliga ZVM-gränssnittet förblir auktoritativt för att skapa virtuella maskiner och göra vanliga redigeringar.
Den designen minskar konflikter med det inbyggda virtualiseringslagret, men eliminerar inte kompatibilitetsriskerna. En uppdatering av ZimaOS eller ZVM kan fortfarande ändra libvirt-beteende, virtuell maskin-XML, nätverk eller enhetshantering under tillägget.
Automatisk start ger ordning och fördröjning per virtuell maskin
Tillägget kan markera valda virtuella maskiner för automatisk start efter att ZimaOS-värden har startat. Till skillnad från en enkel växel för att ”starta allt automatiskt” stöder det ordningsföljd och fördröjningar mellan virtuella maskiner, så att infrastrukturtjänster kan starta i tur och ordning.
En övervakare kan också starta om valda virtuella maskiner om de stoppas oväntat. I och med v0.7.0 fick samma område kontroller för att starta, stoppa, starta om och tvinga avstängning, med varningar när en övervakare omedelbart skulle starta om en virtuell maskin som användaren försöker stoppa.
Ögonblicksbilder hanterar virtuella maskiner som körs och som är avstängda på olika sätt
Den ursprungliga designen använde interna libvirt-ögonblicksbilder för avstängda virtuella maskiner och externa ögonblicksbilder med minnestillstånd för virtuella maskiner som kördes. Den skillnaden är viktig eftersom en aktiv ögonblicksbild som kan återställas är mer komplex och kan förbruka betydande lagringsutrymme.
Fjärrlagring via NFS eller SMB kan också användas som mål för ögonblicksbilder, vilket minskar belastningen på den lokala NVMe-enheten.
USB-genomkoppling blev ett grafiskt arbetsflöde
Tillägget återställer även beständiga USB-anslutningar om det vanliga ZVM-gränssnittet senare skriver om gästkonfigurationen och tar bort värdenhetsinmatningen.
PCIe-genomströmning använder VFIO och IOMMU-grupper
I och med v0.4.0 lade ZVM Extras till PCIe-genomströmning. Gränssnittet visar IOMMU-gruppering och värdens drivrutin, blockerar uppenbart olämpliga bryggenheter och använder VFIO för tilldelningen.
Detta är fortfarande en funktion med högre risk än att ansluta vidare en vanlig USB-enhet. Den valda hårdvaran måste isoleras på ett säkert sätt, värden får inte vara beroende av den, och en felaktig tilldelning kan påverka värdens stabilitet eller nätverk.
Fjärrlagring kan innehålla ögonblicksbilder och säkerhetskopior
Detta är särskilt användbart för stora virtuella QCOW2-diskar. Att behålla alla ögonblicksbilder på samma fysiska enhet som den aktiva VM:en ger föga skydd mot lokala diskfel och kan snabbt förbruka utrymme.
VM-säkerhetskopior exporterar XML och diskavbildningar
Projektet kan exportera VM-konfigurationen och diskavbildningarna som ett fristående säkerhetskopieringsobjekt. Senare versioner kommer ihåg det valda säkerhetskopieringsmålet, vilket gör upprepade åtgärder enklare.
En VM-ögonblicksbild och en VM-säkerhetskopia är inte samma sak. En ögonblicksbild används främst för återställning. En separat säkerhetskopia på en annan enhet skyddar mot att själva värdens lagring går förlorad.
Live-mätvärden gör ZVM till en mer operativ instrumentpanel
ZVM Extras läser CPU-, minnes-, disk- och nätverksmätvärden från libvirt. Användare i communityn bekräftade att mätningarna fungerade på test-VM:ar. I v0.6.3 rapporterade en användare att alla VM:ar visade 100 % minnesanvändning; utvecklaren spårade beräkningsproblemet och åtgärdade det i v0.7.0, som även lade till små diagram över kort historik.
Byte av nätverkskort är avsiktligt begränsat till befintliga nätverk
Tillägget kan ändra en gästs nätverkskorts libvirt-nätverk och modell. Utvecklaren valde medvetet att inte automatisera skapandet av en ny värdbrygga genom att lägga det aktiva ZimaOS-Ethernetgränssnittet som slav under den, eftersom en misslyckad bryggmigrering kunde göra NAS-enheten otillgänglig.
Den här försiktiga gränsdragningen är viktig. Att välja ett befintligt nätverk är betydligt säkrare än att skriva om värdens primära nätverksstack från ett tillägg för VM-hantering.
VM ↔ värdkommunikation kan fortfarande stöta på macvtap-begränsningar
En community-användare kunde nå en Home Assistant-VM från det lokala nätverket, men inte från en reverse proxy-container på ZimaOS-värden när båda använde samma fysiska NIC. Källans upphovsperson misstänkte det klassiska macvtap-beteendet med värdisolering och föreslog att gästens XML skulle kontrolleras.
Han märkte tydligt den förklaringen som en hypotes eftersom han inte kunde återskapa exakt samma konfiguration. Gör den inte till en bekräftad grundorsak i ZimaOS utan att först granska den faktiska gränssnittstypen.
Projektet lade till en riktig testsvit, men alla hårdvarusökvägar täcks inte
För v0.4.0 rapporterade upphovspersonen att 63 testfall godkändes, inklusive statisk analys, racetestning, CSRF-/ursprungskontroller, skydd mot argument- och sökvägsinjektion, ögonblicksbilder, säkerhetskopieringsexport, NIC-ändringar och mätvärden. Verkliga fall med strömcykling och live-anslutning av PCIe låg avsiktligt utanför den automatiserade testningens omfattning.
En annan community-användare installerade oberoende v0.4.0, bekräftade att sysext laddades, upptäckte en Debian-VM, visade mätvärden och skapade en ögonblicksbild av en avstängd VM utan problem.
IceWhale berömde projektet, men det är fortfarande community-programvara
Zima-Jerry svarade senare att projektet verkade åtgärda aktuella brister i ZVM. Det är positiv officiell återkoppling, inte ett tillkännagivande om att ZVM Extras har blivit en del av ZimaOS eller stöds som en inbyggd modul.
Granska det aktuella kodförrådet och versionsstatusen för ZVM Extras före installationen. Kodförrådet anger för närvarande v0.7.0 som verifierad på ZimaOS 1.7.0-beta1.
Säkerhetskopiera VM-data innan du testar community-tillägg för virtualisering
Ögonblicksbilder, passthrough och XML-avstämning arbetar nära den virtuella maskinens lagring och enhetskonfiguration. Testa först med en virtuell testmaskin som kan tas bort, behåll en kopia av viktiga QCOW2-diskar och se till att du kan återställa utan att tillägget är installerat.
Vanliga frågor om ZVM Extras
Ersätter ZVM Extras den officiella ZVM-appen?
Nej. Det är utformat som ett kompletterande tillägg och använder samma libvirt-backend.
Kan det vidarebefordra USB- och PCIe-enheter via det grafiska gränssnittet?
Ja. USB-passthrough och VFIO-baserad PCIe-passthrough är centrala funktioner i projektet.
Kan det säkerhetskopiera en virtuell maskin till en annan NAS?
Det kan montera NFS- eller SMB-lagring och använda fjärrsökvägar för ögonblicksbilder eller säkerhetskopieringsexport.
Har IceWhale officiellt stöd för ZVM Extras?
Nej. IceWhales personal berömde det, men källan och det aktuella kodförrådet beskriver det som ett community-tillägg.
