我重新发一下,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 上有问题的