Rechercher

9.3. Exemple de configuration XML d'une machine virtuelle

download PDF

La configuration XML d'une VM, également appelée domain XML, détermine les paramètres et les composants de la VM. Le tableau suivant présente les sections d'un exemple de configuration XML d'une machine virtuelle (VM) et en explique le contenu.

Pour obtenir la configuration XML d'une VM, vous pouvez utiliser la commande virsh dumpxml suivie du nom de la VM.

# virsh dumpxml testguest1
Tableau 9.1. Exemple de configuration XML
Domaine Section XMLDescription
<domain type='kvm'>
 <name>Testguest1</name>
 <uuid>ec6fbaa1-3eb4-49da-bf61-bb02fbec4967</uuid>
 <memory unit='KiB'>1048576</memory>
 <currentMemory unit='KiB'>1048576</currentMemory>

Il s'agit d'une machine virtuelle KVM appelée Testguest1, avec 1024 MiB de RAM alloués.

 <vcpu placement='static'>1</vcpu>

La VM est dotée d'un seul processeur virtuel (vCPU).

Pour plus d'informations sur la configuration des vCPU, voir Optimisation des performances du processeur de la machine virtuelle.

 <os>
  <type arch='x86_64' machine='pc-q35-rhel9.0.0'>hvm</type>
  <boot dev='hd'/>
 </os>

L'architecture de la machine est réglée sur AMD64 et Intel 64, et utilise le type de machine Intel Q35 pour déterminer la compatibilité des fonctionnalités. Le système d'exploitation est configuré pour être démarré à partir du disque dur.

Pour plus d'informations sur la création d'une machine virtuelle avec un système d'exploitation installé, voir Création de machines virtuelles et installation de systèmes d'exploitation invités à l'aide de la console web.

 <features>
  <acpi/>
  <apic/>
 </features>

Les fonctionnalités des hyperviseurs acpi et apic sont désactivées.

 <cpu mode='host-model' check='partial'/>

Les définitions de l'unité centrale de l'hôte à partir de capabilities XML (obtenues avec virsh domcapabilities) sont automatiquement copiées dans la configuration XML de la VM. Par conséquent, lorsque la VM est démarrée, libvirt choisit un modèle d'unité centrale similaire à l'unité centrale de l'hôte, puis ajoute des fonctions supplémentaires pour se rapprocher le plus possible du modèle de l'hôte.

 <clock offset='utc'>
  <timer name='rtc' tickpolicy='catchup'/>
  <timer name='pit' tickpolicy='delay'/>
  <timer name='hpet' present='no'/>
 </clock>

L'horloge du matériel virtuel de la VM utilise le fuseau horaire UTC. En outre, trois horloges différentes sont configurées pour la synchronisation avec l'hyperviseur QEMU.

 <on_poweroff>destroy</on_poweroff>
 <on_reboot>restart</on_reboot>
 <on_crash>destroy</on_crash>

Lorsque la VM s'éteint ou que son système d'exploitation s'arrête de manière inattendue, libvirt met fin à la VM et libère toutes les ressources qui lui ont été allouées. Lorsque la VM est redémarrée, libvirt la redémarre avec la même configuration.

 <pm>
  <suspend-to-mem enabled='no'/>
  <suspend-to-disk enabled='no'/>
 </pm>

Les états de veille ACPI S3 et S4 sont désactivés pour cette VM.

<devices>
 <emulator>/usr/libexec/qemu-kvm</emulator>
 <disk type='file' device='disk'>
  <driver name='qemu' type='qcow2'/>
  <source file='/var/lib/libvirt/images/Testguest.qcow2'/>
  <target dev='vda' bus='virtio'/>
 </disk>
 <disk type='file' device='cdrom'>
  <driver name='qemu' type='raw'/>
  <target dev='sdb' bus='sata'/>
  <readonly/>
 </disk>

La VM utilise le fichier binaire /usr/libexec/qemu-kvm pour l'émulation et dispose de deux périphériques de disque.

Le premier disque est un disque dur virtualisé basé sur le disque /var/lib/libvirt/images/Testguest.qcow2 stocké sur l'hôte, et son nom de périphérique logique est défini sur vda. Dans les invités Windows, il est recommandé d'utiliser le bus sata au lieu de virtio.

Le deuxième disque est un CD-ROM virtualisé et son nom de périphérique logique est sdb.

  <controller type='usb' index='0' model='qemu-xhci' ports='15'/>
  <controller type='sata' index='0'/>
  <controller type='pci' index='0' model='pcie-root'/>
  <controller type='pci' index='1' model='pcie-root-port'>
   <model name='pcie-root-port'/>
   <target chassis='1' port='0x10'/>
  </controller>
  <controller type='pci' index='2' model='pcie-root-port'>
   <model name='pcie-root-port'/>
   <target chassis='2' port='0x11'/>
  </controller>
  <controller type='pci' index='3' model='pcie-root-port'>
   <model name='pcie-root-port'/>
   <target chassis='3' port='0x12'/>
  </controller>
  <controller type='pci' index='4' model='pcie-root-port'>
   <model name='pcie-root-port'/>
   <target chassis='4' port='0x13'/>
  </controller>
  <controller type='pci' index='5' model='pcie-root-port'>
   <model name='pcie-root-port'/>
   <target chassis='5' port='0x14'/>
  </controller>
  <controller type='pci' index='6' model='pcie-root-port'>
   <model name='pcie-root-port'/>
   <target chassis='6' port='0x15'/>
  </controller>
  <controller type='pci' index='7' model='pcie-root-port'>
   <model name='pcie-root-port'/>
   <target chassis='7' port='0x16'/>
  </controller>
  <controller type='virtio-serial' index='0'/>

La VM utilise un seul contrôleur pour attacher les périphériques USB et un contrôleur racine pour les périphériques PCI-Express (PCIe). En outre, un contrôleur virtio-serial est disponible, ce qui permet à la VM d'interagir avec l'hôte de diverses manières, comme la console série.

Pour plus d'informations sur les dispositifs virtuels, voir Types de dispositifs virtuels.

 <interface type='network'>
  <mac address='52:54:00:65:29:21'/>
  <source network='default'/>
  <model type='virtio'/>
 </interface>

Une interface réseau est configurée dans la VM qui utilise le réseau virtuel default et le modèle de périphérique réseau virtio. Pour les invités Windows, il est recommandé d'utiliser le modèle e1000e au lieu de virtio.

Pour plus d'informations sur la configuration de l'interface réseau, voir Optimisation des performances du réseau de la machine virtuelle.

  <serial type='pty'>
   <target type='isa-serial' port='0'>
    <model name='isa-serial'/>
   </target>
  </serial>
  <console type='pty'>
   <target type='serial' port='0'/>
  </console>
  <channel type='unix'>
   <target type='virtio' name='org.qemu.guest_agent.0'/>
   <address type='virtio-serial' controller='0' bus='0' port='1'/>
  </channel>

Une console série pty est installée sur la VM, ce qui permet une communication rudimentaire de la VM avec l'hôte. La console utilise le canal UNIX sur le port 1. Cette configuration est automatique et il n'est pas recommandé de la modifier.

Pour plus d'informations sur l'interaction avec les machines virtuelles, voir Interagir avec les machines virtuelles à l'aide de la console web.

  <input type='tablet' bus='usb'>
   <address type='usb' bus='0' port='1'/>
  </input>
  <input type='mouse' bus='ps2'/>
  <input type='keyboard' bus='ps2'/>

La VM utilise un port virtuel usb, qui est configuré pour recevoir l'entrée de la tablette, et un port virtuel ps2 configuré pour recevoir l'entrée de la souris et du clavier. Ces paramètres sont configurés automatiquement et il n'est pas recommandé de les modifier.

  <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'>
   <listen type='address' address='127.0.0.1'/>
  </graphics>

La VM utilise le protocole vnc pour le rendu de sa sortie graphique.

  <redirdev bus='usb' type='tcp'>
   <source mode='connect' host='localhost' service='4000'/>
   <protocol type='raw'/>
  </redirdev>
  <memballoon model='virtio'>
   <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
  </memballoon>
 </devices>
</domain>

La VM utilise tcp re-director pour attacher des périphériques USB à distance, et le memory ballooning est activé. Ces paramètres sont configurés automatiquement et il n'est pas recommandé de les modifier.

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.