ZVM Extras est une extension communautaire conçue pour combler les lacunes opérationnelles du gestionnaire ZVM intégré à ZimaOS, sans remplacer ZVM lui-même. Le ZVM officiel reste responsable de la création et de la modification des machines virtuelles ; ZVM Extras fonctionne à ses côtés en tant que module séparé systemd-sysext module et communique avec le même backend libvirt.
Le projet a démarré en mai 2026 sur ZimaOS 1.6.1 avec le démarrage automatique, les instantanés, le passthrough USB, le stockage distant, les sauvegardes, les watchdogs et les métriques. Il a ensuite évolué rapidement grâce aux tests de la communauté. Le dépôt public actuel documente la version 0.7.0, vérifiée sur ZimaOS 1.7.0-beta1, et plusieurs bugs de la version 0.6.3 ont déjà été corrigés.
Il étend ZVM au lieu de le remplacer
L’auteur du code source a délibérément évité de créer un second gestionnaire de VM. ZVM Extras lit le même inventaire de VM et fonctionne via libvirt/virsh, tandis que l’interface ZVM normale reste l’autorité pour la création des VM et les modifications courantes.
Cette conception réduit les conflits avec la couche de virtualisation intégrée, mais n’élimine pas les risques de compatibilité. Une mise à jour de ZimaOS ou de ZVM peut toujours modifier le comportement de libvirt, le XML des VM, le réseau ou la gestion des périphériques sous-jacents de l’extension.
Le démarrage automatique ajoute un ordre et un délai propres à chaque VM
L’extension peut marquer certaines VM pour qu’elles démarrent automatiquement après le démarrage de l’hôte ZimaOS. Contrairement à un simple bouton « démarrer automatiquement tout », elle prend en charge l’ordre de démarrage et les délais entre les VM afin que les services d’infrastructure puissent démarrer dans l’ordre.
Un watchdog peut également redémarrer les VM sélectionnées si elles s’arrêtent de manière inattendue. À partir de la version 0.7.0, cette même zone a bénéficié de commandes de démarrage, d’arrêt, de redémarrage et d’arrêt forcé, avec des avertissements lorsqu’un watchdog redémarrerait immédiatement une VM que l’utilisateur tente d’arrêter.
Les instantanés gèrent différemment les VM en cours d’exécution et les VM arrêtées
La conception originale utilisait les instantanés internes de libvirt pour les VM arrêtées et les instantanés externes avec état de la mémoire pour les VM en cours d’exécution. Cette distinction est importante, car un instantané actif pouvant être restauré est plus complexe et peut consommer beaucoup d’espace de stockage.
Un stockage NFS ou SMB distant peut également servir de cible pour les instantanés, ce qui réduit la sollicitation du périphérique NVMe local.
Le passthrough USB devient un workflow graphique
L’extension réconcilie également les connexions USB persistantes si l’interface ZVM standard réécrit ultérieurement la configuration de l’invité et supprime l’entrée du périphérique hôte.
Le passthrough PCIe utilise VFIO et les groupes IOMMU
À partir de la v0.4.0, ZVM Extras a ajouté le passthrough PCIe. L’interface affiche le groupe IOMMU et le pilote de l’hôte, bloque les périphériques pont manifestement incompatibles et utilise VFIO pour l’affectation.
Cette fonctionnalité présente un risque plus élevé que le raccordement d’un périphérique USB ordinaire. Le matériel choisi doit être isolé de manière sûre, l’hôte ne doit pas en dépendre et une mauvaise affectation peut affecter la stabilité ou le réseau de l’hôte.
Le stockage distant peut contenir des instantanés et des sauvegardes
Cela est particulièrement utile pour les grands disques virtuels QCOW2. Conserver tous les instantanés sur le même appareil physique que la VM active offre peu de protection contre une panne du disque local et peut rapidement consommer l’espace disponible.
La sauvegarde de VM exporte le XML et les images disque
Le projet peut exporter la configuration de la VM et les images disque sous la forme d’un artefact de sauvegarde autonome. Les versions ultérieures mémorisent la cible de sauvegarde sélectionnée, ce qui facilite les opérations répétées.
Un instantané de VM et une sauvegarde de VM ne sont pas équivalents. Un instantané sert principalement à revenir à un état antérieur. Une sauvegarde distincte stockée sur un autre appareil protège contre la perte du stockage de l’hôte lui-même.
Les métriques en temps réel transforment ZVM en un tableau de bord plus opérationnel
ZVM Extras lit les métriques du processeur, de la mémoire, du stockage et du réseau depuis libvirt. Des utilisateurs de la communauté ont confirmé que ces mesures fonctionnaient sur des VM de test. Dans la v0.6.3, un utilisateur a signalé que toutes les VM affichaient 100 % de mémoire utilisée ; l’auteur a identifié le problème de calcul et l’a corrigé dans la v0.7.0, qui a également ajouté de petits graphiques d’historique.
Le changement de carte réseau est intentionnellement limité aux réseaux existants
L’extension peut modifier le réseau et le modèle libvirt de la carte réseau d’un invité. L’auteur a délibérément refusé d’automatiser la création d’un nouveau pont sur l’hôte en y rattachant l’interface Ethernet ZimaOS active, car un échec lors de la migration vers le pont pourrait mettre le NAS hors ligne.
Cette limite prudente est importante. Sélectionner un réseau existant est bien plus sûr que de réécrire la pile réseau principale de l’hôte depuis une extension de gestion des VM.
La communication entre la VM et l’hôte peut encore se heurter aux limites de macvtap
Un utilisateur de la communauté pouvait accéder à une machine virtuelle Home Assistant depuis le réseau local, mais pas depuis un conteneur de proxy inverse exécuté sur l’hôte ZimaOS, alors que les deux utilisaient la même carte réseau physique. L’auteur de la source soupçonnait le comportement classique d’isolation de l’hôte de macvtap et suggérait de vérifier le XML de la machine invitée.
Il a clairement présenté cette explication comme une hypothèse, car il ne pouvait pas reproduire exactement la configuration. Ne la présentez pas comme une cause racine confirmée de ZimaOS sans examiner le type réel d’interface.
Le projet a ajouté une véritable suite de tests, mais tous les chemins matériels ne sont pas couverts
Pour la version v0.4.0, l’auteur a indiqué que 63 cas de test réussissaient, notamment l’analyse statique, les tests de concurrence, les contrôles CSRF et d’origine, les protections contre l’injection d’arguments et de chemins, les instantanés, l’exportation de sauvegardes, les modifications de cartes réseau et les métriques. Les cas réels de mise hors tension puis sous tension et de connexion PCIe à chaud étaient intentionnellement exclus du périmètre de ces tests automatisés.
Un deuxième utilisateur de la communauté a installé indépendamment la version v0.4.0, confirmé le chargement de la sysext, détecté une machine virtuelle Debian, affiché les métriques et créé avec succès un instantané d’une machine virtuelle arrêtée.
IceWhale a salué le projet, mais il s’agit toujours d’un logiciel communautaire
Zima-Jerry a répondu plus tard que le projet semblait remédier aux lacunes actuelles de ZVM. Il s’agit d’un retour officiel positif, et non d’une annonce indiquant que ZVM Extras fait désormais partie de ZimaOS ou qu’il est pris en charge comme un module intégré.
Avant l’installation, consultez le dépôt actuel de ZVM Extras et l’état de ses versions. Le dépôt identifie actuellement la version v0.7.0 comme vérifiée sur ZimaOS 1.7.0-beta1.
Sauvegardez les données des machines virtuelles avant de tester les extensions de virtualisation communautaires
Les instantanés, le passthrough et la réconciliation XML opèrent tous à proximité du stockage et de la configuration des périphériques de la machine virtuelle. Commencez par tester avec une machine invitée jetable, conservez une copie des disques QCOW2 importants et assurez-vous de pouvoir restaurer le système sans l’extension installée.
FAQ de ZVM Extras
ZVM Extras remplace-t-il l’application ZVM officielle ?
Non. Il est conçu comme une extension complémentaire et utilise le même backend libvirt.
Peut-il transférer des périphériques USB et PCIe depuis l’interface graphique ?
Oui. Le passthrough USB et le passthrough PCIe fondé sur VFIO sont des fonctionnalités essentielles du projet.
Peut-il sauvegarder une machine virtuelle sur un autre NAS ?
Il peut monter un stockage NFS ou SMB et utiliser des chemins distants pour les instantanés ou les exportations de sauvegarde.
ZVM Extras est-il officiellement pris en charge par IceWhale ?
Non. Le personnel d’IceWhale l’a salué, mais la source et le dépôt actuel le décrivent comme un module complémentaire communautaire.
