Red Hat Training

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

21.16.16. チャンネル

これは、ホスト物理マシンとゲスト仮想マシン間のプライベートな通信チャンネルを表し、管理ツールを使用してゲスト仮想マシンに変更を加えることによって操作できます。その結果、ドメイン XML の以下のセクションに変更が加わります。

  ...
  <devices>
    <channel type='unix'>
      <source mode='bind' path='/tmp/guestfwd'/>
      <target type='guestfwd' address='10.0.2.1' port='4600'/>
    </channel>

    <!-- KVM virtio channel -->
    <channel type='pty'>
      <target type='virtio' name='arbitrary.virtio.serial.port.name'/>
    </channel>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/f16x86_64.agent'/>
      <target type='virtio' name='org.qemu.guest_agent.0'/>
    </channel>
    <channel type='spicevmc'>
      <target type='virtio' name='com.redhat.spice.0'/>
    </channel>
  </devices>
  ...

図21.63 チャンネル

これは、各種の方法で実装できます。<channel> の特定のタイプは <target> 要素の type 属性で指定されます。異なるチャンネルタイプには、以下のようにそれぞれ異なるターゲット属性があります。
  • guestfwd - 指定された IP アドレスに対してゲスト仮想マシンにより送信される TCP トラフィックを決定し、ポートはホスト物理マシン上のチャンネルデバイスに転送されます。target 要素には、address と port 属性があります。
  • virtio - 準仮想化された virtio チャンネルです。<channel> は、ゲスト仮想マシンの /dev/vport* の下に公開され、オプション要素の name が指定される場合は /dev/virtio-ports/$name に表示されます (詳細は、http://fedoraproject.org/wiki/Features/VirtioSerial を参照してください)。オプション要素の address は、上記のように、チャンネルを特定の type='virtio-serial' コントローラーに関連付けます。QEMU では、名前が "org.qemu.guest_agent.0" の場合、libvirt は、ゲスト仮想マシンのシャットダウンやファイルシステムの休止などのアクションのために、ゲスト仮想マシンにインストールされたゲスト仮想マシンエージェントと対話することができます。
  • spicevmc - 準仮想化された SPICE チャンネルです。ドメインには、グラフィックスデバイスとしての SPICE サーバーも必要です。ここで、ホスト物理マシンは、メインチャンネル間のメッセージをピギーバッキングできます。target 要素は、属性 type='virtio'; と共に指定される必要があり、オプション属性 name はゲスト仮想マシンがチャンネルにアクセスする方法を制御し、デフォルトで name='com.redhat.spice.0' に設定されます。オプションの <address> 要素は、チャンネルを特定の type='virtio-serial' コントローラーに関連付けることができます。