我总是想知道虚拟机中的电源管理设施是否必要?
即酸。
我不确定它们是否仍然可以在虚拟机中运行。
答案1
严格来说,不,您不需要acpid
在虚拟机或真实系统中。但您应该安装acpid
在虚拟机中,因为它通常会处理电源按钮按下操作,如果您关闭虚拟机,虚拟机管理程序会模拟按下电源按钮。
因此,出于实际原因,您应该在虚拟机上安装 acpid。
PS:acpid
并没有真正进行电源管理
答案2
我会离开它。我相信 ACPI 所做的不仅仅是电源管理。例如,我相信当您希望访客关闭或重新启动时,会通过 VM 主机向访客发送 ACPI 事件。
摘自手册:KVM:
关闭
向 KVM guest 发出 ACPI 关闭命令,如果 guest 不支持 ACPI,命令无效。
重启
向 KVM guest 发出 ACPI 关闭命令,如果 guest 不支持 ACPI,命令无效。 KVM guest 关闭后,关闭完成后将由主机自动启动。
参考
答案3
似乎在现代系统上acpid
没有必要完全关闭或重新启动虚拟机,即使虚拟机管理程序使用 ACPI 也是如此。内核将电源按钮导出为输入设备(在 中/dev/input
):
$ sudo journalctl -b 0 | grep Power
kernel: input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input0
...
systemd-logind[451]: Watching system buttons on /dev/input/event0 (Power Button)
该按钮按下依次由 systemd-logind 处理登录按钮.c。
这对我有用virsh shutdown
和virsh reboot
,在这两种情况下我都可以从日志中看到服务器完全关闭
systemd-logind[535]: Power key pressed.
systemd-logind[535]: Powering Off...
systemd-logind[535]: System is powering down.