Host OSに接続されたUSBをGuest OSに接続する方法を記載する
・Host OS:Ubuntu 20.04
・Guest OS:Ubuntu 20.04
・KVMでGuest OSを管理
Host OSで、USBが接続されていることを確認する
$ vim /var/log/dmesg … [ 4.342098] kernel: usb 1-4: New USB device found, idVendor=03f0, idProduct=2927, bcdDevice= 0.01 [ 4.353623] kernel: usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 4.364975] kernel: usb 1-4: Product: Virtual NIC [ 4.376346] kernel: usb 1-4: Manufacturer: HPE … $ lsusb Bus 001 Device 002: ID 03f0:2927 HP, Inc Virtual NIC
今回、Bus 001 Device 002: ID 03f0:2927 HP, Inc Virtual NICをGuest OSに接続する。
vendor id:03f0、prduct id:2927になり、後で必要になるためメモする。
Guest OSの設定ファイル:XMLをダンプする。
$ virsh list Id Name State -------------------------- 1 test-a running $ virsh dumpxml test-a >test.xml
Guest OSにUSBを追加する。USBを追加するためのXMLファイルを作成する。
前述のvendor id、 prduct idを追記する
$ vim device.xml <hostdev mode='subsystem' type='usb'> <source startupPolicy='optional'> <vendor id='0x03f0'/> <product id='0x2927'/> </source> </hostdev>
ライブ状態でXMLを反映する。
$ virsh attach-device sses-s1 --file device.xml --live Device attached successfully
Guest OSでデバイスが接続されたことを確認
$vim /var/log/dmesg … [ 4.342098] kernel: usb 1-4: New USB device found, idVendor=03f0, idProduct=2927, bcdDevice= 0.01 [ 4.353623] kernel: usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 4.364975] kernel: usb 1-4: Product: Virtual NIC [ 4.376346] kernel: usb 1-4: Manufacturer: HPE $ lsusb Bus 001 Device 002: ID 03f0:2927 Hewlett-Packard
最後に、Host OSでUSBをデタッチ、取り外しする
$ virsh detach-device test-a --file device.xml --live