Red Hat Training

A Red Hat training course is available for RHEL 8

10.6. 仮想 USB デバイスの管理

仮想マシンを使用する場合は、ホストシステムに接続されているフラッシュドライブや Web マッピングなどの USB デバイスにアクセスし、制御できます。このシナリオでは、ホストシステムはデバイスの制御を仮想マシンに渡します。これは USB パススルーとしても知られています。

次のセクションでは、コマンドラインを使用して次のことを行う方法を説明します。

10.6.1. 仮想マシンへの USB デバイスの割り当て

USB デバイスを仮想マシンに割り当てるには、仮想マシンの XML 設定ファイルに USB デバイス情報を含めることができます。

前提条件

  • 仮想マシンにパススルーするデバイスがホストに接続されていることを確認します。

手順

  1. 仮想マシンに接続する USB のバスおよびデバイス値を見つけます。

    たとえば、次のコマンドは、ホストに接続されている USB デバイスの一覧を表示します。この例で使用するデバイスは、デバイス 005 としてバス 001 にアタッチされています。

    # lsusb
    [...]
    Bus 001 Device 003: ID 2567:0a2b Intel Corp.
    Bus 001 Device 005: ID 0407:6252 Kingston River 2.0
    [...]
  2. virt-xml ユーティリティーを --add-device 引数と共に使用します。

    たとえば、次のコマンドは、USB フラッシュドライブを Library 仮想マシンに接続します。

    # virt-xml Library --add-device --hostdev 001.005
    Domain 'Library' defined successfully.
注記

実行中の仮想マシンに USB デバイスを接続するには、--update 引数を直前のコマンドに追加します。

検証手順

  • 仮想マシンを実行し、デバイスが存在し、予想通りに機能するかどうかをテストします。
  • virsh dumpxml コマンドを使用して、デバイスの XML 定義が仮想マシンの XML 設定ファイルの <devices> セクションに追加されたかどうかを確認します。

    # virsh dumpxml Library
    [...]
    <hostdev mode='subsystem' type='usb' managed='yes'>
      <source>
        <vendor id='0x0407'/>
        <product id='0x6252'/>
        <address bus='1' device='5'/>
      </source>
      <alias name='hostdev0'/>
      <address type='usb' bus='0' port='3'/>
    </hostdev>
    [...]

関連情報

  • その他の引数は、virt-xml(1) man ページを参照してください。