14.3. コマンドラインを使用した仮想マシンへの USB デバイスの接続
仮想マシン (VM) を使用する場合、ホストシステムに接続されているフラッシュドライブや Web カメラなどの USB デバイスにアクセスして制御できます。このような場合、ホストシステムはデバイスの制御を仮想マシンに渡します。これは USB パススルーとしても知られています。
仮想マシンに USB デバイスを接続するには、仮想マシンの XML 設定ファイルに USB デバイス情報を追加します。
前提条件
- 仮想マシンにパススルーするデバイスがホストに接続されていることを確認します。
手順
仮想マシンに接続する 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 [...]--add-device引数を指定してvirt-xmlユーティリティーを使用します。たとえば、次のコマンドは、USB フラッシュドライブを
example-VM-1仮想マシンに接続します。# virt-xml example-VM-1 --add-device --hostdev 001.005 Domain 'example-VM-1' defined successfully.注記実行中の仮想マシンに USB デバイスを接続するには、コマンドに
--update引数を追加します。
検証
virsh dumpxmlコマンドを実行し、デバイスの XML 定義が、仮想マシンの XML 設定ファイルの <devices> セクションに追加されたかどうかを確認します。# virsh dumpxml example-VM-1 [...] <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> [...]- 仮想マシンを実行し、デバイスが存在し、予想通りに機能しているかどうかをテストします。