9.3. 虚拟机 XML 配置示例
虚拟机的 XML 配置(也称为 域 XML )决定虚拟机的设置和组件。下表显示了虚拟机(VM)的 XML 配置示例并解释了其内容。
要获取虚拟机的 XML 配置,您可以使用 virsh dumpxml
命令,后跟虚拟机的名称。
# virsh dumpxml testguest1
域 XML 部分 | 描述 |
---|---|
<domain type='kvm'> <name>Testguest1</name> <uuid>ec6fbaa1-3eb4-49da-bf61-bb02fbec4967</uuid> <memory unit='KiB'>1048576</memory> <currentMemory unit='KiB'>1048576</currentMemory> | 这是一个名为 Testguest1 的 KVM 虚拟机,内存为 1024 MiB。 |
<vcpu placement='static'>1</vcpu> | 虚拟机被分配为单个虚拟 CPU(vCPU)。 有关配置 vCPU 的详情,请参考 优化虚拟机 CPU 性能。 |
<os> <type arch='x86_64' machine='pc-q35-rhel9.0.0'>hvm</type> <boot dev='hd'/> </os> | 机器构架被设置为 AMD64 和 Intel 64 架构,并使用 Intel Q35 机器类型来决定功能兼容性。操作系统被设置为从硬盘引导。 有关使用安装的操作系统创建虚拟机的详情,请参考 使用 web 控制台创建虚拟机并安装客户机操作系统。 |
<features> <acpi/> <apic/> </features> | acpi 和 apic hypervisor 功能被禁用。 |
<cpu mode='host-model' check='partial'/> |
功能 XML 中的主机 CPU 定义(可通过 |
<clock offset='utc'> <timer name='rtc' tickpolicy='catchup'/> <timer name='pit' tickpolicy='delay'/> <timer name='hpet' present='no'/> </clock> | VM 的虚拟硬件时钟使用 UTC 时区。另外,设置了三个不同的计时器以便与 QEMU 管理程序同步。 |
<on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>destroy</on_crash> |
当虚拟机关闭或其操作系统意外终止时, |
<pm> <suspend-to-mem enabled='no'/> <suspend-to-disk enabled='no'/> </pm> | 这个虚拟机禁用 S3 和 S4 ACPI 睡眠状态。 |
<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> |
虚拟机使用
第一个磁盘是基于主机上存储的
第二个磁盘是虚拟化 CD-ROM,其逻辑设备名称被设置为 |
<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'/> |
VM 使用单个控制器来附加 USB 设备,而用于 PCI-Express(PCIe)设备的根控制器。此外,提供了 有关虚拟设备的更多信息,请参阅虚拟设备的类型。 |
<interface type='network'> <mac address='52:54:00:65:29:21'/> <source network='default'/> <model type='virtio'/> </interface> |
在虚拟机中设置了网络接口,它使用 有关配置网络接口的详情,请参考优化虚拟机网络性能。 |
<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> |
在虚拟机上设置了一个 有关与虚拟机交互的更多信息,请参阅 使用 web 控制台与虚拟机进行交互。 |
<input type='tablet' bus='usb'> <address type='usb' bus='0' port='1'/> </input> <input type='mouse' bus='ps2'/> <input type='keyboard' bus='ps2'/> | 虚拟机使用虚拟 usb 端口,该端口设定为接收表格输入,并设置了一个虚拟 ps2 端口以接收鼠标和键盘输入。这个设置是自动设置的,我们不推荐修改这些设置。 |
<graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'> <listen type='address' address='127.0.0.1'/> </graphics> |
虚拟机使用 |
<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> |
虚拟机使用 |