保存 QEMU 虚拟机的完整指南
在使用 QEMU 运行虚拟机时,定期保存虚拟机状态可以避免因意外断电或系统故障导致的工作丢失,保存虚拟机通常涉及两种方式:保存虚拟机运行状态(快照)和导出虚拟机为磁盘镜像,本文将详细介绍这两种方法的操作步骤、适用场景及注意事项,帮助用户高效管理 QEMU 虚拟机。

保存虚拟机运行状态(使用 savevm 命令)
savevm 是 QEMU 提供的内置命令,用于将虚拟机的当前运行状态(包括 CPU 寄存器、内存、设备状态等)保存到文件中,实现“暂停并保存”的功能,此方法适用于临时中断虚拟机运行,并在后续快速恢复到保存时的状态。
操作步骤:
-
进入 QEMU 监控界面
在虚拟机运行时,通过快捷键Ctrl+Alt+2切换到 QEMU 监控终端(若使用图形界面,可通过菜单栏“Monitor”进入)。 -
执行保存命令
在监控界面输入以下命令:savevm <快照名称>
savevm snapshot1会将当前状态保存为名为snapshot1的快照,若不指定名称,QEMU 会自动生成唯一标识符。 -
验证快照是否保存成功
输入info snapshots查看所有已保存的快照列表,确认快照状态为 “inconsistent”(表示保存完成)或 “running”(当前运行状态)。 -
恢复虚拟机状态
需要恢复时,再次进入监控界面,执行:
loadvm <快照名称>
loadvm snapshot1会将虚拟机恢复到保存时的状态,并自动从暂停处继续运行。
注意事项:
- 快照文件默认保存在 QEMU 工作目录下,可通过
-snapshot参数或savevm的文件路径参数自定义存储位置。 - 保存过程中需确保虚拟机内存数据完整,避免因强制中断导致快照损坏。
- 快照文件较大(与虚拟机内存大小相关),建议定期清理无用快照以节省磁盘空间。
导出虚拟机为磁盘镜像(完整备份)
若需将虚拟机迁移到其他主机或长期保存,可直接导出虚拟机的磁盘镜像文件(如 qcow2、raw 等格式),此方法相当于虚拟机的“完整克隆”,保存的是虚拟机的磁盘数据,不包括运行时状态。
操作步骤:
-
关闭虚拟机
在虚拟机内部正常关机(非强制断电),确保所有数据已写入磁盘。 -
使用
qemu-img命令导出镜像
通过宿主机的命令行工具qemu-img复制或转换镜像文件,将qcow2格式的虚拟机镜像导出为新的备份文件:qemu-img convert -f qcow2 -O qcow2 /path/to/original_vm.qcow2 /path/to/backup_vm.qcow2
参数说明:

-f qcow2:指定源镜像格式为qcow2(需根据实际格式调整)。-O qcow2:指定目标镜像格式(支持raw、qcow2等)。- 路径部分需替换为实际文件位置。
-
压缩镜像(可选)
若需节省存储空间,可在导出时添加-c参数启用压缩:qemu-img convert -f qcow2 -O qcow2 -c /path/to/original_vm.qcow2 /path/to/backup_vm.qcow2
压缩后的镜像文件体积更小,但恢复时需先解压(或直接使用压缩文件启动虚拟机)。
-
验证备份文件
使用qemu-img info检查备份文件的格式和完整性:qemu-img info /path/to/backup_vm.qcow2
注意事项:
- 导出镜像前务必关闭虚拟机,避免数据不一致。
- 若虚拟机使用快照链(如多层
qcow2镜像),需合并所有快照后再导出,否则备份可能不完整。 - 建议定期备份,并将备份文件存储在独立存储设备中,防止宿主机故障导致数据丢失。
保存 QEMU 虚拟机需根据实际需求选择合适的方法:savevm 适合临时中断和快速恢复,而镜像导出则适用于长期备份或迁移,无论采用哪种方式,都应注意操作规范(如正常关机、验证完整性),并定期检查备份文件的有效性,通过合理的保存策略,可有效提升虚拟机的管理效率和数据安全性。



















