Работа с USB в RHEV-D

В этой статье хотелось бы рассказать о технологии передачи USB устройств в виртуальную машину и ее реализации в текущей версии Red Hat Enterprise Virtualization for Desktop (RHEV-D)

Особенности:

Сразу хотелось бы заметить, что в текущей реализации USB передается посредством протокола IP непосредственно с клиентской машины - виртуальной, то есть между ними должна быть IP-связь по порту 32023, что сильно затрудняет использование этого функционала в изолированной сети, и делает невозможным передачу USB в случае, когда виртуальная машина работает без сети. Сейчас идет активная разработка технологии передачи USB устройств  непосредственно протоколом SPICE, для обхода упомятутого ограничения.

Настройка:

Для того, чтобы воспользоваться этой функцией необходимо правильно настроить RHEV Manager (консоль), клиенсткую и виртуальную машины.

Настройка RHEV-M

На управляющей консоли (RHEV Manager) рекомендуется проверить правила фильтрации USB, и, при необходимости, отредактировать их. Утилита просмотра и правки правил называется "Usb filter Editor" и находится в "Пуск" - "Программы" - "Red Hat" - "RHEV Manager" - "USB filter Editor".

Редактор позволяет:

  1. Создавать новые правила
  2. Изменять порядок существующих правил
  3. Удалять правила
  4. Создавать правила, основываясь на подключенных к системе устройствах.
  5. Импортировать правила
  6. Эспортировать правила

Следует отметить, что правила выполняются по порядку, сверху вниз до первого совпадения (как в iptables).

Для добавления нового правила достаточно нажать на кнопку "Add...", в результате чего откроется окно:


И указать необходимые параметры устройства (или оставить их незаполненными, тогда будет применено правило ANY), политику фильтрации (Allow - передача будет произведена, Deny - устройство передаваться не будет). Если параметры устройства неизвестны, можно воспользоваться кнопкой "Search", нажатие на которую отобразит список всех подключенных к компьютеру USB-устройств, естественно, необходимо запускать утилиту на той машине, с которой будут передаваться USB устройства.Как передать эти правила на управляющую консоль будет описано далее.

Для удаления правила достаточно нажать кнопку "Delete" и подтвердить операцию.

Следующие две функции: import и export предназначены как раз для того случая, когда Policy Editor запускается на клиентской машине, на клиенте выполняется экспорт правил, а на консоли - импорт.

Клиент.

На клиентской машине следует установить и настроить RHEV-D и создать в нем хотя бы одну виртуальную машину (Windows). Далее переходим к настройке передачи USB. Для этого необходимо на клиентской машине установить Guest Tools из состава RHEV-D, получить образ можно в RHN. Пусть Вас не смущает название Guest Tools, из всего образа нужны будут только следующие инструменты:

После установки необходимо запустить службы "Red Hat USB Redirector Service" и "RHEV agent" (или перезагрузить компьютер).

Виртуальная машина

На виртуальной машине требуется установить (если этого не было сделано ранее) все дополнения с вышеуказанного образа. И запустить все, связанные с RHEV службы (перезагрузить виртуальную машину).

К сожалению, в текущей реализации RHEV-D передача устройств возможна только с Windows на Windows машину, ввиду отсутствия RHEV-агента под Linux и планов перехода на передачу USB средствами протокола SPICE.

2261