我重新发一下,libvirtd 在开机后第一次使用时按需启动,在最后一个虚拟机关闭后,延迟大概两分钟(目测)退出,但两个 dnsmasq 进程不会退出。
楼主你可以在尝试连接并失败之后运行systemctl status libvirtd查看一下 libvirtd 服务是否再次启动了。
是这两行吗?
6月 29 11:04:07 dl4y systemd[1]: Starting libvirtd.service - Virtualization daemon…
6月 29 11:04:07 dl4y systemd[1]: Started libvirtd.service - Virtualization daemon.
好像是启动完了
● libvirtd.service - Virtualization daemon
Loaded: loaded (/lib/systemd/system/libvirtd.service; enabled; preset: enabled)
Active: active (running) since Thu 2023-06-29 11:04:07 CST; 39min ago
TriggeredBy: ● libvirtd-admin.socket
● libvirtd-ro.socket
● libvirtd.socket
Docs: man:libvirtd(8)
https://libvirt.org
Process: 535948 ExecStart=/usr/sbin/libvirtd $LIBVIRTD_ARGS (code=exited, status=0/SUCCESS)
Main PID: 535948 (code=exited, status=0/SUCCESS)
Tasks: 2 (limit: 32768)
Memory: 62.1M
CPU: 769ms
CGroup: /system.slice/libvirtd.service
├─1454 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper
└─1455 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper
6月 29 11:04:07 dl4y systemd[1]: Starting libvirtd.service - Virtualization daemon...
6月 29 11:04:07 dl4y systemd[1]: Started libvirtd.service - Virtualization daemon.
6月 29 11:04:08 dl4y dnsmasq[1454]: read /etc/hosts - 37 names
6月 29 11:04:08 dl4y dnsmasq[1454]: read /var/lib/libvirt/dnsmasq/default.addnhosts - 0 names
6月 29 11:04:08 dl4y dnsmasq-dhcp[1454]: read /var/lib/libvirt/dnsmasq/default.hostsfile
6月 29 11:04:08 dl4y libvirtd[535948]: libvirt version: 9.0.0, package: 9.0.0-4 (Debian)
6月 29 11:04:08 dl4y libvirtd[535948]: hostname: dl4y
6月 29 11:04:08 dl4y libvirtd[535948]: internal error: Cannot find start time for pid 529838
感觉问题应该不在 libvirtd,因为你和我使用的是同一个版本,而我的就很正常。
我在Debian bug系统 Debian bug tracking system 里面搜libvirtd,根本就不是个package 喽。
这是给普通用户做的bug提交系统吗? ![]()
There is no maintainer for libvirtd. This means that this package no longer exists (or never existed). Please do not report new bugs against this package.
用dpkg -S /usr/sbin/libvirtd可以看到这个命令是属于libvirt-daemon的。
在 systemd 呀。
用不了电报的话,用 freenode IRC,我在电报上看到有人能用这个来和电报群的人通信
https://webchat.freenode.net/ #debian-cn
已在trixie中成功复现bug。考试结束后我将会再次进行debug,从这点来说Debian testing确实不是给普通用户准备的,说起来上一次我帮助Debian发现了packagekit-qt中函数返回值的错误。
Debian的BTS系统非常老旧,完全基于电子邮件运行。而系统中没有特别明显的地方标识这个bug是否已经被解决,不知道他们什么时候才能走向gitlab的issue管理系统。
我最近用archlinux上的 qemu-kvm 的时候也遇到了这个问题。不过后来又好了,我不确定是更新了什么软件还是安装了什么新软件解决了这个问题。
#修改“/etc/libvirt/libvirtd.conf”文件,去掉下面两行前面的井号:
sudo vim /etc/libvirt/libvirtd.conf
…
unix_sock_group = ‘libvirt’
…
unix_sock_rw_perms = ‘0770’
…
#添加普通用户到libvirt用户组
sudo usermod -a -G libvirt jason
#修改“/etc/libvirt/qemu.conf”文件,改成下面这样
sudo vim /etc/libvirt/qemu.conf
Some examples of valid values are:
user = “qemu” # A user named “qemu”
user = “+0” # Super user (uid=0)
user = “100” # A user named “100” or a user with uid=100
user = “your_user_name”
The group for QEMU processes run by the system instance. It can be
specified in a similar way to user.
group = “your_user_name”
#检查虚拟网络状态
sudo virsh net-list --all
#设置虚拟网络自动启动
sudo virsh net-autostart default
这里有一个配置文件,你照着来看看行不行。我以前用这个配置时开启虚拟机时,实时通询(比如说打对时延迟很敏感的游戏)会断一下,然后恢复正常。
你贴的配置中的 # 消失了,很难阅读和理解
对照,然后修改。
但我的qemu.conf是空的啊,怎么对照。
那就不改了,等官方来解决。因为我现在用的是 archlinux ,可能和 debian的不一样。
去确认了一下,这个问题6.8就有人提出来了,最后发现问题就是systemd造成的。讨论地址:
https://bugzilla.redhat.com/show_bug.cgi?id=2213398
上游已经合并修复补丁,下一个版本应当能修复这个问题
只有我用的VM么?
VM 在 debian testing 上有问题的