如何在Ubuntu 12.04設定和使用qemu-guest-agent?我的主要目的是從主機取得來賓虛擬機器的IP位址

如何在Ubuntu 12.04設定和使用qemu-guest-agent?我的主要目的是從主機取得來賓虛擬機器的IP位址

文件中並不清楚如何在 Ubuntu 12.04 中安裝和使用 qemu-guest-agent。

那麼有人可以幫我嗎?

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

它是在網域內運行的守護程序,旨在幫助管理應用程式執行需要來賓作業系統幫助的功能。我想使用 guest-network-get-interfaces qemu-guest-agent 指令來了解來賓虛擬機器的 IP 位址。

有其他方法可以找到來賓虛擬機器的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. 在來賓虛擬機器中安裝 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

相關內容