Red Hat Training

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

A.10. Red Hat Enterprise Linux 7 ホスト上の Red Hat Enterprise Linux 6 ゲストをシャットダウンする

Minimal installation オプションを使用した Red Hat Enterprise Linux 6 のゲスト仮想マシンをインストールすると、acpid (acpi デーモン)はインストールされません。systemd によって引き継がれていたため、Red Hat Enterprise Linux 7 ではこのパッケージが必要なくなりました。ただし、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 のシャットダウン要求を受け入れるためにゲスト仮想マシンのオペレーティングシステムの追加設定が必要です。

手順A.4 Red Hat Enterprise Linux 6 ゲストに対する回避策

  1. acpid パッケージのインストール

    acpid サービスは、ACPI 要求をリッスンし、処理します。
    ゲスト仮想マシンにログインし、ゲスト仮想マシンに acpid パッケージをインストールします。
    # yum install acpid
  2. ゲストの acpid サービスの有効化

    ゲスト仮想マシンのブートシーケンス時に acpid サービスが起動するように設定し、サービスを起動します。
    # chkconfig acpid on
    # service acpid start
  3. ゲストドメイン XML の準備

    ドメイン XML ファイルを編集して、以下の要素を追加します。virtio シリアルポートを org.qemu.guest_agent.0 に置き換え、表示されたものではなくゲストの名前を使用します。この例では、ゲストは guest1 です。ファイルを保存するのを忘れないようにしてください。

    図A.1 ゲスト XML の置き換え

    
    <channel type='unix'>
       <source mode='bind' path='/var/lib/libvirt/qemu/guest1.agent'/>
       <target type='virtio' name='org.qemu.guest_agent.0'/>
    </channel>
        
    
    
  4. QEMU ゲストエージェントのインストール

    QEMU ゲストエージェント(QEMU-GA)をインストールして、Red Hat Enterprise Linux 6 仮想化管理ガイド の説明に従ってサービスを起動します。
  5. ゲストをシャットダウンします。

    1. 既知のゲスト仮想マシンを一覧表示し、シャットダウンする名前を取得できます。
      # virsh list --all
         Id Name              State
      ----------------------------------
        14 guest1             running
      
    2. ゲスト仮想マシンをシャットダウンします。
      # virsh shutdown guest1
      
      guest virtual machine guest1 is being shutdown
      
    3. ゲスト仮想マシンがシャットダウンするまでに数秒待機します。シャットダウンしていることを確認します。
      # virsh list --all
       Id Name                 State
      ----------------------------------
       14 guest1               shut off
      
    4. 編集する XML ファイルで guest1 という名前のゲスト仮想マシンを起動します。
      # virsh start guest1
    5. guest 1 ゲスト 仮想マシンの acpi をシャットダウンします。
      # virsh shutdown --mode acpi guest1
    6. すべてのゲスト仮想マシンを再度一覧表示し、guest1 は一覧に配置する必要があるので、シャットダウンしていることを示す必要があります。
      #  virsh list --all
         Id Name                 State
      ----------------------------------
         14 guest1               shut off
      
    7. 編集する XML ファイルで guest1 という名前のゲスト仮想マシンを起動します。
      # virsh start guest1
    8. guest 1 ゲスト 仮想マシンゲストエージェントをシャットダウンします。
      # virsh shutdown --mode agent guest1
    9. ゲスト仮想マシンを一覧表示します。guest1 は一覧にある必要のままである必要があり、これをシャットオフする必要があります。
      # virsh list --all
         Id Name                 State
      ----------------------------------
         guest1                shut off
      
ゲスト仮想マシンは、上記の回避策を使用せずに、連続シャットダウンに virsh shutdown コマンドを使用してシャットダウンします。
上記の方法に加え、libvirt-guests サービスを停止すると、ゲストが自動的にシャットダウンできます。この方法の詳細は、「強制シャットダウンを許可するための任意の回避策」 を参照してください。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。