Проброс usb в гостевую ОС на ubuntu server KVM
Хост машина Ubuntu 14.04.2 LTS
Гостевая машина тоже ubuntu
смотрим на гипервизоре: lsusb
root@v2:/etc/libvirt/qemu# lsusb Bus 002 Device 002: ID 8087:8000 Intel Corp. Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 8087:8008 Intel Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 002: ID 046d:c31c Logitech, Inc. Keyboard K120 for Business Bus 003 Device 011: ID 0529:0620 Aladdin Knowledge Systems Token JC Bus 003 Device 010: ID 0529:0620 Aladdin Knowledge Systems Token JC Bus 003 Device 003: ID 046d:c06d Logitech, Inc. Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Необходимо пробросить два ключа eTonek в разные гостевые машины. Создадим два xml фаила. В место vendor id и product id буем использовать Bus и Device
usb1.xml
<hostdev mode='subsystem' type='usb'> <source> <address bus='3' device='11'/> </source> </hostdev>
для usb2.xml
<hostdev mode='subsystem' type='usb'> <source> <address bus='3' device='10'/> </source> </hostdev>
Подключаем USB устройство к виртуальной машине
root@linux-kvm:/etc/libvirt/qemu# virsh attach-device virtualka-1 usb1.xml root@linux-kvm:/etc/libvirt/qemu# virsh attach-device virtualka-2 usb2.xml
или добавить эти строчки в соответствующие виртуалки (xml) используя virsh edit
В заключение хочется добавить.
У данного способа есть пара недостатков. Во-первых, Вы привязываете виртуалку к конкретному физическому серверу, и как тогда делать живую миграции ВМ. Во-торых, количество свободных usb портов на сервере может не хватить.
Поэтому самым правильным вариантом для проброса USB устройств это использовать USB/IP. Данный пакет позволяет передавать устройства usb через локальную сеть. Посмотреть можно в статье «Устанавливаем USB/IP»