web-dev-qa-db-ja.com

仮想マシンにacpidが必要ですか?

仮想マシンの電源管理機能が必要かどうか、いつも疑問に思っていますか?

つまり、acpid。

そして、それらがまだ仮想マシンで機能するかどうかはわかりません。

8
daisy

厳密に言えば、仮想マシンでも実際のシステムでもacpidは必要ありません。ただし、VMをシャットダウンした場合にハイパーバイザーによってシミュレートされる電源ボタンの押下を通常処理するため、acpidをVMにインストールする必要があります。

したがって、実際的な理由から、はい、VMにacpidをインストールする必要があります。

追伸:acpidは実際には電源管理を行いません

8
Ulrich Dangel

私はそれを残します。 ACPIは電源管理以上のことをしていると思います。たとえば、ゲストをシャットダウンまたは再起動するときに、VMホストを介してゲストに送信されるACPIイベントがあると思います。

Manual:KVMからの抜粋:

シャットダウン

aCPIシャットダウンコマンドをKVMゲストに発行します。ゲストがACPIをサポートしていない場合、コマンドは効果がありません。

再起動

aCPIシャットダウンコマンドをKVMゲストに発行します。ゲストがACPIをサポートしていない場合、コマンドは効果がありません。KVMゲストがシャットダウンされると、次のようになります。シャットダウンが完了すると、ホストによって自動的に開始されます。

参考文献

6
slm

最近のシステムでは、ハイパーバイザーがACPIを使用している場合でも、仮想マシンをクリーンにシャットダウンまたは再起動するためにacpidは必要ないようです。カーネルは、電源ボタンを入力デバイスとしてエクスポートします(/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 in logind-button.c によって処理されます。

これはvirsh shutdownvirsh rebootで機能します。どちらの場合も、サーバーが正常にシャットダウンしたことがログからわかります。

systemd-logind[535]: Power key pressed.
systemd-logind[535]: Powering Off...
systemd-logind[535]: System is powering down.
0
falstaff