第七章:QEMU/KVM虚拟机
原文链接:https://pve.proxmox.com/pve-docs/chapter-qm.html 最后更新:2026-02-25
概述
QEMU(Quick Emulator)是一个开源的虚拟化软件,可以模拟完整的物理计算机。Proxmox VE使用QEMU作为其KVM虚拟机的管理程序。
虚拟化技术
KVM
* 基于内核的虚拟机 * 硬件辅助虚拟化 * 高性能 * 接近原生性能
QEMU
* 完整系统模拟 * 设备仿真 * 迁移支持
虚拟机创建
通过Web界面
1. 点击“创建虚拟机” 2. 选择名称和操作系统 3. 配置CPU和内存 4. 配置存储 5. 配置网络 6. 完成
通过命令行
qm create 100 --name myvm --ostype l26 --cores 2 --memory 4096 --net0 virtio,bridge=vmbr0
虚拟机配置
常规设置
* 节点 - 运行位置 * VM ID - 唯一标识符 * 名称 - 描述名称 * 资源池 - 逻辑分组
操作系统
* 类型 - Linux/Windows/其他 * 版本 - 特定版本 * ISO镜像 - 安装介质
系统设置
* 主板类型 - i440fx/Q35 * BIOS/UEFI * EFI磁盘 * 机器版本
硬盘
* 总线类型 - IDE/SATA/VirtIO/SCSI * 映像格式 - Raw/QCOW2 * 缓存模式 * Discard/Trim
CPU
* 插槽数 * 核心数 * CPU类型 * NUMA
内存
* 固定内存 * 气球驱动 * 内存布局
网络
* VirtIO - 推荐 * E1000 - 兼容性好 * RTL8139 - 旧系统 * 绑定模式
显示器
* VGA类型 * 内存 * 多显示器 * VNC/SPICE
设备直通
PCI直通
配置PCI设备:
qm set 100 -hostpci0 01:00,pcie=1,x-vga=1
USB直通
qm set 100 -usb0 host=1234:5678
GPU直通
用于VDI或计算加速。
虚拟机操作
生命周期
* 启动 - qm start * 停止 - qm stop * 重启 - qm reset * 暂停 - qm pause * 恢复 - qm resume
控制台访问
qm console 100 qm vncproxy 100
克隆
qm clone 100 101 --name clonevm
模板
创建模板:
qm template 100
快照管理
创建快照
qm snapshot 100 mysnapshot
列出快照
qm listsnapshot 100
恢复快照
qm rollback 100 mysnapshot
删除快照
qm delsnapshot 100 mysnapshot
迁移
在线迁移
qm migrate 100 target-node --online
离线迁移
qm migrate 100 target-node
迁移选项
* 压缩 * 带宽限制 * 迁移类型
备份和恢复
备份
vzdump 100 --mode snapshot --storage local
恢复
qm restore <vmid> <backup-file> --storage local
资源限制
CPU限制
qm set 100 --cores 2 --cpulimit 2
内存限制
qm set 100 --memory 4096 --balloon 2048
IO限制
qm set 100 --virtio0 local:vm-100-disk-0,size=20G,iops_rd=1000,iops_wr=500
高性能配置
VirtIO驱动
使用VirtIO设备: * VirtIO块 - 存储 * VirtIO网络 - 网络 * VirtIO SCSI - SCSI
半虚拟化
* VirtIO - 推荐的 * 准虚拟化驱动
CPU配置
* 主机CPU类型 * 嵌套页 * CPU绑定
安全
安全启动
配置UEFI安全启动:
qm set 100 --ovmf /usr/share/pve-edk2-firmware/OVMF_CODE.secured.fd
内存加密
* AMD SEV * Intel TDX(将来支持)
故障排除
常见问题
* 启动失败 * 性能问题 * 设备问题 * 迁移失败
诊断命令
# 查看状态 qm status 100 # 查看 qm配置 config 100 # 查看日志 qm monitor 100
最佳实践
1. 使用VirtIO驱动 2. 正确配置CPU类型 3. 定期快照 4. 监控资源使用
