Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

22.4. ゲスト仮想マシンがシャットダウンに失敗する

通常、virsh shutdown コマンドを実行すると、電源ボタンの ACPI イベントが送信され、物理マシン上で誰かが電源ボタンを押す場合と同様のアクションがコピーされます。すべての物理マシン内で、このイベントを処理するのは OS になります。これまでは、オペレーティングシステムは静かにシャットダウンしました。現在、最も有効なアクションは、何を実行すべきかを尋ねるダイアログを表示させることです。一部のオペレーティングシステムは、とりわけいずれのユーザーもログインしていない場合にこのイベントを完全に無視します。このようなオペレーティングシステムがゲスト仮想マシンにインストールされていると、virsh shutdown を実行しても機能しません (このコマンドが無視されるか、ダイアログが仮想ディスプレイに表示されるかのいずれかです)。ただし、qemu-guest-agent チャンネルがゲスト仮想マシンに追加され、このエージェントがゲスト仮想マシンの OS 内で実行されている場合、virsh shutdown コマンドは、エージェントに対し、ACPI イベントを送信する代わりにゲスト OS をシャットダウンするように指示します。エージェントはゲスト仮想マシン OS の内部からシャットダウンを要求し、すべてのことが予想通りに機能します。

手順22.1 ゲスト仮想マシンのゲストエージェントチャンネルの設定

  1. ゲスト仮想マシンを停止します。
  2. ゲスト仮想マシン用のドメイン XML を開き、以下のスニペットを追加します。
    
    <channel type='unix'>
        <source mode='bind'/>
        <target type='virtio' name='org.qemu.guest_agent.0'/>
    </channel>
    

    図22.1 ゲストエージェントチャンネルの設定

  3. virsh start [domain] を実行して、ゲスト仮想マシンを起動します。
  4. ゲスト仮想マシンに qemu-guest-agent をインストールし (yum install qemu-guest-agent)、これをサービス (qemu-guest-agent.service) として毎回の起動時に自動的に実行させるようにします。詳細は、11章QEMU-img および QEMU ゲストエージェント を参照してください。