迁移后Libvirt存储卷信息错误

时间:2018-03-21 10:20:27

标签: python python-3.x qemu libvirt

编写使用python 3.5和libvirt自动选择和迁移虚拟机的代码。我让它以一种方式工作,但是返回一个访客它以前的主机失败(截至目前我只有2台主机,但它将来会改变)。

我做了什么:

  1. 将来宾G从主机SRC迁移到主机DST。

    • 使用SRC获得源图像的容量 conn.storagePoolLookupByName('default') stgvol = pool.storageVolLookupByName(stgvolname).info()[1]
    • 在夏令时创建目标图像: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.)中的相同步骤将客人G从B迁移回A但是得到了 与libvirt.libvirtError: Storage volume not found: no storage vol with matching name 'guest-name'一致的storageVolLookupByName

  3. 因此,在迁移期间,图像似乎未在默认池中注册。有没有想过为什么会这样,或者我该怎么做才能解决它?

0 个答案:

没有答案