Red Hat Training

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

20.16.6. ホスト物理マシンのデバイス割り当て

このセクションでは、ホストの物理マシンデバイスの割り当てに関する情報を提供します。

20.16.6.1. USB / PCI デバイス

ホスト物理マシンの USB および PCI デバイスは、hostdev 要素を使用してゲスト仮想マシンに渡すことができます。管理ツールを使用してホスト物理マシンを変更することにより、ドメイン xml ファイルの以下のセクションが設定されます。

図20.28 デバイス - ホスト物理マシンのデバイス割り当て


  ...
  <devices>
    <hostdev mode='subsystem' type='usb'>
      <source startupPolicy='optional'>
        <vendor id='0x1234'/>
        <product id='0xbeef'/>
      </source>
      <boot order='2'/>
    </hostdev>
  </devices>
  ...
または、以下を実行することもできます。

図20.29 デバイス - ホスト物理マシンのデバイス割り当ての代替案


  ...
  <devices>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <source>
        <address bus='0x06' slot='0x02' function='0x0'/>
      </source>
      <boot order='1'/>
      <rom bar='on' file='/etc/fake/boot.bin'/>
    </hostdev>
  </devices>
  ...
ドメイン XML のこのセクションのコンポーネントは以下のとおりです。

表20.13 ホスト物理マシンのデバイス割り当て要素

パラメーター説明
hostdevこれは、ホスト物理マシンデバイスを説明する主要なコンテナーです。USB デバイスの場合、パススルー mode は常に subsystem であり、type は USB デバイスの場合は usb、PCI デバイスの場合は pciです。PCI デバイスの managedyes の場合、ゲスト仮想マシンに渡される前にホストの物理マシンからデタッチされ、ゲスト仮想マシンの終了後にホストの物理マシンに再割り当てられます。PCI および USB デバイスの managed が省略されるか、または no である場合、ゲスト仮想マシンを起動するか、デバイスをホットプラグする前に、virNodeDeviceDettach (または virsh nodedev-dettach) の引数を使用する必要があります。また、ゲスト仮想マシンのホットプラグまたは停止後に virNodeDeviceReAttach (または virsh nodedev-reattach) を使用します。
sourceホストの物理マシンから見たデバイスを説明します。USB デバイスは、vendor 要素および product 要素を使用してベンダー/プロダクト id でアドレスを指定するか、address 要素を使用して、ホスト物理マシンのデバイスのアドレスを指定します。一方、PCI デバイスは、アドレスによってのみ記述できます。USB デバイスのソース要素には、startupPolicy 属性が含まれる場合があります。これを使用すると、指定したホスト物理マシンの USB デバイスが見つからない場合の対処方法に関するルールを定義できます。この属性は、次の値を受け入れます。
  • mandatory - 何らかの理由でない場合は失敗します (デフォルト)。
  • requisite - システムの起動時にない場合は失敗し、migrate/restore/revert にない場合はドロップします。
  • optional - 起動の試行時にない場合はドロップします。
vendor, productこのような要素には、それぞれ USB ベンダーと製品 ID を指定する id 属性があります。ID は、10 進数、16 進数 (0x で始まる)、または 8 進数 (0 で始まる) で指定できます。
bootデバイスが起動可能であることを指定します。この属性の順序により、システムの起動シーケンスでデバイスが試行される順序が決定します。デバイスごとのブート要素は、BIOS ブートローダーセクションの一般的なブート要素とは併用できません。
romPCI デバイスの ROM がゲスト仮想マシンに表示される方法を変更する場合に使用されます。オプションの bar 属性は on または off に設定でき、デバイスの ROM がゲスト仮想マシンのメモリーマップで表示されるかどうかを決定します。(PCI のドキュメントでは、rombar 設定により、ROM のベースアドレスレジスターの存在が制御されます。)rom bar を指定しないと、デフォルト設定が使用されます。オプションの file 属性は、デバイスの ROM BIOS としてゲスト仮想マシンに提示されるバイナリーファイルを指定するために使用されます。これは、たとえば、sr-iov 対応イーサネットデバイスの仮想機能に PXE ブート ROM を提供する場合に役立ちます (VF にはブート ROM がありません)。
addressまた、デバイスがホストの物理マシンに表示される USB バスとデバイス番号を指定する bus および bus 属性もあります。この属性の値は、10 進数、16 進数 (0x で始まる)、または 8 進数 (0 で始まる) で指定できます。PCI デバイスの場合、この要素は、lspci または virsh nodedev-list で検出されるデバイスを指定できるように、3 つの属性を持ちます。