1. libvirt XML配置文件概述
libvirt作为开源的虚拟化管理工具,其核心配置文件采用XML格式定义虚拟机的各项参数。这份配置文件相当于虚拟机的"基因图谱",决定了虚拟机的硬件规格、运行特性和资源分配方式。对于使用KVM/QEMU虚拟化技术的场景,合理配置XML文件直接影响虚拟机的性能表现和功能完整性。
在实际生产环境中,我们通常会遇到以下几种典型场景需要手动编辑XML配置:
- 创建自定义硬件规格的虚拟机
- 调整现有虚拟机的资源分配策略
- 实现特定设备直通(passthrough)
- 优化虚拟机性能参数
- 配置高级虚拟化特性
重要提示:直接修改XML文件前务必先关闭虚拟机,修改完成后建议使用
virsh define命令重新加载配置,避免配置不生效或损坏虚拟机。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 虚拟机基础配置解析
2.1 计算资源定义
xml复制<domain type="kvm">
<name>i-insttest</name>
<memory unit="KiB">4194304</memory>
<currentMemory unit="KiB">4194304</currentMemory>
<vcpu current="4">4</vcpu>
</domain>
-
内存配置:
memory定义虚拟机可使用的最大内存(本例4GiB)currentMemory表示实际分配内存,通常与最大内存相同- 单位支持KiB/MiB/GiB,建议使用MiB或GiB更直观
-
vCPU配置:
vcpu标签定义虚拟CPU总数current属性可动态调整在线CPU数量(需guest系统支持)- 最佳实践:初始配置不超过物理核心数,避免过度分配
2.2 CPU调度与拓扑
xml复制<cputune>
<shares>512</shares>
</cputune>
<cpu mode="custom">
<topology sockets='1' cores='8' threads='1'/>
<feature policy='require' name='vmx'/>
