web-dev-qa-db-ja.com

KVMゲストはホストkvmを終了させるために停止します

Kvm内でLinuxを実行しています。ゲストのrootとしてhaltコマンドを発行すると、最終的にゲストはカーネルログメッセージSystem halted.で停止します。ただし、kvmホストプロセスは実行を続けます。停止時に終了させることはできますか?

これは関連する議論のように見えます: http://comments.gmane.org/gmane.comp.emulators.kvm.devel/107972

関連する議論ですが、ホストからゲストを停止することについてですが、内部からは停止しません: http://ubuntuforums.org/showthread.php?t=106694

意味のある応答のない同様のバグレポート: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/967049

私のカーネルにはACPIがコンパイルされていなかったので、サポートを追加しましたが、それでも停止しません。これは私が起動時に得るものです:

[    0.311211] ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 11
[    0.312637] virtio-pci 0000:00:03.0: PCI INT A -> Link[LNKC] -> GSI 11 (level, high) -> IRQ 11
[    0.315049] ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 10
[    0.316472] virtio-pci 0000:00:04.0: PCI INT A -> Link[LNKD] -> GSI 10 (level, high) -> IRQ 10
[    0.318858] ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 10
[    0.320254] virtio-pci 0000:00:05.0: PCI INT A -> Link[LNKA] -> GSI 10 (level, high) -> IRQ 10

ACPIカーネル構成:

CONFIG_ACPI=y
# CONFIG_ACPI_PROCFS is not set
# CONFIG_ACPI_PROCFS_POWER is not set
# CONFIG_ACPI_EC_DEBUGFS is not set
# CONFIG_ACPI_PROC_EVENT is not set
# CONFIG_ACPI_AC is not set
# CONFIG_ACPI_BATTERY is not set
CONFIG_ACPI_BUTTON=y
# CONFIG_ACPI_FAN is not set
# CONFIG_ACPI_DOCK is not set
# CONFIG_ACPI_PROCESSOR is not set
CONFIG_ACPI_CUSTOM_DSDT_FILE=""
# CONFIG_ACPI_CUSTOM_DSDT is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
# CONFIG_ACPI_PCI_SLOT is not set
# CONFIG_ACPI_CONTAINER is not set
# CONFIG_ACPI_SBS is not set
# CONFIG_ACPI_HED is not set
# CONFIG_ACPI_CUSTOM_METHOD is not set
# CONFIG_ACPI_APEI is not set
CONFIG_PNPACPI=y
# CONFIG_THINKPAD_ACPI is not set
# CONFIG_ACPI_WMI is not set
# CONFIG_ACPI_ASUS is not set
# CONFIG_ACPI_CMPC is not set

更新:poweroffは、ACPI対応のカーネルで機能します(たとえば、上記のカーネル構成で)。 haltはまだ機能しません。

1
pts

halt -pを実行してみてください

-pは、シャットダウン後に電源をオフにするようにホストに指示します。

具体的には、haltのマニュアルページには次のように記載されています。

-p, --poweroff
       Instructs the halt command to instead behave as poweroff.
3
up_the_irons

使用してみましたか:

 # shutdown -h now

ACPIデーモンが実行されていない場合もありますが、それも確認することをお勧めします。

1
Tomas