


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
<graphics type='vnc' port='-1' autoport='yes'/>
</devices>
</domain>
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'/>
<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'>
<mac address='52:54:00:78:f9:5a'/> <source bridge='br0'/> <target dev='vnet27'/>
<model type='virtio'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> <input type='mouse' bus='ps2'/>
</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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Les fichiers XML peuvent-ils être ouverts avec PPT ? XML, Extensible Markup Language (Extensible Markup Language), est un langage de balisage universel largement utilisé dans l'échange et le stockage de données. Comparé au HTML, XML est plus flexible et peut définir ses propres balises et structures de données, rendant le stockage et l'échange de données plus pratiques et unifiés. PPT, ou PowerPoint, est un logiciel développé par Microsoft pour créer des présentations. Il fournit un moyen complet de

Utilisation de Python pour fusionner et dédupliquer des données XML XML (eXtensibleMarkupLanguage) est un langage de balisage utilisé pour stocker et transmettre des données. Lors du traitement de données XML, nous devons parfois fusionner plusieurs fichiers XML en un seul ou supprimer les données en double. Cet article explique comment utiliser Python pour implémenter la fusion et la déduplication de données XML, et donne des exemples de code correspondants. 1. Fusion de données XML Lorsque nous avons plusieurs fichiers XML, nous devons les fusionner

Convertir des données XML en Python au format CSV XML (ExtensibleMarkupLanguage) est un langage de balisage extensible couramment utilisé pour le stockage et la transmission de données. CSV (CommaSeparatedValues) est un format de fichier texte délimité par des virgules couramment utilisé pour l'importation et l'exportation de données. Lors du traitement des données, il est parfois nécessaire de convertir les données XML au format CSV pour faciliter l'analyse et le traitement. Python est un puissant

Implémentation du filtrage et du tri des données XML à l'aide de Python Introduction : XML est un format d'échange de données couramment utilisé qui stocke les données sous forme de balises et d'attributs. Lors du traitement de données XML, nous devons souvent filtrer et trier les données. Python fournit de nombreux outils et bibliothèques utiles pour traiter les données XML. Cet article explique comment utiliser Python pour filtrer et trier les données XML. Lecture du fichier XML Avant de commencer, nous devons lire le fichier XML. Python possède de nombreuses bibliothèques de traitement XML,

Importation de données XML dans la base de données à l'aide de PHP Introduction : Pendant le développement, nous devons souvent importer des données externes dans la base de données pour un traitement et une analyse ultérieurs. En tant que format d'échange de données couramment utilisé, XML est souvent utilisé pour stocker et transmettre des données structurées. Cet article explique comment utiliser PHP pour importer des données XML dans une base de données. Étape 1 : analyser le fichier XML Tout d'abord, nous devons analyser le fichier XML et extraire les données requises. PHP propose plusieurs façons d'analyser XML, la plus couramment utilisée étant l'utilisation de Simple

Python implémente la conversion entre XML et JSON Introduction : Dans le processus de développement quotidien, nous devons souvent convertir des données entre différents formats. XML et JSON sont des formats d'échange de données courants. En Python, nous pouvons utiliser diverses bibliothèques pour réaliser une conversion mutuelle entre XML et JSON. Cet article présentera plusieurs méthodes couramment utilisées, avec des exemples de code. 1. Pour convertir XML en JSON en Python, nous pouvons utiliser le module xml.etree.ElementTree

Gestion des erreurs et des exceptions dans XML à l'aide de Python XML est un format de données couramment utilisé pour stocker et représenter des données structurées. Lorsque nous utilisons Python pour traiter XML, nous pouvons parfois rencontrer des erreurs et des exceptions. Dans cet article, je vais vous présenter comment utiliser Python pour gérer les erreurs et les exceptions dans XML, et fournir un exemple de code pour référence. Utilisez l'instruction try-sauf pour détecter les erreurs d'analyse XML Lorsque nous utilisons Python pour analyser XML, nous pouvons parfois rencontrer des

Python analyse les caractères spéciaux et les séquences d'échappement en XML XML (eXtensibleMarkupLanguage) est un format d'échange de données couramment utilisé pour transférer et stocker des données entre différents systèmes. Lors du traitement de fichiers XML, vous rencontrez souvent des situations contenant des caractères spéciaux et des séquences d'échappement, qui peuvent provoquer des erreurs d'analyse ou une mauvaise interprétation des données. Par conséquent, lors de l’analyse de fichiers XML à l’aide de Python, nous devons comprendre comment gérer ces caractères spéciaux et ces séquences d’échappement. 1. Caractères spéciaux et
