14.9.2. Red Hat Enterprise Linux 7 ホストでの Red Hat Enterprise Linux 6 ゲストのシャットダウン
Minimal installation を使用して Red Hat Enterprise Linux 6 ゲスト仮想マシンをインストールしても、acpid パッケージ はインストールされません。Red Hat Enterprise Linux 7 は、systemd に引き継がれたため、このパッケージを必要としなくなりました。ただし、Red Hat Enterprise Linux 7 ホストで実行されている Red Hat Enterprise Linux 6 ゲスト仮想マシンには引き続き必要です。
acpid パッケージがないと、virsh shutdown コマンドの実行時に Red Hat Enterprise Linux 6 ゲスト仮想マシンはシャットダウンしません。virsh shutdown は、ゲスト仮想マシンを適切にシャットダウンするように設計されています。
virsh shutdown を使用すると、システム管理がより簡単かつ安全になります。virsh shutdown コマンドを使用して正常にシャットダウンしない場合は、システム管理者がゲスト仮想マシンに手動でログインするか、Ctrl-Alt-Del のキーの組み合わせを各ゲスト仮想マシンに送信する必要があります。
注記
その他の仮想化オペレーティングシステムは、この問題の影響を受ける可能性があります。virsh shutdown コマンドでは、ACPI のシャットダウン要求を処理するようにゲスト仮想マシンのオペレーティングシステムを設定する必要があります。多くのオペレーティングシステムでは、ACPI のシャットダウン要求を受け入れるために、ゲスト仮想マシンのオペレーティングシステムで追加の設定が必要です。
手順14.4 Red Hat Enterprise Linux 6 ゲストの回避策
acpid パッケージのインストール
acpid サービスは、ACPI 要求をリッスンして処理します。ゲスト仮想マシンにログインし、ゲスト仮想マシンに acpid パッケージをインストールします。yum install acpid
# yum install acpidCopy to Clipboard Copied! Toggle word wrap Toggle overflow acpid サービスを有効にする
ゲスト仮想マシンの起動シーケンス中にacpidサービスを開始するように設定し、サービスを開始します。chkconfig acpid on service acpid start
# chkconfig acpid on # service acpid startCopy to Clipboard Copied! Toggle word wrap Toggle overflow ゲストドメイン xml の準備
ドメインの XML ファイルを編集して、次の要素を追加します。virtio シリアルポートをorg.qemu.guest_agent.0に置き換え、$guestname の代わりにゲストの名前を使用します。図14.2 ゲスト XML の置き換え
Copy to Clipboard Copied! Toggle word wrap Toggle overflow QEMU ゲストエージェントのインストール
QEMU ゲストエージェント (QEMU-GA) をインストールし、指示に従ってサービスを開始します。10章qemu-img および QEMU ゲストエージェント。Windows ゲストを実行している場合は、本章にもそのための手順があります。ゲストをシャットダウンします
- 以下のコマンドを実行します。
virsh list --all - this command lists all of the known domains
# virsh list --all - this command lists all of the known domains Id Name State ---------------------------------- rhel6 runningCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ゲスト仮想マシンのシャットダウン
virsh shutdown rhel6
# virsh shutdown rhel6 Domain rhel6 is being shutdownCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ゲスト仮想マシンがシャットダウンするまで数秒待ちます。
virsh list --all
# virsh list --all Id Name State ---------------------------------- . rhel6 shut offCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 編集した XML ファイルを使用して、rhel6 という名前のドメインを開始します。
virsh start rhel6
# virsh start rhel6Copy to Clipboard Copied! Toggle word wrap Toggle overflow - rhel6 ゲスト仮想マシンの acpi をシャットダウンします。
virsh shutdown --mode acpi rhel6
# virsh shutdown --mode acpi rhel6Copy to Clipboard Copied! Toggle word wrap Toggle overflow - すべてのドメインを再度一覧表示し、rhel6 が一覧に含まれていることを確認し、シャットダウンしていることを示します。
virsh list --all
# virsh list --all Id Name State ---------------------------------- rhel6 shut offCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 編集した XML ファイルを使用して、rhel6 という名前のドメインを開始します。
virsh start rhel6
# virsh start rhel6Copy to Clipboard Copied! Toggle word wrap Toggle overflow - rhel6 ゲスト仮想マシンゲストエージェントをシャットダウンします。
virsh shutdown --mode agent rhel6
# virsh shutdown --mode agent rhel6Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ドメインを一覧表示します。rhel6 はまだリストに含まれており、シャットオフされていることを示しているはずです。
virsh list --all
# virsh list --all Id Name State ---------------------------------- rhel6 shut offCopy to Clipboard Copied! Toggle word wrap Toggle overflow
ゲスト仮想マシンは、上記の回避策を使用せずに、連続したシャットダウンの virsh shutdown コマンドを使用してシャットダウンします。
上記の方法の他に、
libvirt-guests サービスを停止することで、ゲストを自動的にシャットダウンできます。この方法に関する詳細は、「libvirt-guests 設定設定の操作」 を参照してください。