Files

3.6 KiB

错误信息 QEMU guest agent is not configured 是因为你使用了 --quiesce 参数。该参数要求虚拟机内部必须运行 QEMU Guest Agent,并且 libvirt 已经配置好与之通信的通道。--quiesce 的作用是在快照前通过 guest agent 暂停虚拟机的文件系统 I/O,以保证快照的数据一致性(尤其对 Windows 系统很重要)。


🎯 镜像管理

安装并配置 QEMU Guest Agent(推荐)这是最规范的做法,既能保证快照一致性,又能实现后续更多管理功能(如获取 IP、关机等)。

1. 下载 virtio-win ISO(如果尚未下载)

wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso -O /tmp/virtio-win.iso

2. 挂载 ISO 到 Windows 虚拟机

你可以动态挂载,也可以关机后添加一个光驱设备。这里采用动态挂载(虚拟机运行时):

cat > /tmp/attach-ga.xml <<EOF
<disk type='file' device='cdrom'>
  <driver name='qemu' type='raw'/>
  <source file='/tmp/virtio-win.iso'/>
  <target dev='sdc' bus='sata'/>
  <readonly/>
</disk>
EOF

virsh attach-device win10-ltsc /tmp/attach-ga.xml --live

3. 在 Windows 虚拟机内安装 Guest Agent

  • 打开“此电脑”,找到新出现的虚拟光驱(盘符可能为 D: 或 E:)。
  • 进入 guest-agent 文件夹,双击安装 qemu-ga-x86_64.msi(根据系统版本选择)。
  • 按向导完成安装,不需要重启(但后续最好重启一次)。

4. 配置 libvirt 虚拟机 XML,添加 guest agent 通道

如果虚拟机正在运行,可以先关闭(virsh shutdown win10-ltsc),然后编辑配置:

virsh edit win10-ltsc

在 <devices> 段内,添加以下内容:

<channel type='unix'>
  <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-1-win10-ltsc/org.qemu.guest_agent.0'/>
  <target type='virtio' name='org.qemu.guest_agent.0' state='connected'/>
</channel>

保存退出。

5. 启动虚拟机并验证 guest agent

virsh start win10-ltsc
# 等待虚拟机启动后,检查 guest agent 是否在线
virsh guestinfo win10-ltsc --name

如果返回了主机名,说明 agent 工作正常。

6. 重新执行快照命令(现在应该成功)

virsh snapshot-create-as win10-ltsc win10-clean --disk-only --quiesce

方案 B:去掉 --quiesce 参数(简单但不推荐)

如果你不想安装 guest agent,可以放弃数据一致性保证,直接创建快照:

virsh snapshot-create-as win10-ltsc win10-clean --disk-only

这样不会报错,但快照时文件系统可能处于不一致状态(尤其当有大量磁盘写入时),恢复后可能触发磁盘检查或数据丢失。仅建议用于测试或非关键环境。


📌 补充说明

  • 快照位置:即使没有 --quiesce,快照数据仍会保存在原始磁盘文件内(内部快照)或生成新文件(外部快照),位置不变。
  • 外部快照:如果你想生成独立的快照文件(方便备份),可以指定 --diskspec 参数,例如:
    virsh snapshot-create-as win10-ltsc win10-clean --disk-only --diskspec vda,file=/vm/disk/win10-clean.qcow2
    
  • 恢复快照:使用 virsh snapshot-revert win10-ltsc win10-clean。

✅ 建议

如果你打算长期使用快照功能,请采用方案 A,配置 guest agent 后快照会更可靠。安装过程不复杂,后续对虚拟机管理也很有帮助。

如果方案 A 中遇到任何问题(例如 XML 编辑报错),请告诉我具体的错误信息,我会帮你调整。