web-dev-qa-db-fra.com

Libvirt: comment passer la ligne de commande QEMU arguments?

J'ai la libvirive actuelle 1.2.20 Je veux passer à ma machine Créer avec Vir-Manager quelques drapeaux QEMU. J'ai édité le fichier et ajouter

  </devices>
  <qemu:commandline>
          <qemu:arg value='-L pc-bios'/>
  </qemu:commandline>
</domain>

Mais ne fonctionne pas, j'ai aussi essayé de modifier de vidsh

virsh edit domain

et met

<qemu:commandline>
          <qemu:arg value='-L pc-bios'/>
  </qemu:commandline>

Mais donnez-moi cette erreur

errore: XML document failed to validate against schema: Unable to validate doc against /usr/share/libvirt/schemas/domain.rng
Element domain has extra content: qemu:commandline

Failed. Try again? [y,n,i,f,?]: 

Comment transmettre la ligne de commande QEMU correctement? Merci

8
elbarna

la réponse propre d'Elbarna est la voie à suivre pour les options de configuration "Nativement" prises en charge par Libvirt (et donc son domaine XML). Pour les arguments de Commandline QEMU (et plus) non pris en charge par Libvirt, vous devez inclure la Déclaration de l'espace de noms XML de QEMU dans l'élément racine "Domaine":

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>

Référence: https://libvirt.org/drvqemu.html#qqemucommand

10
argonym

Si tu as virt-xml 1.4.1 (publié en 2017, devrait donc être répandu en maintenant) ou plus tard dans votre chemin (fourni par community/virt-install dans la voûte), vous pouvez utiliser:

virt-xml $DOMAIN --edit --confirm --qemu-commandline '-my-args 1234'
virt-xml $DOMAIN --edit --confirm --qemu-commandline 'env=MY-ENV=1234'

ajouter automatiquement le XML correspondant à env Vares et/ou args, y compris l'espace de noms. --confirm vous permet de prévisualiser les changements avant de vous engager.

Cela est beaucoup plus pratique que d'essayer de coller manuellement dans l'espace de noms XML et a travaillé pour moi même si virsh edit n'acceptait plus de modifications manuelles identiques.

Ref: https://blog.wikichoon.com/2017/03/easy-qemu-commandline-passthrough-with.html

4
jeffcook2150

Solution trouvée en utilisant cette solution de contournement

Conversion des arguments QEMU au domaine XML

Après la conversion à l'importation XML avec

virsh create file.xml
1
elbarna