虚拟机 XML 配置
虚拟机 XML 配置
Libvirt 使用 XML 格式文件描述虚拟机的完整配置,包括名称、CPU、内存、磁盘、网卡等设备。了解 XML 结构是管理虚拟机的基础。
domain 和 name
| 元素 | 说明 |
|---|---|
<domain> |
XML 根元素,type 属性指定 hypervisor 类型,虚拟化中取值为 kvm |
<name> |
虚拟机名称,同一主机上不可重复。由数字、字母、_、-、: 组成,不超过 64 字符,不支持全数字 |
vcpu 和 memory
<vcpu>4</vcpu>
<memory unit='GiB'>8</memory>
| 元素 | 说明 |
|---|---|
<vcpu> |
虚拟处理器个数 |
<memory> |
虚拟内存大小,unit 属性支持 KiB、MiB、GiB、TiB |
CPU 模式
<cpu mode='host-passthrough'>
<topology sockets='2' cores='4' threads='1'/>
</cpu>
| 属性 | 说明 |
|---|---|
mode='host-passthrough' |
虚拟 CPU 架构和特性与主机保持一致 |
mode='custom' |
虚拟 CPU 架构和特性由 <cpu> 元素控制 |
:::tip 提示
使用 host-passthrough 模式可获得最佳性能;使用 custom 模式可自定义 CPU 模型和特性,适合需要跨主机迁移虚拟机的场景。
:::
CPU 特性策略(feature 元素的 policy 属性):
| 策略 | 说明 |
|---|---|
force |
强制使能该特性,无论主机 CPU 是否支持 |
require |
使能该特性,若主机不支持且 hypervisor 无法模拟则创建失败 |
optional |
与主机上该特性的使能情况保持一致 |
disable |
禁用该特性 |
forbid |
禁用该特性,若主机支持则创建失败 |
存储设备(disk)
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/var/lib/libvirt/images/uos.qcow2'/>
<target dev='vda' bus='virtio'/>
<boot order='1'/>
</disk>
常用属性:
| 属性 | 说明 | 可选值 |
|---|---|---|
type |
后端存储介质类型 | block(块设备)、file(文件)、dir(目录) |
device |
呈现给虚拟机的存储介质 | disk(磁盘,默认)、floppy(软盘)、cdrom(光盘) |
常用子元素:
| 子元素 | 说明 |
|---|---|
<source> |
指定后端存储路径。file 类型对应文件路径,block 类型对应设备路径 |
<driver> |
驱动详情。type 需与源格式一致(raw/qcow2);cache 可选 none、writethrough、writeback、directsync |
<target> |
磁盘呈现给虚拟机的总线类型。dev 指定设备名(如 vda、sda),bus 指定总线类型(virtio、scsi、sata) |
<boot> |
启动顺序,order 值越小优先级越高 |
<readonly> |
只读属性,通常用于光驱 |
网络设备(interface)
<interface type='bridge'>
<mac address='52:54:00:91:6b:bc'/>
<source bridge='br0'/>
<model type='virtio'/>
<driver name='vhost' queues='4'/>
</interface>
常用子元素:
| 子元素 | 说明 |
|---|---|
<mac> |
虚拟网卡 MAC 地址,不配置则自动生成 |
<target> |
后端 tap 设备名称 |
<source> |
网桥模式下的网桥名称 |
<model> |
网卡类型,bridge 模式通常使用 virtio |
<driver> |
后端驱动,name 通常取 vhost,queues 指定设备队列数 |
控制器(controller)
<controller type='scsi' model='virtio-scsi' index='0'/>
<controller type='usb' model='nec-xhci' index='0'/>
常用类型与型号对应关系:
| type | model | 说明 |
|---|---|---|
pci |
pcie-root |
PCIe 根节点 |
pci |
pcie-root-port |
PCIe 根端口,可挂载 PCIe 设备 |
usb |
ehci |
USB 2.0 控制器 |
usb |
nec-xhci |
USB 3.0 控制器 |
scsi |
virtio-scsi |
virtio 类型 SCSI 控制器 |
virtio-serial |
virtio-serial |
virtio 串口控制器 |
其他常用设备
串口(serial):
<serial type='pty'>
<target port='0'/>
</serial>
显卡(video):
<!-- ARM64 架构 -->
<video>
<model type='virtio' heads='1' primary='yes'/>
</video>
<!-- AMD64 架构,配置 16MB VGA 显卡 -->
<video>
<model type='vga' vram='16384' heads='1' primary='yes'/>
</video>
输入设备(input):
<input type='tablet' bus='usb'/>
<input type='keyboard' bus='usb'/>
图形设备(graphics):
<graphics type='vnc' listen='0.0.0.0'/>
No comments to display
No comments to display