Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung des Konfigurations-XML-Codes in der virtuellen KVM-Maschine

Detaillierte Erläuterung des Konfigurations-XML-Codes in der virtuellen KVM-Maschine

Y2J
Y2JOriginal
2017-04-24 09:17:343266Durchsuche

In RHEL6 wird die XML-Datei zum Booten von der Festplatte verwendet

Hier ist ein Beispiel für 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>

Kommentare sind wie folgt folgt:

1. Beginn der KVM-Gastdefinition

<domain type=&#39;kvm&#39;>

2. Kurzname des Gastes. Es besteht aus Buchstaben und Zahlen und darf keine Leerzeichen enthalten

<name>dcs01</name>

 3. uuid, generiert vom Kommandozeilentool uuidgen.

<uuid>e5fff551-bbe1-e748-c8e4-8ecb3bffb902</uuid>

4. Der maximale Speicher, den der Gast nutzen kann, ohne den Gast neu zu starten, in KB

<memory>1048576</memory>

5. Wenn der Gast startet, kann der Speicher sein wird über virsh setmem angepasst, darf jedoch nicht größer als der maximal nutzbare Speicher sein.

<currentMemory>1048576</currentMemory>

6. Zugewiesene virtuelle CPU

<vcpu>1</vcpu>

7. Zugehöriges Betriebssystem
Architektur: i686, x86_64
Maschine: Host-Betriebssystem
boot: Geben Sie das Startgerät an. Sie können mehrere Zeilen wiederholen und verschiedene Werte als Startgeräteliste angeben.

<os>
<type arch=&#39;x86_64&#39; machine=&#39;rhel6.0.0&#39;>hvm</type>
<boot dev=&#39;hd&#39;/>
</os>

8. Prozessorfunktionen

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

9. Uhr. Ortszeit verwenden: Ortszeit

<clock offset=&#39;localtime&#39;/>

10. Definieren Sie die Standardaktionen beim Ausschalten, Neustart oder Absturz in der KVM-Umgebung: Zerstören bzw. Neustart. Zu den weiteren zulässigen Aktionen gehören: Beibehalten, Umbenennen und Neustarten.
zerstören: Stoppen Sie die virtuelle Maschine. Entspricht dem Ausschalten des Stroms.
restart startet die virtuelle Maschine neu.

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

11. Beginn der Gerätedefinition

<devices>

12. Simulationselemente, die Schreibweise hier wird für Gäste von kvm verwendet

<emulator>/usr/libexec/qemu-kvm</emulator>

 13. Für die KVM-Speicherung verwendete Dateien. In diesem Beispiel erscheint es im Gast als IDE-Gerät.
Verwenden Sie den Befehl qemu-img, um diese Datei zu erstellen. Das Standardverzeichnis des KVM-Images ist: /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>

Ergänzung: Es können mehrere Festplatten definiert werden .
Verwenden Sie virtio:
Verwenden Sie einen normalen Treiber. Das heißt, wenn sowohl die Festplatte als auch die Netzwerkkarte die Standardkonfiguration übernehmen, funktioniert die Netzwerkkarte unter der simulierten RTL 8139-Netzwerkkarte mit einer Geschwindigkeit von 100 MB Vollduplex . Nach Verwendung des Virtio-Treibers arbeitet die Netzwerkkarte im 1000M-Modus.

Bei Verwendung eines normalen Treibers, d. h. wenn sowohl die Festplatte als auch die Netzwerkkarte die Standardkonfiguration übernehmen, befindet sich die Festplatte im IDE-Modus. Nach Verwendung des Virtio-Treibers arbeitet die Festplatte im SCSI-Modus.

<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>

CD-ROM-Gerät:

<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>

14. Verwenden Sie den Bridge-Typ. Stellen Sie sicher, dass die Mac-Adresse jedes KVM-Gasts eindeutig ist. Es wird ein Tun-Gerät mit dem Namen vnetx erstellt (x ist 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>

Ergänzung:
Verwenden Sie das standardmäßige virtuelle Netzwerk anstelle der Bridge Das heißt, der Gast ist ein NAT-Modell. Sie können das MAC-Adresselement auch weglassen, sodass die MAC-Adresse automatisch generiert wird.

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

Die Adresse 192.168.122.x/24 ist standardmäßig vergeben und kann auch manuell angegeben werden. Das Gateway ist 192.168.122.1

Verwenden Sie virtio:
Verwenden Sie einen normalen Treiber. Das heißt, wenn sowohl die Festplatte als auch die Netzwerkkarte die Standardkonfiguration übernehmen, funktioniert die Netzwerkkarte unter der simulierten RTL 8139-Netzwerkkarte mit einer Geschwindigkeit von 100 MB. Nach Verwendung des Virtio-Treibers arbeitet die Netzwerkkarte im 1000M-Modus.

<interface type=&#39;bridge&#39;>
<source bridge=&#39;br1&#39;/>
<model type=&#39;virtio&#39; />
</interface>

15. Eingabegerät

<input type=&#39;tablet&#39; bus=&#39;usb&#39;/>
<input type=&#39;mouse&#39; bus=&#39;ps2&#39;/>

16. Definieren Sie das Grafikgerät, das mit Guset interagiert. In diesem Beispiel wird das VNC-Protokoll verwendet. Die Adresse des Abhörens ist die Adresse des Hosts. prot ist -1, was bedeutet, dass die Portnummer automatisch zugewiesen wird. Verwenden Sie den folgenden Befehl, um die Portnummer zu finden:
virsh vncdisplay 33e1e9ce7395ccd8e6281087cf15dba5

 

<graphics type=&#39;vnc&#39; port=&#39;-1&#39; autoport=&#39;yes&#39;/>
17. Ende der Gerätedefinition


</devices>
18. Ende der KVM-Definition


</domain>
centos_x86_6.4

b9dcdd92 -9b9b-14d6-3938-1982a9746a12
2097152
2097152
1
hvm
destroy
restart
restart
/bin/qemu-kvm

  <disk type=&#39;file&#39; device=&#39;disk&#39;>
      <driver name=&#39;qemu&#39; type=&#39;qcow2&#39;/>
# Der Ziel-Image-Pfad wird in diesem Beispiel als IDE-Gerät im Gast angezeigt.​

<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;>
#Netzwerkverbindungsmethode für virtuelle Maschinen

 <mac address=&#39;52:54:00:78:f9:5a&#39;/>
      <source bridge=&#39;br0&#39;/>
      <target dev=&#39;vnet27&#39;/>
## Virtio verwenden: Verwenden Sie einen normalen Treiber. Das heißt, wenn sowohl die Festplatte als auch die Netzwerkkarte die Standardkonfiguration übernehmen, befindet sich die Festplatte im IDE-Modus und die Netzwerkkarte funktioniert unter Die simulierte RTL 8139-Netzwerkkarte mit einer Geschwindigkeit von 100 MB Vollduplex. Nach Verwendung des Virtio-Treibers arbeitet die Netzwerkkarte im 1000M-Modus und die Festplatte im SCSI-Modus.

<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;/>
#Mit vnc anmelden, die Portnummer wird automatisch zugewiesen. Sie können [vncdisplay domainId] über virsh vncdisplay abfragen


      
    
    


Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Konfigurations-XML-Codes in der virtuellen KVM-Maschine. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn