Проброс USB устройства из материнской хост-системы внутрь виртуальной машины под управлением Rosa Virtualization (oVirt 3.5)
English version: [1]
В данной статье мы рассмотрим типовую ситуацию, когда требуется обеспечить доступность USB устройства для виртуальной машины, работающей под управлением Rosa Virtualization (oVirt 3.5).
- Эта задача может возникнуть если требуется развернуть в виртуальной машине, скажем, сервер «1С Бухгалтерия», и обеспечить доступность для клиентов HASP ключа.
- Может потребоваться подключить USB Flash накопитель для ВМ, или подключить к ней USB диск.
- Может потребоваться подключить к ВМ принтер или USB модем.
Или мало ли что еще.
Прежде чем я начну описывать процесс, требуется сперва помнить о ряде важных ограничений:
- Виртуальная машина, которая будет обслуживать USB устройство должна будет жестко закреплена к хост-системе, на которой вставлено USB устройство.
- USB устройство должно быть установлено в порт хост-системы ДО того, как будет запущена соответствующая виртуальная машина.
- В случае, если это USB флэш-накопитель, и он уже смонтирован в хост-системе, то при «пробросе» устройства в ВМ и монтировании внутри ВМ, содержимое диска будет недоступно в хост-системе.
- Функциональность USB устройств с интерфейсом USB 3.0 нами не проверялась, ввиду отсутствия на наши серверах аппаратной поддержки USB 3.0.
В моем примере я использую обычную USB флешку, размером 8 GB, отформатированную в FAT32, установленную в хост-систему и смонтированную там в каталог /mnt
Хост-система носит название hammer2 (см. Снимок 2).
Виртуальная машина, на которую я делаю проброс флешки называется rels67_min (ip — 192.168.231.108, FQDN — rels76minimal).
Собственно настройка (потребуются полномочия суперпользователя root либо sudo):
1. Подключите USB устройство в желаемую хост-систему (в мооем случае узел hammer2)
2. Установите на нужную ноду (в моем случае — это хост-система hammer2), и на управляющую систему oVirt (в моем случае это система с названием head) пакет vdsm-hook-hostusb:
yum install vdsm-hook-hostusb
3. На управляющей системе oVirt выполните команду:
engine-config -s UserDefinedVMProperties='hostusb=[\w:&]+'
После этого, система предложит выбор соответствующей версии oVirt.
В моем случае, я выбрал версию 3.5, нажав на клавиатуре цифру шесть.
4. Перестартуйте систему управления oVirt командой на управляющей системе:
/etc/init.d/ovirt-engine restart
5. Перестартуйте интерфейс управления oVirt на управляемой хост-системе (в моем случае на узле hammer2, куда подключен накопитель):
/etc/init.d/vdsmd restart
6. На хост-системе с USB устройством проверьте, что устройство подключено и опозналось верно:
lsusb
(если команда lsusb не доступна установите пакет usbutils: yum install usbutils)
В моем случае, устройство опозналось как:
Bus 001 Device 004: ID 8564:1000 Transcend Information, Inc. JetFlash
См. Снимок 1.
7. Зайдите в свойства желаемой ВМ, нажав ПКМ и выбрав Edit в меню. ВМ при этом должна быть выключена.
Закрепите ВМ за нужным узлом (как на Снимке 3, выбран узел hammer2)
8. В меню Custom Properties у вас появится новый пункт в разделе Please select a key Выбирайте там hostusb и прописывайте там ID USB устройства, указав перед идентификатором 0x. То есть в моем случае я прописываю 0x8564:0x1000
См. Снимок 4
9. Запустите ВМ штатным способом, подключитесь либо к ней в консоль, либо по SSH и проверьте доступность USB устройства:
lsusb
Смотрите Снимок 1.
Теперь устройство USB можно смонтировать внутри ВМ.
[ Хронологический вид ]Комментарии
Войдите, чтобы комментировать.