14.5. 仮想 USB デバイスの管理
仮想マシンを使用する場合は、ホストシステムに接続されているフラッシュドライブや Web マッピングなどの USB デバイスにアクセスし、制御できます。このシナリオでは、ホストシステムはデバイスの制御を仮想マシンに渡します。これは USB パススルーとしても知られています。
14.5.1. 仮想マシンへの 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> [...]
関連情報
-
システム上の
virt-xml(1)
man ページ - 仮想マシンへのデバイスの割り当て
14.5.2. 仮想マシンからの 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 [...]
--remove-device
引数を指定してvirt-xml
ユーティリティーを使用します。たとえば、次のコマンドは、
example-VM-1
仮想マシンから、バス 001 でデバイス 005 としてホストに接続されている USB フラッシュドライブを削除します。# virt-xml example-VM-1 --remove-device --hostdev 001.005 Domain 'example-VM-1' defined successfully.
実行中の仮想マシンから USB デバイスを削除するには、--update
引数を直前のコマンドに追加します。
検証
- 仮想マシンを実行して、デバイスのリストから、このデバイスが削除されたかどうかを確認します。
関連情報
-
システム上の
virt-xml(1)
man ページ - 仮想マシンへのデバイスの割り当て