使用Libvirt Python createXMLFrom克隆卷会在读取数据时导致文件结束:输入/输出错误

2024-05-17 12:58:16 发布

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

我正在尝试使用以下方法克隆卷:

libvirt_conn = libvirt.openAuth(<qemu_addr>, <auth>, 0)
pool = libvirt_conn.storagePoolLookupByName(<pool_name>)
original_volume = pool.storageVolLookupByName(<original_volume_name>)
new_volume_xml = <xml_string>
new_volume = pool.createXMLFrom(new_volume_xml, original_volume)

当我运行此命令时,会出现以下错误: End of file while reading data: Input/output error

当我尝试时:

libvirt_conn = libvirt.openAuth(<qemu_addr>, <auth>, 0)
pool = libvirt_conn.storagePoolLookupByName(<pool_name>)
original_volume = pool.storageVolLookupByName(<original_volume_name>)
new_volume_xml = <xml_string>
try:
    new_volume = pool.createXMLFrom(new_volume_xml, original_volume)
except:
    <next libvirt command>

我得到一个client socket is closed错误。我尝试过用以下方法编辑/etc/libvirt/libvirtd.conf

min_workers = 5
max_workers = 20
log_level = 1
log_filters="1:libvirt 1:util 1:qemu"
log_outputs="1:file:/var/log/libvirt/libvirtd.log"
keepalive_interval = -1

当我重新启动libvirtd和tail/var/log/libvirt/libvirtd.log时,我没有看到任何有用的东西。我的感觉是套接字正在关闭,因为克隆卷需要很长时间,但我不确定如何让libvirt/qemu套接字保持更长时间的打开。这可能吗


Tags: 方法nameauthlognewxmlconnlibvirt