16.2. ゲストエージェントとホスト間の通信設定

ホストマシンは、ホストとゲストマシン間の VirtIO シリアル接続でゲストエージェントと通信します。VirtIO シリアルチャンネルは、キャラクターデバイスドライバー (通常 Unix ソケット) 経由でホストに接続し、ゲストはこのシリアルチャンネルをリッスンします。以下の手順では、ゲストエージェントが使用するホストおよびゲストマシンの設定方法を説明します。

手順16.1 ホストとエージェント間の通信設定

  1. キャラクターデバイスドライバーで QEMU を起動

    ゲストエージェントとの通信で必要となるキャラクターデバイスドライバーの新たな定義で QEMU を通常の方法で起動します。
    以下の例では QEMU を起動し、 Unix ソケット /tmp/qga.sock で通信します。
    /usr/libexec/qemu-kvm [...] -chardev socket,path=/tmp/qga.sock,server,nowait,id=qga0 \
                                -device virtio-serial \
                                -device virtserialport,chardev=qga0,name=org.qemu.guest_agent.0
  2. ゲストエージェントのスタート

    ゲスト上で以下のコマンドを実行し、ゲストエージェントをスタートします。
    qemu-ga --path device_path --method method
    ゲストエージェントはコマンドの着信 QMP メッセージを解析し、有効であれば実行します。
    --method または --path オプションで他のメソッドやパスが指定されていない場合、ゲストエージェントは /dev/virtio-ports/org.qemu.guest_agent.0 デバイスパスで virtio-serial をリッスンします。
これで確立されたキャラクターデバイスドライバーで有効な QMP コマンドが送信され、ゲストと通信することができます。
ゲストエージェントについてさらに詳しくは、『Red Hat Enterprise Linux 6 仮想化管理ガイド』 を参照してください。