Previous 

Добавление USB-устройств в QEMU/KVM

Next

Для того,чтобы подключить USB-устройства реального хоста в виртуальную машину QEMU/KVM добавьте в конфигурационный файл в список оборудования USB Disk 2.0 и USB-устройство TM (ТМ-считыватель или TM-Key).

Добавление USB Disk 2.0

Для добавления в конфигурационный файл виртуальной машины в список оборудования USB Disk 2.0 выполните следующие действия:

1. Подключите USB-носитель с инсталляционным комплектом ФПСУ-IP. Для вывода подключенных USB-устройств введите команду в терминале:

lsusb

Команда выводит информацию о USB-шинах и подключенных к ним устройствах. Каждое из устройств имеет пару 16-битных идентификаторов: идентификатор производителя (Vendor ID) и идентификатор устройства (Device ID), которые следует использовать для идентификации устройств.

qemu_img4_221222

2. Для добавления в конфигурационный файл виртуальной машины USB Disk 2.0, создайте файл /etc/libvirt/qemu/usb1.xml с описанием устройства (укажите параметры Vendor ID, Device ID).

qemu_img5_221222

3. Для проброса USB-устройства с хост-машины в гостевую ОС, виртуальную машину vfpsu1, введите команду в терминале:

virsh attach-device vfpsu1 usb1.xml

4. Обновите конфигурационный файл виртуальной машины vfpsu1. Введите команду в терминале:

virsh dumpxml vfpsu1 > vfpsu1.xml

virsh define vfpsu1.xml

Файл конфигурации виртуальной машины будет выведен в файл формата XML. Затем для виртуальной машины vfpsu1 будет переопределен файл конфигурации.

5. Откройте конфигурационный файл и убедитесь, что USB-устройство успешно вмонтировано в виртуальную машину, выполните команду в терминале:

virsh edit vfpsu1

qemu_img6_221222

6. При последующем подключении USB-устройства изменяется его номер в системе (параметры Bus, Device), как правило, выводится ошибка (USB-устройство не найдено). Необходимо сверить параметры устройства в конфигурационном файле vfpsu1.xml, выполнив пункт 10.1.

7. В случае несовпадения, замените в файле vfpsu1.xml параметры Bus, Device на актуальные.

8. Удалите USB-устройство из виртуальной машины для переопределения. Выполните шаги 3 - 5.

qemu_img8_221222

Добавление USB-устройства TM

Для добавления в конфигурационный файл виртуальной машины в список оборудования USB-устройства TM (ТМ-считыватель или TM-Key) выполните следующие действия:

1. Для добавления в конфигурационный файл виртуальной машины USB-устройства ТМ, создайте файл /etc/libvirt/qemu/usb2.xml с описанием устройства (укажите параметры Vendor ID, Device ID).

qemu_img9_231222

2. При каждом подключении USB-устройства изменяется его номер в системе, поэтому необходимо чтобы USB-устройство автоматически импортировалось в виртуальную машину. Для автоматического проброса USB-устройства с хост-машины в гостевую ОС, виртуальную машину vfpsu1, создайте следующее правило в файле /etc/udev/rules.d/90-libvirt-usb.rules:

ACTION=="add", \

    SUBSYSTEM=="usb", \

    ENV{ID_VENDOR_ID}=="a420", \

    ENV{ID_MODEL_ID}=="5426", \

    RUN+="/usr/bin/virsh attach-device vfpsu1 /etc/libvirt/qemu/usb2.xml"

ACTION=="remove", \

    SUBSYSTEM=="usb", \

    ENV{ID_VENDOR_ID}=="a420", \

    ENV{ID_MODEL_ID}=="5426", \

    RUN+="/usr/bin/virsh detach-device vfpsu1 /etc/libvirt/qemu/usb2.xml"

где /usr/bin/virsh - путь до бинарного файла virsh,

vfpsu1 – имя виртуальной машины, на которую выполняем проброс ТМ,

/etc/libvirt/qemu/usb2.xml – путь до .xml файла с описание устройства ТМ,

ID_VENDOR_ID, ID_MODEL_ID - идентификаторы ТМ, в списке USB-устройств ТМ определяется как a420:5426.

3. Подключите USB-устройство ТМ, добавьте его в список оборудования виртуальной машины.

qemu_img10_231222

4. Выполните перезагрузку хост машины, чтобы перезагрузить правила udev, или выполните команду в терминале:

udevadm control --reload-rules && udevadm trigger

5. Переподключите USB-устройство ТМ, ТМ должна автоматически импортироваться в виртуальную машину.