迁移后Libvirt存储卷信息错误

2024-09-27 00:20:41 发布

您现在位置:Python中文网/ 问答频道 /正文

在编写使用python3.5和libvirt自动选择和迁移虚拟机的代码时。我用一种方法让它工作,但是将一个客户返回到它以前的主机失败了(到现在为止,我只有2个主机,但将来应该会改变)。你知道吗

我所做的:

  1. 将来宾G从主机SRC迁移到主机DST。你知道吗

    • 得到了SRC上源图像的容量 conn.storagePoolLookupByName('default') stgvol = pool.storageVolLookupByName(stgvolname).info()[1]
    • 在DST上创建了目标映像:subprocess.run(['qemu-img', 'create', '-f', 'qcow2', vm_image_path, size_str])
    • 将来宾从SRC迁移到DST: dom = conn.lookupByName(domain_name) new_dom = dom.migrate(dest_conn, libvirt.VIR_MIGRATE_LIVE, None, None, 0)
  2. 尝试使用(1)中相同的步骤将guest G从B迁移回A,但失败了 libvirt.libvirtError: Storage volume not found: no storage vol with matching name 'guest-name'storageVolLookupByName线上。

因此,在迁移过程中,映像似乎没有在默认池中注册。有没有想过为什么会这样,或者我能做些什么来修复它?你知道吗


Tags: 方法代码name图像srcnone客户conn

热门问题