Maison > développement back-end > Tutoriel XML/RSS > Explication détaillée du code XML de configuration dans la machine virtuelle KVM

Explication détaillée du code XML de configuration dans la machine virtuelle KVM

Y2J
Libérer: 2017-04-24 09:17:34
original
3316 Les gens l'ont consulté

Dans RHEL6, le fichier XML utilisé pour démarrer à partir du disque

Voici un exemple de dcs01.xml :

 <domain type=&#39;kvm&#39;>
<name>dcs01</name>
<uuid>e5fff551-bbe1-e748-c8e4-8ecb3bffb902</uuid>
<memory>1048576</memory>
<currentMemory>1048576</currentMemory>
<vcpu>1</vcpu>
<os>
<type arch=&#39;x86_64&#39; machine=&#39;rhel6.0.0&#39;>hvm</type>
<boot dev=&#39;hd&#39;/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<clock offset=&#39;localtime&#39;/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type=&#39;file&#39; device=&#39;disk&#39;>
<driver name=&#39;qemu&#39; type=&#39;raw&#39; cache=&#39;none&#39;/>
<source file=&#39;/home/kvm/images/dcs01.img&#39;/>
<target dev=&#39;hda&#39; bus=&#39;ide&#39;/>
<address type=&#39;drive&#39; controller=&#39;0&#39; bus=&#39;0&#39; unit=&#39;0&#39;/>
</disk>
<disk type=&#39;file&#39; device=&#39;cdrom&#39;>
<driver name=&#39;qemu&#39; type=&#39;raw&#39;/>
<target dev=&#39;hdc&#39; bus=&#39;ide&#39;/>
<readonly/>
<address type=&#39;drive&#39; controller=&#39;0&#39; bus=&#39;1&#39; unit=&#39;0&#39;/>
</disk>
<controller type=&#39;ide&#39; index=&#39;0&#39;>
<address type=&#39;pci&#39; domain=&#39;0x0000&#39; bus=&#39;0x00&#39; slot=&#39;0x01&#39; function=&#39;0x1&#39;/>
</controller>
<interface type=&#39;bridge&#39;>
<mac address=&#39;52:54:00:ad:75:98&#39;/>
<source bridge=&#39;br0&#39;/>
<address type=&#39;pci&#39; domain=&#39;0x0000&#39; bus=&#39;0x00&#39; slot=&#39;0x03&#39; function=&#39;0x0&#39;/>
</interface>
<input type=&#39;tablet&#39; bus=&#39;usb&#39;/>
<input type=&#39;mouse&#39; bus=&#39;ps2&#39;/>
<graphics type=&#39;vnc&#39; port=&#39;-1&#39; autoport=&#39;yes&#39;/>
<video>
<model type=&#39;vga&#39; vram=&#39;9216&#39; heads=&#39;1&#39;/>
<address type=&#39;pci&#39; domain=&#39;0x0000&#39; bus=&#39;0x00&#39; slot=&#39;0x02&#39; function=&#39;0x0&#39;/>
</video>
<memballoon model=&#39;virtio&#39;>
<address type=&#39;pci&#39; domain=&#39;0x0000&#39; bus=&#39;0x00&#39; slot=&#39;0x05&#39; function=&#39;0x0&#39;/>
</memballoon>
</devices>
</domain>
Copier après la connexion

Les commentaires sont les suivants suit :

1. Début de la définition de l'invité kvm

<domain type=&#39;kvm&#39;>
Copier après la connexion

2. Nom court de l'invité. Il se compose de lettres et de chiffres et ne peut pas contenir d'espaces

<name>dcs01</name>
Copier après la connexion

 3.uuid, généré par l'outil de ligne de commande uuidgen.

<uuid>e5fff551-bbe1-e748-c8e4-8ecb3bffb902</uuid>
Copier après la connexion

4. La mémoire maximale que l'invité peut utiliser sans redémarrer l'invité, en Ko

<memory>1048576</memory>
Copier après la connexion

5. Lorsque l'invité démarre, la mémoire peut être ajusté via virsh setmem, mais il ne peut pas être supérieur à la mémoire maximale utilisable.

<currentMemory>1048576</currentMemory>
Copier après la connexion

6. Processeur virtuel attribué

<vcpu>1</vcpu>
Copier après la connexion

7. Système d'exploitation associé
Architecture : i686, x86_64
Machine : hôte Système d'exploitation
boot : spécifiez le périphérique de démarrage. Vous pouvez répéter plusieurs lignes et spécifier différentes valeurs sous forme de liste de périphériques de démarrage.

<os>
<type arch=&#39;x86_64&#39; machine=&#39;rhel6.0.0&#39;>hvm</type>
<boot dev=&#39;hd&#39;/>
</os>
Copier après la connexion

8. Caractéristiques du processeur

<features>
<acpi/>
<apic/>
<pae/>
</features>
Copier après la connexion

9. Horloge. Utilisez l'heure locale : heure locale

<clock offset=&#39;localtime&#39;/>
Copier après la connexion

10. Définissez les actions par défaut lors de la mise hors tension, du redémarrage ou du crash dans l'environnement kvm, respectivement destruction et redémarrage. Les autres actions autorisées incluent : conserver, renommer-redémarrer.
destroy : Arrêtez la machine virtuelle. Équivaut à couper l’alimentation.
restart redémarre la machine virtuelle.

<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
Copier après la connexion

11. Début de la définition de l'appareil

<devices>
Copier après la connexion

12. Éléments de simulation, l'écriture ici est utilisée pour l'invité de kvm

<emulator>/usr/libexec/qemu-kvm</emulator>
Copier après la connexion

 13. Fichiers utilisés pour le stockage kvm. Dans cet exemple, il apparaît dans l'invité en tant que périphérique IDE.
Utilisez la commande qemu-img pour créer ce fichier. Le répertoire par défaut de l'image kvm est : /var/lib/libvirt/images/

<disk type=&#39;file&#39; device=&#39;disk&#39;>
<driver name=&#39;qemu&#39; type=&#39;raw&#39; cache=&#39;none&#39;/>
<source file=&#39;/home/kvm/images/dcs01.img&#39;/>
<target dev=&#39;hda&#39; bus=&#39;ide&#39;/>
<address type=&#39;drive&#39; controller=&#39;0&#39; bus=&#39;0&#39; unit=&#39;0&#39;/>
</disk>
Copier après la connexion

Supplément : Plusieurs disques peuvent être définis. .
Utilisez virtio :
Utilisez un pilote ordinaire, c'est-à-dire que lorsque le disque dur et la carte réseau adoptent la configuration par défaut, la carte réseau fonctionne sous la carte réseau rtl 8139 simulée, avec une vitesse de 100 M en duplex intégral . Après avoir utilisé le pilote virtio, la carte réseau fonctionne en mode 1000M.

En utilisant un pilote ordinaire, c'est-à-dire que lorsque le disque dur et la carte réseau adoptent la configuration par défaut, le disque dur est en mode IDE. Après avoir utilisé le pilote virtio, le disque dur fonctionne en mode SCSI.

<disk type=&#39;file&#39; device=&#39;disk&#39;>
<driver name=&#39;qemu&#39; type=&#39;raw&#39;/>
<source file=&#39;/usr/local/kvm/vmsample/disk.os&#39;/>
<target dev=&#39;vda&#39; bus=&#39;virtio&#39;/>
</disk>
Copier après la connexion

Périphérique CD-ROM :

<disk type=&#39;file&#39; device=&#39;cdrom&#39;>
<driver name=&#39;qemu&#39; type=&#39;raw&#39;/>
<target dev=&#39;hdc&#39; bus=&#39;ide&#39;/>
<readonly/>
<address type=&#39;drive&#39; controller=&#39;0&#39; bus=&#39;1&#39; unit=&#39;0&#39;/>
</disk>
Copier après la connexion

14. Utilisez le type pont. Assurez-vous que l'adresse MAC de chaque invité kvm est unique. Un périphérique tun sera créé avec le nom vnetx (x vaut 0,1,2...)

<interface type=&#39;bridge&#39;>
<mac address=&#39;52:54:00:ad:75:98&#39;/>
<source bridge=&#39;br0&#39;/>
<address type=&#39;pci&#39; domain=&#39;0x0000&#39; bus=&#39;0x00&#39; slot=&#39;0x03&#39; function=&#39;0x0&#39;/>
</interface>
Copier après la connexion

Supplément :
Utilisez le réseau virtuel par défaut au lieu du pont, cela c'est-à-dire que l'invité est le modèle NAT. Vous pouvez également omettre l'élément d'adresse mac, afin que l'adresse mac soit automatiquement générée.

<interface type=&#39;network&#39;>
<source network=&#39;default&#39;/>
<mac address="3B:6E:01:69:3A:11"/>
</interface>
Copier après la connexion

L'adresse 192.168.122.x/24 est attribuée par défaut et peut également être spécifiée manuellement. La passerelle est 192.168.122.1

Utilisez virtio :
Utilisez un pilote ordinaire, c'est-à-dire que lorsque le disque dur et la carte réseau adoptent la configuration par défaut, la carte réseau fonctionne sous la simulation Carte réseau rtl 8139, avec une vitesse de 100M duplex. Après avoir utilisé le pilote virtio, la carte réseau fonctionne en mode 1000M.

<interface type=&#39;bridge&#39;>
<source bridge=&#39;br1&#39;/>
<model type=&#39;virtio&#39; />
</interface>
Copier après la connexion

15. Périphérique d'entrée

<input type=&#39;tablet&#39; bus=&#39;usb&#39;/>
<input type=&#39;mouse&#39; bus=&#39;ps2&#39;/>
Copier après la connexion

16. Définissez le périphérique graphique qui interagit avec guset. Dans cet exemple, le protocole vnc est utilisé. L'adresse d'écoute est l'adresse d'hôte. prot est -1, ce qui signifie que le numéro de port est automatiquement attribué. Utilisez la commande suivante pour trouver le numéro de port :
virsh vncdisplay

 

<graphics type=&#39;vnc&#39; port=&#39;-1&#39; autoport=&#39;yes&#39;/>
Copier après la connexion
<🎜 n'est pas défini ici > 17. Fin de la définition de l'appareil


</devices>
Copier après la connexion
18. Fin de la définition KVM


</domain>
Copier après la connexion
centos_x86_6.4

b9dcdd92 -9b9b-14d6-3938-1982a9746a12
2097152
2097152
1
hvm
détruire
redémarrer
redémarrer
/bin/qemu-kvm

  <disk type=&#39;file&#39; device=&#39;disk&#39;>
      <driver name=&#39;qemu&#39; type=&#39;qcow2&#39;/>
Copier après la connexion
# Le chemin de l'image de destination, dans cet exemple, est affiché en tant que périphérique IDE dans l'invité.​

<source file=&#39;/home/template_make/centos_x86_6.4.img&#39;>
        <seclabel model=&#39;selinux&#39; relabel=&#39;no&#39;/>
      </source>
      <target dev=&#39;hda&#39; bus=&#39;ide&#39;/>
      <alias name=&#39;ide0-0-0&#39;/>
      <address type=&#39;drive&#39; controller=&#39;0&#39; bus=&#39;0&#39; target=&#39;0&#39; unit=&#39;0&#39;/>
    </disk>
    <disk type=&#39;file&#39; device=&#39;cdrom&#39;>
      <driver name=&#39;qemu&#39; type=&#39;raw&#39;/>
      <source file=&#39;/home/template_make/CentOS-6.4-x86_64-bin-DVD1.iso&#39;/>
      <target dev=&#39;hdc&#39; bus=&#39;ide&#39;/>
      <readonly/>
      <alias name=&#39;ide0-1-0&#39;/>
      <address type=&#39;drive&#39; controller=&#39;0&#39; bus=&#39;1&#39; target=&#39;0&#39; unit=&#39;0&#39;/>
    </disk>
    <controller type=&#39;usb&#39; index=&#39;0&#39;>
      <alias name=&#39;usb0&#39;/>
      <address type=&#39;pci&#39; domain=&#39;0x0000&#39; bus=&#39;0x00&#39; slot=&#39;0x01&#39; function=&#39;0x2&#39;/>
    </controller>
    <controller type=&#39;ide&#39; index=&#39;0&#39;>
      <alias name=&#39;ide0&#39;/>
      <address type=&#39;pci&#39; domain=&#39;0x0000&#39; bus=&#39;0x00&#39; slot=&#39;0x01&#39; function=&#39;0x1&#39;/>
    </controller>
    <interface type=&#39;bridge&#39;>
Copier après la connexion
#Méthode de connexion réseau de machine virtuelle

 <mac address=&#39;52:54:00:78:f9:5a&#39;/>
      <source bridge=&#39;br0&#39;/>
      <target dev=&#39;vnet27&#39;/>
Copier après la connexion
## Utiliser virtio : utilisez un pilote ordinaire, c'est-à-dire que lorsque le disque dur et la carte réseau adoptent la configuration par défaut, le disque dur est en mode IDE et la carte réseau fonctionne sous la carte réseau rtl 8139 simulée, avec une vitesse de 100M full duplex. Après avoir utilisé le pilote virtio, la carte réseau fonctionne en mode 1000M et le disque dur fonctionne en mode SCSI.

<model type=&#39;virtio&#39;/>
      <alias name=&#39;net0&#39;/>
      <address type=&#39;pci&#39; domain=&#39;0x0000&#39; bus=&#39;0x00&#39; slot=&#39;0x03&#39; function=&#39;0x0&#39;/>
    </interface>
    <input type=&#39;mouse&#39; bus=&#39;ps2&#39;/>
Copier après la connexion
#Connectez-vous avec vnc, le numéro de port est automatiquement attribué. Vous pouvez interroger [vncdisplay domainId] via virsh vncdisplay.


      
    
    
Copier après la connexion


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal