Ubuntu 12.04でqemu-guest-agentを設定して使用するにはどうすればいいですか?私の主な目的は、ホストマシンからゲストVMのIPアドレスを取得することです。

Ubuntu 12.04でqemu-guest-agentを設定して使用するにはどうすればいいですか?私の主な目的は、ホストマシンからゲストVMのIPアドレスを取得することです。

ドキュメントでは、Ubuntu 12.04 に qemu-guest-agent をインストールして使用する方法があまり明確ではありません。

それで誰か助けてくれませんか?

http://wiki.libvirt.org/page/Qemu_guest_agent

これはドメイン内で実行されるデーモン プログラムであり、ゲスト OS の支援を必要とする機能の実行を管理アプリケーションで支援することを目的としています。guest-network-get-interfaces qemu-guest-agent コマンドを使用して、ゲスト VM の IP アドレスを知りたいです。

ゲスト VM の IP アドレスを見つける他の方法はありますか?

arp -an、arpwatch、echo syslog | grep $mac_address は私のシナリオでは役に立ちません。

答え1

  1. まず、ホスト システムに最新バージョンの libvirt-bin(>=1.0.0) をインストールします。依存関係があるため、Ubuntu12.04 に libvirt-bin(>=1.0.0) をインストールするのは困難です。次のリンクが役立つ場合があります。 https://tad-do.net/2013/02/22/testing-new-libvirt-features-on-ubuntu-12-04/

    次に、ホスト上で次のコマンドを実行します。

    mkdir -p /var/lib/libvirt/qemu/channel/target
    chown -R libvirt-qemu:kvm /var/lib/libvirt/qemu/channel
    
  2. /etc/apparmor.d/abstractions/libvirt-qemu の下部に以下を追加します。

    /var/lib/libvirt/qemu/channel/target/* rw,
    
  3. ゲスト VM に qemu-guest-agent をインストールします。

    sudo apt-get install qemu-guest-agent
    
  4. virsh は VMNAME を編集し、デバイスに次の行を追加します。

    <channel type="unix">
      <source mode="bind"/>
      <target type="virtio" name="org.qemu.guest_agent.0"/>
    </channel>
    
  5. VM をシャットダウンして起動し、次のコマンドを実行して IP アドレスを取得します。ゲスト エージェントを使用して実行できる操作は他にも多数あります。

    virsh qemu-agent-command VMNAME '{"execute":"guest-network-get-interfaces"}'
    

参考文献:http://wiki.stoney-cloud.org/wiki/Qemu_Guest_Agent_Integration

関連情報