9p 文件系统与 KVM savevm 快照交互不良

9p 文件系统与 KVM savevm 快照交互不良

我在虚拟机中有一个 9p 挂载点。我用 拍摄虚拟机状态的快照savevm <snapshot>,停止虚拟机,然后使用该快照重新启动它(使用kvm -loadvm <snapshot>)。当我尝试通过umount或ing 与ls挂载点交互时,虚拟机会在内核空间中挂起。

我用来启动快照的完整命令行如下所示:

qemu-system-x86_64 -nographic -monitor telnet::6440,server,nowait \
  -m 1280M -balloon virtio -bios \
  external_sources/seabios/out/bios.bin \
  -drive file=testvm/deb.instance.integrate,if=virtio \
  -loadvm loaded \
  -virtfs local,path=/tmp/mymount,security_model=none,mount_tag=mymount

这种情况发生在内核版本为 2.6.32 和 2.6.38 的 64 位 Debian squeeze 客户机上。在内核版本为 2.6.32-30 的 Ubuntu 10.04 amd64 主机上,qemu-kvm 的版本为 0.14.50。

我不知道如何进一步诊断这个问题;目前我唯一的选择是用某种网络文件系统替换 9p。

答案1

根据 qemu-devel 邮件列表,virtio-9p 目前根本不支持实时迁移,因此 savevm/loadvm 无法工作。

答案2

  1. 这与 kvm 本身无关 - qemu 管理快照。
  2. savevm/loadvm 基本上就是将数据迁移到文件中。我从未在 9p 上尝试过,因为我对它不太熟悉,但如果 FS 模型涉及时间,这可能是问题所在。
  3. ubuntu 作为 kvm 主机已被证明(至少对我而言)不是最理想的。不知道是包装还是操作系统本身,但对于我来说,在 fedora 上相同版本的 kvm 和 qemu 一直很稳定。
  4. 我会首先进行以​​下操作:a) 在 fedora 或 rhel 机器上进行测试 b) 发布到 linux-kvm 邮件列表 c) 与支持 9p 的人员核实其是否能够经受实时迁移、休眠和挂起。

相关内容