当有许多恢复正在进行时,虚拟机的并行恢复将失败(webvirtcloud)

2024-05-12 22:17:35 发布

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

我正在webvirtcloud之上构建项目(webvirtcloud使用libvirt-python)

我有几根线。它们中的每一个都通过revertToSnapshot方法还原不同的虚拟机(VM)。如果有3个线程,那么一切都很顺利。如果有超过3个线程,那么在每个线程中,大约7秒后revertToSnapshot会失败,出现异常libvirt: XML-RPC error: Cannot recv data: Connection reset by peer。需要注意的是,尽管revertToSnapshot方法失败,但恢复过程将继续,VM将被恢复

我尝试创建10个到10个不同VM的连接,结果 获取虚拟机的状态。我的目的是检查是否可以同时创建10个连接。它工作正常

我试图在每个线程中创建新的连接。实现如下所示:

def main():
    ...
    # This is main thread code snippet
    t = threading.Thread(thread_job_funk, (arg1, agr2,))
    t.start()
    ...


def thread_job():
    ...
    connection = wvmInstance(host, login, passwd, conn, vname)
    connection.snapshot_revert("snapshot_name")  
    ...

我还尝试创建一个连接并在每个线程中使用它(是的,由于libvirt-python绑定描述,它是合法的)。实现如下所示:

vm_host_connection = wvmConnect(ip_addr, login, password, connection_type)

def main():
    ...
    # This is main thread code snippet
    t = threading.Thread(thread_job_funk, (arg1, agr2,))
    t.start()
    ...


def thread_job():
    ...
    global vm_host_connection 
    vir_domain_connection = vm_host_connection .get_instance(instance_name)
    snapshot = vir_domain.snapshotLookupByName(snapshot_name, 0)
    vir_domain.revertToSnapshot(snapshot, 0) 
    ...

然后我试图查看libvirtd(主机上的libvirt守护进程)日志,查看连接到keepalive机制的消息,但我没有发现任何东西。保留我复制问题期间的日志:

debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx3
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx4
info : virKeepAliveTimerInternal:136 : RPC_KEEPALIVE_TIMEOUT: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 countToDeath=5 idle=5
debug : virKeepAliveMessage:104 : Sending keepalive request to client 0xxxxxxxxxxxx5
info : virKeepAliveMessage:107 : RPC_KEEPALIVE_SEND: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=1
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx5, client=0xxxxxxxxxxxx5, msg=0xxxxxxxxxxx13
info : virKeepAliveCheckMessage:391 : RPC_KEEPALIVE_RECEIVED: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=1
debug : virKeepAliveCheckMessage:395 : Got keepalive request from client 0xxxxxxxxxxxx5
debug : virKeepAliveMessage:104 : Sending keepalive response to client 0xxxxxxxxxxxx5
info : virKeepAliveMessage:107 : RPC_KEEPALIVE_SEND: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=2
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx5, client=0xxxxxxxxxxxx5, msg=0xxxxxxxxxxxx9
info : virKeepAliveCheckMessage:391 : RPC_KEEPALIVE_RECEIVED: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=2
debug : virKeepAliveCheckMessage:400 : Got keepalive response from client 0xxxxxxxxxxxx5
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx7
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx8
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx9
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxx10
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx9
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx8
info : virKeepAliveTimerInternal:136 : RPC_KEEPALIVE_TIMEOUT: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 countToDeath=5 idle=5
debug : virKeepAliveMessage:104 : Sending keepalive request to client 0xxxxxxxxxxxx5
info : virKeepAliveMessage:107 : RPC_KEEPALIVE_SEND: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=1
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx5, client=0xxxxxxxxxxxx5, msg=0xxxxxxxxxxx11
info : virKeepAliveCheckMessage:391 : RPC_KEEPALIVE_RECEIVED: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=1
debug : virKeepAliveCheckMessage:395 : Got keepalive request from client 0xxxxxxxxxxxx5
debug : virKeepAliveMessage:104 : Sending keepalive response to client 0xxxxxxxxxxxx5
info : virKeepAliveMessage:107 : RPC_KEEPALIVE_SEND: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=2
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx5, client=0xxxxxxxxxxxx5, msg=0xxxxxxxxxxx12
info : virKeepAliveCheckMessage:391 : RPC_KEEPALIVE_RECEIVED: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=2
debug : virKeepAliveCheckMessage:400 : Got keepalive response from client 0xxxxxxxxxxxx5
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx3
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx7
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxx12
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx4
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxx12
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx7
info : virKeepAliveTimerInternal:136 : RPC_KEEPALIVE_TIMEOUT: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 countToDeath=5 idle=5
debug : virKeepAliveMessage:104 : Sending keepalive request to client 0xxxxxxxxxxxx5
info : virKeepAliveMessage:107 : RPC_KEEPALIVE_SEND: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=1
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx5, client=0xxxxxxxxxxxx5, msg=0xxxxxxxxxxx13
info : virKeepAliveCheckMessage:391 : RPC_KEEPALIVE_RECEIVED: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=1
debug : virKeepAliveCheckMessage:395 : Got keepalive request from client 0xxxxxxxxxxxx5
debug : virKeepAliveMessage:104 : Sending keepalive response to client 0xxxxxxxxxxxx5
info : virKeepAliveMessage:107 : RPC_KEEPALIVE_SEND: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=2
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx5, client=0xxxxxxxxxxxx5, msg=0xxxxxxxxxxx12
info : virKeepAliveCheckMessage:391 : RPC_KEEPALIVE_RECEIVED: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=2
debug : virKeepAliveCheckMessage:400 : Got keepalive response from client 0xxxxxxxxxxxx5
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx9
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxx12
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx9
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxx12
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxx13
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx3
info : virKeepAliveTimerInternal:136 : RPC_KEEPALIVE_TIMEOUT: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 countToDeath=5 idle=5
debug : virKeepAliveMessage:104 : Sending keepalive request to client 0xxxxxxxxxxxx5
info : virKeepAliveMessage:107 : RPC_KEEPALIVE_SEND: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=1
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx5, client=0xxxxxxxxxxxx5, msg=0xxxxxxxxxxxx8
info : virKeepAliveCheckMessage:391 : RPC_KEEPALIVE_RECEIVED: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=1
debug : virKeepAliveCheckMessage:395 : Got keepalive request from client 0xxxxxxxxxxxx5
debug : virKeepAliveMessage:104 : Sending keepalive response to client 0xxxxxxxxxxxx5
info : virKeepAliveMessage:107 : RPC_KEEPALIVE_SEND: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=2
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx5, client=0xxxxxxxxxxxx5, msg=0xxxxxxxxxxx11
info : virKeepAliveCheckMessage:391 : RPC_KEEPALIVE_RECEIVED: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=2
debug : virKeepAliveCheckMessage:400 : Got keepalive response from client 0xxxxxxxxxxxx5
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx4
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxx12
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx3
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx7
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx3
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx4
info : virKeepAliveTimerInternal:136 : RPC_KEEPALIVE_TIMEOUT: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 countToDeath=5 idle=5
debug : virKeepAliveMessage:104 : Sending keepalive request to client 0xxxxxxxxxxxx5
info : virKeepAliveMessage:107 : RPC_KEEPALIVE_SEND: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=1
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx5, client=0xxxxxxxxxxxx5, msg=0x5585245c7680
info : virKeepAliveCheckMessage:391 : RPC_KEEPALIVE_RECEIVED: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=1
debug : virKeepAliveCheckMessage:395 : Got keepalive request from client 0xxxxxxxxxxxx5
debug : virKeepAliveMessage:104 : Sending keepalive response to client 0xxxxxxxxxxxx5
info : virKeepAliveMessage:107 : RPC_KEEPALIVE_SEND: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=2
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx5, client=0xxxxxxxxxxxx5, msg=0xxxxxxxxxxx10
info : virKeepAliveCheckMessage:391 : RPC_KEEPALIVE_RECEIVED: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=2
debug : virKeepAliveCheckMessage:400 : Got keepalive response from client 0xxxxxxxxxxxx5
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx8
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx9
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxx10
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxx12
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxx10
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx9
info : virKeepAliveTimerInternal:136 : RPC_KEEPALIVE_TIMEOUT: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 countToDeath=5 idle=5
debug : virKeepAliveMessage:104 : Sending keepalive request to client 0xxxxxxxxxxxx5
info : virKeepAliveMessage:107 : RPC_KEEPALIVE_SEND: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=1
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx5, client=0xxxxxxxxxxxx5, msg=0xxxxxxxxxxx13
info : virKeepAliveCheckMessage:391 : RPC_KEEPALIVE_RECEIVED: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=1
debug : virKeepAliveCheckMessage:395 : Got keepalive request from client 0xxxxxxxxxxxx5
debug : virKeepAliveMessage:104 : Sending keepalive response to client 0xxxxxxxxxxxx5
info : virKeepAliveMessage:107 : RPC_KEEPALIVE_SEND: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=2
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx5, client=0xxxxxxxxxxxx5, msg=0xxxxxxxxxxxx7
info : virKeepAliveCheckMessage:391 : RPC_KEEPALIVE_RECEIVED: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=2
debug : virKeepAliveCheckMessage:400 : Got keepalive response from client 0xxxxxxxxxxxx5
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx3
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx8
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx7
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx4
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx7
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx8
info : virKeepAliveTimerInternal:136 : RPC_KEEPALIVE_TIMEOUT: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 countToDeath=5 idle=5
debug : virKeepAliveMessage:104 : Sending keepalive request to client 0xxxxxxxxxxxx5
info : virKeepAliveMessage:107 : RPC_KEEPALIVE_SEND: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=1
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx5, client=0xxxxxxxxxxxx5, msg=0x55852460af60
info : virKeepAliveCheckMessage:391 : RPC_KEEPALIVE_RECEIVED: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=1
debug : virKeepAliveCheckMessage:395 : Got keepalive request from client 0xxxxxxxxxxxx5
debug : virKeepAliveMessage:104 : Sending keepalive response to client 0xxxxxxxxxxxx5
info : virKeepAliveMessage:107 : RPC_KEEPALIVE_SEND: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=2
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx5, client=0xxxxxxxxxxxx5, msg=0xxxxxxxxxxx12
info : virKeepAliveCheckMessage:391 : RPC_KEEPALIVE_RECEIVED: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=2
debug : virKeepAliveCheckMessage:400 : Got keepalive response from client 0xxxxxxxxxxxx5
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxx10
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx3
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxx12
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx9
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxx12
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx1, client=0xxxxxxxxxxxx2, msg=0xxxxxxxxxxxx3
info : virKeepAliveTimerInternal:136 : RPC_KEEPALIVE_TIMEOUT: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 countToDeath=5 idle=5
debug : virKeepAliveMessage:104 : Sending keepalive request to client 0xxxxxxxxxxxx5
info : virKeepAliveMessage:107 : RPC_KEEPALIVE_SEND: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=1
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx5, client=0xxxxxxxxxxxx5, msg=0xxxxxxxxxxx13
info : virKeepAliveCheckMessage:391 : RPC_KEEPALIVE_RECEIVED: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=1
debug : virKeepAliveCheckMessage:395 : Got keepalive request from client 0xxxxxxxxxxxx5
debug : virKeepAliveMessage:104 : Sending keepalive response to client 0xxxxxxxxxxxx5
info : virKeepAliveMessage:107 : RPC_KEEPALIVE_SEND: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=2
debug : virKeepAliveCheckMessage:374 : ka=0xxxxxxxxxxxx5, client=0xxxxxxxxxxxx5, msg=0xxxxxxxxxxxx4
info : virKeepAliveCheckMessage:391 : RPC_KEEPALIVE_RECEIVED: ka=0xxxxxxxxxxxx5 client=0xxxxxxxxxxxx5 prog=xxxxxxxxx5 vers=1 proc=2
debug : virKeepAliveCheckMessage:400 : Got keepalive response from client 0xxxxxxxxxxxx5

然后我尝试查找libvirtd的错误和警告,但在复制问题时没有任何错误或警告

当线程数超过3个时,为什么方法失败

注:

  • 快照的内部使用libvirt-python的revertToSnapshot方法
  • 据我所知,webvirtcloud是使用libvirt python构建的

附言:请随时询问更多信息


Tags: debuginfoclientmsgprocrpcprogkeepalive
2条回答

虽然底层libvirt库is touted to be thread-safe,但webvirtcloud{a2}的部分似乎:

# to-do: may also need some locking to ensure to not connect simultaniously in 2 threads

可能会在那边提出问题https://github.com/retspen/webvirtcloud/issues

libvirt.so库和相关的python绑定是完全线程安全的。您只需要打开一个连接,就可以从多个线程同时使用它,并且它将根据需要进行同步

此错误消息和行为使我认为libvirtd守护程序keepalive看门狗正在(错误地)启动,从而关闭与libvirt的连接

试着跑步

  virt-admin daemon-log-filters 1:keepalive
  virt-admin daemon-log-outputs 1:file:/var/log/libvirt/libvirtd.log

然后重现问题并查看日志消息是否显示keepalive触发

如果是这样,那么问题可能实际上在libvirtd守护进程中

相关问题 更多 >