我想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
表示使用完整磁盘复制的非共享存储进行迁移,但这仅适用于实时迁移。