首页/云/云平台与虚拟化速查/virsh managedsave 托管保存
虚拟化操作94 条

virsh managedsave 托管保存

managedsave 把运行中的域保存为托管状态并停止进程:内存数据存到 libvirt 管理的位置,下次 start 自动恢复运行现场;managedsave-remove 用于清理保存文件。

云平台与虚拟化速查云更新于 2026-10-13

virsh managedsave 是什么

managedsave 把运行中的域保存为托管状态并停止其进程:内存内容与设备状态写到 libvirt 管理的位置,下次用 start 启动时自动恢复到保存时的运行现场,包括运行中的进程与已建立的连接。它常用于宿主需要重启或维护时快速下线业务,比关机再开机省去应用预热时间。代价是这份保存文件承载着虚机的运行现场,必须和磁盘镜像一起看待。

基本信息

适用平台使用 libvirt 与 QEMU 的 Linux 宿主
保存命令virsh managedsave <域>,执行后域变为关闭状态但保留保存文件
恢复方式virsh start <域>,自动进入恢复流程
查看状态virsh list --all --managed-save
清理命令virsh managedsave-remove <域> 删除保存文件
前置条件需要对域有管理权限,且保存目录有足够空间容纳内存内容
时间成本保存与恢复耗时与内存大小和存储速度相关

典型使用场景

  • 宿主维护重启:把业务先托管保存,维护完成后再恢复运行现场
  • 临时释放资源:需要把 CPU 与内存让给其他任务时保存并停掉虚机
  • 阶段性实验:保存当前状态,验证另一条路径后再恢复回来
  • 避免长时间冷启动:应用启动慢的业务用托管保存替代关机开机
  • 应急处理:需要快速腾出宿主内存,比迁移更直接

保存、恢复与清理

保存、恢复与清理
virsh list                                    # 确认域正在运行
sudo virsh managedsave vm1                    # 保存运行现场并停止域
virsh list --all --managed-save                # 查看哪些域处于托管保存状态
sudo virsh start vm1                           # 从托管保存恢复,观察是否回到原现场
virsh screenshot vm1 /tmp/after-restore.ppm    # 有图形时抓一张图确认界面状态
virsh managedsave-remove vm1                   # 确认不再需要后清理保存文件释放空间
# 注意:保存文件通常不在常规备份范围内,需单独确认是否要纳入备份

状态与验证

查询对象结果含义异常处理
list --all域显示为关闭状态确认是托管保存而不是异常宕机
list --managed-save列出存在保存文件的域列表为空说明没有可恢复的现场
start 恢复进程回到保存时状态配置变更后可能失败,需按提示走干净启动
screenshot图形虚机的当前画面画面为空时改看串口日志
保存文件占用保存文件大小接近内存配置空间不足会导致保存失败
备份覆盖确认保存文件是否被备份未覆盖时宿主故障后现场不可恢复
托管保存的恢复对配置变更敏感:保存后若修改了 CPU 型号或设备配置,恢复可能失败,此时通常只能放弃现场按干净启动处理。
保存文件不纳入常规备份:宿主本身故障时运行现场丢失,业务只能冷启动,重要系统应评估是否需要额外保护。

易错点

  • 保存文件不在备份范围内:宿主故障后现场不可恢复,业务只能冷启动
  • 恢复前改动了虚机配置:恢复失败,需按提示回到干净启动并丢失现场
  • 把托管保存当快照使用:它保存运行现场,磁盘状态由镜像承担,两者要一起回退
  • 保存目录空间不足:保存失败或写入不完整,虚机可能停在异常状态
  • 长期不清理保存文件:占用大量磁盘空间,且容易与迁移或扩容操作混淆

数据来源与参考

  • libvirt 文档:virsh managedsave
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌