使用 virsh 离线迁移 KVM 客户机?

使用 virsh 离线迁移 KVM 客户机?

我想e-devel使用离线方式将 KVM 客户机迁移到另一台 centos73 主机virsh。所以我这样做

# virsh -d 0 migrate --offline --persistent e-devel qemu+ssh://kvm2/system
migrate: offline(bool): (none)
migrate: persistent(bool): (none)
migrate: domain(optdata): e-devel
migrate: desturi(optdata): qemu+ssh://kvm2/system
migrate: found option <domain>: e-devel
migrate: <domain> trying as domain NAME
root@kvm2's password: 
migrate: found option <domain>: e-devel
migrate: <domain> trying as domain NAME

# 

输入 root 密码后,我本以为客户机会被迁移,但什么也没有发生。

最后一行调试信息migrate: <domain> trying as domain NAME让我感觉好像缺少了一些东西。

这句话什么意思?

答案1

该消息<domain> trying as domain NAME仅表示代码正在尝试根据其名称(而不是 UUID 或 ID)查找客户机。换句话说,在这里看到这种情况很正常,没有任何问题的迹象。

离线迁移工具实际上并没有做太多事情。它只是将客户机的 XML 配置复制到目标主机,仅此而已。特别是它永远不会将任何存储复制到目标主机。

换句话说,离线迁移并不是你无法通过运行

  virsh dumpxml FOO > foo.xml
  scp foo.xml <targethost>
  virsh define foo.xml

答案2

virsh migrate offline期望存储处于共享模式。

--offline迁移没有任何复制磁盘的选项。

--copy-storage-all表示使用完整磁盘复制的非共享存储进行迁移,但这仅适用于实时迁移。

相关内容