Maison > Article > développement back-end > Explication détaillée du code XML de configuration dans la machine virtuelle KVM
Dans RHEL6, le fichier XML utilisé pour démarrer à partir du disque
Voici un exemple de dcs01.xml :
<domain type='kvm'> <name>dcs01</name> <uuid>e5fff551-bbe1-e748-c8e4-8ecb3bffb902</uuid> <memory>1048576</memory> <currentMemory>1048576</currentMemory> <vcpu>1</vcpu> <os> <type arch='x86_64' machine='rhel6.0.0'>hvm</type> <boot dev='hd'/> </os> <features> <acpi/> <apic/> <pae/> </features> <clock offset='localtime'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/libexec/qemu-kvm</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none'/> <source file='/home/kvm/images/dcs01.img'/> <target dev='hda' bus='ide'/> <address type='drive' controller='0' bus='0' unit='0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <target dev='hdc' bus='ide'/> <readonly/> <address type='drive' controller='0' bus='1' unit='0'/> </disk> <controller type='ide' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <interface type='bridge'> <mac address='52:54:00:ad:75:98'/> <source bridge='br0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> <input type='tablet' bus='usb'/> <input type='mouse' bus='ps2'/> <graphics type='vnc' port='-1' autoport='yes'/> <video> <model type='vga' vram='9216' heads='1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </video> <memballoon model='virtio'> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </memballoon> </devices> </domain>
Les commentaires sont les suivants suit :
1. Début de la définition de l'invité kvm
<domain type='kvm'>
2. Nom court de l'invité. Il se compose de lettres et de chiffres et ne peut pas contenir d'espaces
<name>dcs01</name>
3.uuid, généré par l'outil de ligne de commande uuidgen.
<uuid>e5fff551-bbe1-e748-c8e4-8ecb3bffb902</uuid>
4. La mémoire maximale que l'invité peut utiliser sans redémarrer l'invité, en Ko
<memory>1048576</memory>
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>
6. Processeur virtuel attribué
<vcpu>1</vcpu>
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='x86_64' machine='rhel6.0.0'>hvm</type> <boot dev='hd'/> </os>
8. Caractéristiques du processeur
<features> <acpi/> <apic/> <pae/> </features>
9. Horloge. Utilisez l'heure locale : heure locale
<clock offset='localtime'/>
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>
11. Début de la définition de l'appareil
<devices>
12. Éléments de simulation, l'écriture ici est utilisée pour l'invité de kvm
<emulator>/usr/libexec/qemu-kvm</emulator>
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='file' device='disk'> <driver name='qemu' type='raw' cache='none'/> <source file='/home/kvm/images/dcs01.img'/> <target dev='hda' bus='ide'/> <address type='drive' controller='0' bus='0' unit='0'/> </disk>
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='file' device='disk'> <driver name='qemu' type='raw'/> <source file='/usr/local/kvm/vmsample/disk.os'/> <target dev='vda' bus='virtio'/> </disk>
Périphérique CD-ROM :
<disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <target dev='hdc' bus='ide'/> <readonly/> <address type='drive' controller='0' bus='1' unit='0'/> </disk>
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='bridge'> <mac address='52:54:00:ad:75:98'/> <source bridge='br0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface>
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='network'> <source network='default'/> <mac address="3B:6E:01:69:3A:11"/> </interface>
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='bridge'> <source bridge='br1'/> <model type='virtio' /> </interface>
15. Périphérique d'entrée
<input type='tablet' bus='usb'/> <input type='mouse' bus='ps2'/>
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 33e1e9ce7395ccd8e6281087cf15dba5
<graphics type='vnc' port='-1' autoport='yes'/>17. Fin de la définition de l'appareil
</devices>18. Fin de la définition KVM
</domain>centos_x86_6.4
b9dcdd92 -9b9b-14d6-3938-1982a9746a12
2097152
2097152
1
hvm
détruire
redémarrer
redémarrer
/bin/qemu-kvm
<disk type='file' device='disk'> <driver name='qemu' type='qcow2'/># Le chemin de l'image de destination, dans cet exemple, est affiché en tant que périphérique IDE dans l'invité.
<source file='/home/template_make/centos_x86_6.4.img'> <seclabel model='selinux' relabel='no'/> </source> <target dev='hda' bus='ide'/> <alias name='ide0-0-0'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/home/template_make/CentOS-6.4-x86_64-bin-DVD1.iso'/> <target dev='hdc' bus='ide'/> <readonly/> <alias name='ide0-1-0'/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> <controller type='usb' index='0'> <alias name='usb0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='ide' index='0'> <alias name='ide0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <interface type='bridge'>#Méthode de connexion réseau de machine virtuelle
<mac address='52:54:00:78:f9:5a'/> <source bridge='br0'/> <target dev='vnet27'/>## 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='virtio'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> <input type='mouse' bus='ps2'/>#Connectez-vous avec vnc, le numéro de port est automatiquement attribué. Vous pouvez interroger [vncdisplay domainId] via virsh vncdisplay.
</devices> </domain> unconfined_u:object_r:svirt_image_t:s0:c362,c396
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!