Câu trả lời:
Nói đúng ra, không cần bạn không cần acpid
trong một máy ảo cũng như trên một hệ thống thực. Nhưng bạn nên cài đặt acpid
trong máy ảo vì nó thường xử lý việc nhấn nút nguồn được mô phỏng bởi trình ảo hóa nếu bạn tắt máy ảo.
Vì vậy, vì lý do thực tế, có, bạn nên cài đặt acpid trên máy ảo.
PS: acpid
không thực sự quản lý năng lượng
Tôi sẽ để nó. Tôi tin rằng ACPI không chỉ quản lý năng lượng. Ví dụ: tôi tin rằng có một sự kiện ACPI được gửi qua Máy chủ VM cho khách khi bạn muốn họ tắt máy hoặc khởi động lại.
Trích từ Hướng dẫn sử dụng: KVM:
tắt
cấp lệnh tắt ACPI cho khách KVM, nếu khách không hỗ trợ ACPI, lệnh không có hiệu lực.
khởi động lại
cấp lệnh tắt ACPI cho khách KVM, nếu khách không hỗ trợ ACPI, lệnh không có hiệu lực. Sau khi tắt máy khách KVM, nó sẽ tự động được khởi động bởi máy chủ khi tắt máy hoàn tất.
Dường như trên các hệ thống hiện đại acpid
không cần thiết phải tắt sạch hoặc khởi động lại máy ảo, ngay cả khi trình ảo hóa sử dụng ACPI. Hạt nhân xuất nút nguồn dưới dạng thiết bị đầu vào (in /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)
Nút nhấn lần lượt được xử lý bởi systemd-logind trong logind-button.c .
Điều này làm việc cho tôi với virsh shutdown
và virsh reboot
, trong cả hai trường hợp tôi có thể thấy từ nhật ký mà máy chủ tắt hoàn toàn
systemd-logind[535]: Power key pressed.
systemd-logind[535]: Powering Off...
systemd-logind[535]: System is powering down.