====== 第七章: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 --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. 监控资源使用