https://github.com/systemd/systemd/issues/27953
从描述上看,libvirt的服务设置也有些特殊的配置,才导致的virsh的执行有问题。
要从这个libvirtd的参数: -t, --timeout SECONDS
Exit after timeout period (in seconds) elapse with no client connections or registered resources. Be aware that resources such as autostart networks will result in never reaching the timeout, even when there are no client connections.
这里会有一个timer,如果没有收到从client端来的链接请求,或者注册任何资源,就会再这个时间超时的时候,退出。但是由libvirtd带起来的另一个线程dnsmasq 没有退出。导致systemd 不认为libvirtd有问题,虽然它自己已经退出。
解决方法是revert了一个commit
https://github.com/systemd/systemd/commit/ff32060f2ed37b68dc26256b05e2e69013b0ecfe