Проброс USB в виртуальные машины

Тема проброса USB в виртуальные машины волнует многие умы.

У нас есть два варианта:

  1. Проброс физических портов с хоста виртуализации;
  2. Передача через ЛВС с выделенного сервера.

У каждого из вариантов есть свои плюсы. Первый вариант дешевле, второй не обламывает нас с использованием бонусов от виртуализации.

Пока ни один из «Bare-Metall» гипервизоров (ESX, Hyper-V, Xen) не умеет пробрасывать USB-порты внутрь хоста.

Cамым дешевым вариантом выделенного сервера было использование физического linux-сервера. От MrAloof  я слышал, что один hasp с него можно пробросить абсолютно забесплатно. Правда, выделять сервер только под это нерационально. Вот если задействовать другой функционал…

Другие варианты, аппаратные или программные, стоили в районе 300$, что явно недешево для проброса пары ключей. И вот совсем недавно, читая эту статью с блога на Хабре, я познакомился с USB-Redirector. В этой программке меня порадовало то, что версия под Windows на два ключа стоит всего 65 евро. А под линукс и вообще забесплатная.

Имейте в виду.

P.S. Сейчас ситуация с USB у VMware обстоит следующим образом:

  • vSphere 4.1 проброс USB-устройств внутрь хоста на его виртуальные машины; vSphere 5.0 — проброс USB через vClient;
  • у остальных вендоров проброс USB-портов на подходе. На мой взгляд это самая ожидаемая технология для SMB.

Статья по установке и настройке бесплатного USBIP.

51 комментарий к “Проброс USB в виртуальные машины”

  1. а под hyper-v точно нельзя пробросить ?
    например в USB over Network от FabulaTech заявлено:
    Platform:
    64 bit: Windows Vista / XP / 2003 Server

    правда я сам не пробовал

  2. A.Vakhitov

    Я сознательно не указал гипервизоры — проброс через сеть должен работать для любого.
    Ты хочешь сказать, что Windows 2008 R2 с ролью Hyper-V дает пробрасывать USB внутрь ВМ, которая на нем выполняется?
    Клево, буду знать!

  3. Во-первых, не один а сколько угодно любых USB устройств. Лишь бы хватило скорости LAN.
    Во-вторых, USB-Redirector — достаточно кривой продукт по цене аппаратного решения. При этом авторы — жлобы и мыслят только о том как бы бабла срубить. Тех.поддержка плохая, а в продукте развивается только защита от пиратства. Под линукс у них есть только бесплатный сервер, но чтоб его использовать, нужно купить ключик для клиента. В итоге это стоит дороже чем под винду.

    В-третьих, есть радостная новость — пол года назад проект http://usbip.sourceforge.net/ наконец-то дописали клиента для винды! Проект совершенно беплатен и не ограничен по количеству устройств. Можно попробовать засунуть сервер в полный ESX…

    В четвертых — в ESX 4.1 обещают наконец-то включить этот функционал, и HV R2 тоже поддерживает.

    ЗЫ: я бы не назвал етот функционал самым ожидаемым… хотя я его когда-то очень хотел =)

  4. Ну большая половина софта все-еще работает на 32 бит =) Это конечно неприятно, но на функционале никак не сказывается. А потерю скорости врятли кто-то заметит…

    USB over Network — продукт хороший. Гораздо лучше чем USB-redirector. Хотя не знаю как с поддержкой (на сайте обещают live support)… Достойный конкурент аппаратного решения. Но как-то слишком дорого…
    Еще есть http://www.virtualserialport.com/products/usb-over-network/
    Чуток подешевле =)
    Или http://www.sysnucleus.com/usbshare/index.html — тут ваще анлим за 89$ =)

    Мое IMHO:
    1. Для тестов или некритичного бюджетного решения — USB/IP
    2. Для критичных процессов — купить аппаратный usb!
    3. Хорошо подумать — а нафига это надо? Скорее всего можно найти более правильное решение без использования USB, LPT, RS232 и прочего…

  5. найти более правильное решение

    таки из разных мы классов 🙂

    как подцепить APC SUA1000I к esxi, если всего «черных ящиков — серверов» 2 шт.
    плату ethernet за 300-400$ к apc не предлагать 🙂

    с hyper-v тут проще, usb в хост и батник на сетевой шатдаун.

  6. Насчет «нафига это надо» 🙂
    Есть куча софта, которые работают только с при наличии ключа. Правда, виртуализовать такой софт или нет — наш выбор…

    Вспоминается работа на одного автомобильного дилера. Среди прочего я обслуживал программу для расчета страховых случаев или страховки (не помню точно). Она была установлена на одном компьютере и требовала для работы USB-ключ. Особенность работы с данной программой — компьютер с ключом был расположен в месте, доступном для посетителей. Стоимость восстановления ключа составляла пару тысяч долларов, если я опять же не ошибаюсь…

  7. Как раз для таких случаев, а так же для мониторинга всей инфраструктуры, я бы порекомендовал использовать отдельный «черный ящик». Для пары серверов и ИБП хватит мини-компа в технологическом корпусе, что обойдется в 200$. Или в обычном корпусе (если в серверной чисто) тогда 150$.
    На эту кроху ставим какой-нибудь бесплатный сервер мониторинга (или просто агента для ИБП).
    Получаем монитинг инфраструктуры и управление устройствами.
    IMHO это будет гораздо правильнее чем использовать для таких случаев проброс железячных портов в виртуалки…

  8. 2 Андрей :
    Как раз этот случай из тех причин, по которым это надо =)

    Но ответы на вопрос «зачем вам нужен проброс портов?» что-то типа:
    — ИБП подключить, кондиционер, термометр…
    — Внешний винт подключить (чтоб «Консультант» или «Гарант» обновить :-D)
    — Видеокамеры подключить.
    и тому подобное, у меня вызывают удивление…

  9. Насчет черного ящика — согласен. Завязать его на единую систему мониторинга проще.
    P.S. Как мне нравится новая защита от спама. За неделю ни одного левого комментария. 🙂

  10. Всем привет! С Новым годом и Рождеством!

    У меня 3 мес. работает DIGI AnywhereUSB 5 — 3шт.
    На них ключи от 1С, ключ от программы настройки Nortel Meridian
    Вполне доволен, самое главное при таком решении нет проблем с Vmotion, что для меня важно. Проброс дело хорошее, но мало того что vmotion будет недоступен так еще и DPM невозможен будет для таких хостов, поэтому лучше аппаратный пробрасыватель. Кстати, в моем случае, его цена в 9000 руб. вполне подъемная

  11. 2 Mr.Aloof
    а почему ответ типа «Гарант обновить» вызывает удивление?! У меня база гаранта около 8гб, по 100мбитной сетке долго копировать однако!

  12. 2 TrueAlex
    Во-первых, в настоящий момент стоимость гигабитных портов равна 100М. Почему бы вам не обновить свитчи?

    Во-вторых, скорость работы usb-to-ethernet будет не быстрее, а даже чуток медленнее.

    В третьих, даже когда VMware сделают маппинг USB, это будет гораздо медленнее, чем копирование по гигабитной сети.

    В четвертых, подключая к серверу usb-hdd напрямую, и запуская копирование больших объемов, вы рискуете положить нафиг все файловые операции на сервере (покрайней мере windows 2003, особенно если это терминал-сервер). Конечно, если сервер не нагружен, то беспокоиться не о чем.

  13. DIGI AnywhereUSB это хорошо, но дорого. В два раза дешевле есть Keyspan U2S-2A. В нем два порта, но можно подключать USB Hub. Громадным плюсом Keyspan’а является возможность раскидывать порты по разным клиентам. У DIGI все подключенные USB устройства прокидываются одновременно только на одного клиента.
    У меня используется для прокидывания USB ключей.
    Итого — работает Ubox 2100 перешитый в Keyspan U2S-2A. Ubox периодически ронял систему в BSOD. Digi тоже есть в хозяйстве, вот она ни разу не падала, но и ключ в ней всего один, а в KeySpan — 7 штук.

  14. To Mike:

    А насколько Keyspan надежен?
    Плюс у него в спецификации указано, что он имеет драйвера для Windows XP и Vista 32 bit.
    Как насчет windows server 2008 R2 64-bit?

  15. Зачетный ответ производителей! =)
    Понимать как «идите в *** со своими virtual software platforms!»
    Просто *LOL*
    Так что я бы тоже не посоветовал использовать такие поделки как Keyspan U2S-2A для критичных мест, да еще и за деньги…
    Уж лучше бесплатный USB/IP — там хоть комьюнити советами помогут и не обламаются код подправить ежели чего…

  16. To Mike:
    «…Итого — работает Ubox 2100 перешитый в Keyspan U2S-2A. Ubox периодически ронял систему в BSOD…..»
    Плз поподробней, это как перешитый? У них железо одно штоль? И — зачем перешивали, с какой целью?

  17. To Vovets666:
    Да, железо одно. Просто для Ubox ставятся драйвера от Keyspan. Дальше оно говорит о несовместимости версии прошивки и предлагает ее перешить. Через минуту девайс готов к работе. Перешивал, так как Ubox официально снят с производства, потому драйверов не ожидается. А драйвера Ubox’a роняют мне систему в BSOD.
    To philzy:
    Да, официально не поддерживается. Да, можно купить 10 штук Digi, воткнуть в каждую по ключу, разложив это хозяйство на большом столе, ибо вид оно имеет очень «домашний». Мне проще было купить 2 Ubox’а. Использую пока один, второй на замену. В случае возможного аппаратного сбоя я просто меняю железку. Это занимает несколько минут (уже год проработало, аппаратных сбоев не было).
    Почему производители не делают нормальные usb-ip решения я искренне не понимаю, приходится выкручиваться.
    Насчет поддержки windows server 2008 R2 — не знаю, мне пока не требовалось 🙂
    To Mr.Aloof:
    USB/IP не лучше тем, что требует клиентского компа, в который втыкать ключи. Это такая же точка отказа, только на мой взгляд вероятность отказа обычного PC больше, чем usb-ip железки. И места она занимает меньше. Вот если бы сделали usb/ip совместимую железку, было бы здорово.

  18. To Mike:
    Клиентский комп может быть даже меньше размером чем этот Keyspan. Также, есть несколько стоечных решений на mini-itx мамках.
    Это промышленные компы, которые проходят тестирование, отвечают определенным требованиям. Считаю с надежностью у них не хуже чем у «железок».
    Когда встает вопрос об экономии — то тут уже можно взять что-то копеечное… но тогда не надежно =)

  19. To Mr. Aloof
    «несколько стоечных решений на mini-itx мамках»
    А можно линков на эти чудо устройства? Может и правда собрать такое чудо с linux’ом на флешке…

  20. To Mike:
    На вскидку:
    http://www.supermicro.com/products/nfo/atom.cfm — 11тр.
    http://www.ipc2u.ru/catalog/M/MO/53368.html?pm=1&cur=RUB — 20тр.

    Для фанатов Dell, можно использовать R210 =)
    http://www1.euro.dell.com/ru/ru/business/Серверы/poweredge-r210/pd.aspx?refid=poweredge-r210&s=bsd&cs=rubsdc

    ЗЫ: но я бы не гнался за «стоечностью», а поставил бы E-Box 2300 (6тр) или что-то подобное.

  21. to philzy
    Не знаю, актуально или нет: первые результаты юзанья Ubox 4100 (c 4мя USB портами). Прошивка — последняя с сайта, стенд — на ESXi 4.0.
    под 2008R2 — не пашет, под 2008×64 и 2003×64 — тоже, под 2008×86 и 2003×86 — работает, причем проблема, похоже, именно в том, что драйвера не поддерживают 64-битные системы.
    У Keyspan есть аналогичная железка, поставил софт от нее: на 2008×64 также не работает, на 2008×86 он Ubox увидел (я только порт UDP поменял), перепрошивку не просил , при попытке подключить устройство — выкинул систему в BSOD.
    Резюме: либо используем 32битный софт, либо ищем другие варианты.
    P.S. На прогон систему с UBox и подключенными ключами пока не ставил, так что возможны сюрпризы. И если у кого-то есть идеи по поводу вышесказанного, поделитесь плз, может есть какой способ заставить работать 32-битные дрова в 64-битной системе…

  22. To Vovets666 :

    Спасибо за инфо. Что и следовало ожидать.
    32-бит дрова под 64-бит не будут работать, точнее можно заставить, но в продакшен такое не пойдет ни под каким соусом.

    Теперь мой выбор DIGI выглядит не таким уж и дорогим.
    Понимаю за что плачу.

  23. Про Xen говорили, что проброс не поддерживает. У меня такое пакостное чувство, что это несколько… не совсем так. На 5.0.0 у меня получалось. До проверки 5.5.0 пока лапки не дошли. Завтра проверю и отпишусь

  24. Приношу извинения почтеннейшей публике — погорячился…
    Выдал СИЛЬНО желаемое за действительное.
    Специально задержался вечерком, перепроверил.
    Ключик Guardiant просунуть в виртуалку не удалось. Думаю, что даже если засунуть в xen server машину, в которой таковая поддержка уже была — ни хрена она не «прокинет».
    Остаётся констатировать несколько печальных фактов —
    1. автор статьи прав.
    2. я ошибся.
    3. я так и не выяснил — почему у меня с майских и июньских «опытов на кошках»» осталась такая твёрдая уверенность, что в 5.0.0 это было? Перессмотрел все заметки. Так и не могу понять… Нет у меня сейчас под руками сервера с «пятёркой», чтобы проверить.
    Оговорюсь — за работой крепче кофе ничего не пью…
    И факт менее печальный — если таки надо прокидывать порт, и нет денег на дорогие «примочки» — можно наверно посмотреть в сторону VMWare Server. Там этой проблемы нет. У меня как раз тот случай, поэтому машины с такой хернёй придётся оставлять на VMWare Server и держать под них хост.

  25. а не было ли у кого проблем с usb over network и 2008х64? ключ хасп расшареный подключается к 2008х64 и тутже отпадывает и так безконечно. этот же расшареный ключ нормально подключается к 2003р2

  26. На днях босс поставил задачу провести маркетинговое иследование и выдать ему результаты по проблеме проброса большого количества USB устройств на терминальные сервера. В качестве клиентов используем тонкие клиента с XPe. Апаратные решение сразу отпадают в виду использования последних, поэтому смотрю на софтварные решения. Вопрос к Mr.Aloof по выбору вендора. т.к. я понял он более компетентен в этом вопросе. Выбор пал на USB for Remote Desktop и USB Redirector RDP. Поставил обе программы — тестирую пока месть ни каких нареканий нет, обращался в тех поддержку обеих, выдали тестовые ключи, правда на не большой срок. Что Вы можете сказать по этому вопросу?

  27. 2Dmitry — оба продукта практически одинаковы. Разница в интерфейсе. Используют одинаковый механизм. Про надежность не могу сказать — нет опыта работы с ними. Альтернативы им я не знаю, поскольку не занимался задачей обеспечения работы USB в терминальной сессии. =)

  28. Андрей, приветствую. Очень рад, что вас так вдохновила моя статья про проброс USB-ключа, видимо благодаря пиару Андрея Бешкова.
    Я бы еще добавил, что только сетевой проброс USB-ключа позволяет задействовать перемещение виртуальных машин в узлах кластера. =)

  29. A.Vakhitov

    «DIGI AnywhereUSB это хорошо, но дорого. В два раза дешевле есть Keyspan U2S-2A. В нем два порта, но можно подключать USB Hub. Громадным плюсом Keyspan’а является возможность раскидывать порты по разным клиентам. У DIGI все подключенные USB устройства прокидываются одновременно только на одного клиента.
    У меня используется для прокидывания USB ключей.
    Итого – работает Ubox 2100 перешитый в Keyspan U2S-2A. Ubox периодически ронял систему в BSOD. Digi тоже есть в хозяйстве, вот она ни разу не падала, но и ключ в ней всего один, а в KeySpan – 7 штук.»

    Исправили фичу с подключением ключей в разные ключи. Вышли две новые железки: AnywhereUSB/14 и AnywhereUSB/5 MHC. Теперь можно девайсы раскидывать по разным ВМ с одной железки.

  30. A.Vakhitov

    от Капитана Очевидность: перед монтированием USB по сети добавьте в виртуальную машину USB-контроллер 🙂

  31. Освежу интерес к этой теме 🙂
    Вроде как есть проброс почти любых USB в VDI-решение от MS (RemoteFX+RDP7.1).
    В VMware vClient при подключении к vSphere 5.0 есть такой функционал.

  32. Тоже появилась такая задача. Пробросить ключ от СБИС в виртуальную машину Windows 2003. Нашёл St-Lab n-330
    Только-только (12:30) поставил драйвера, вечерком поставлю ключик — отпишу что получилось. Вечерком — потому что днём бухгалтерия работает без перерыва 🙁

  33. Подключение устройства произошло нормально. Ключ Win сервер увидел, но не до конца. Драйвера не запросил 🙁
    Подтолкнул руками — вроде прошло. Но сервер лицензий СБИС ключа не видит.
    Зараза !!!

  34. 1) Для сервера лицензий 100% нужно ставить родные драйвера ключа;
    2) В виртуальной машине есть USB-контроллер? Какой гипервизор используете?
    3) А N330 поддерживает Win2k3? Я в списке поддерживаемых ОС вижу Win2k, WinXP, Vista…

  35. > Из комм: http://usbip.sourceforge.net – бесплатный клиент под Windows. Кто-нибудь тестировал этот софт?

    собстно, с лета стоит в продакшене.
    прокидывает hasp ключи к серверам 1с — ВМ на Hyper-V на Win. Server 2008 r2.
    Несколько… даже не капризен, а своеобразен в использовании, но претензий по существу нет. Если интересно — могу поподробней осветить.

    > Вроде как есть проброс почти любых USB в VDI-решение от MS RemoteFX+RDP7.1.

    таки есть, судя по описанию, но, насколько понял — нужен хост-сервер с железом, поддерживающим RemoteFX, установленный виртуальный Remote Desktop сервер + лицензии на подключение к нему, а также постоянно висящая сессия удаленного подключения с машины, где установлен USB девайс. Работать такая система, наверное, будет, но уж больно напоминает костыль. 🙂

  36. Итак, кратенький отчёт: «Орицательный результат — тоже результат»

    Дано:
    Гипервизор: Proxmox (хорошая штука, я вам скажу)
    Гостем (kvm) стоит: Windows 2003 Standart sp 2, сетевой адаптер и диски — драйвера Virtio (работают устойчиво — тьфу-тьфу-тьфу)
    Для Windows сервера виртуальная сетевая карточка связана с соответствующей физической. Ничег больше на ней не висит.

    На сервере крутится Pervasive SQL сервер. Думаю нет нужды говорить, что всё лицензионно-чистое. Клиенты работают со СБИС+.

    Требуется пробросить USB для установки «сервера лицензий СБИС» на тот же Win-сервер.

    После прочтения всего вышенапечатанного, под руку попался ethernet-удлиннитель USB портов — St-Lab n-330. По описаниям и докам — должен пробрасывать порты. Фактически, на нём раньше висел принтер => работает. Решил его прикрутить.
    1. Старые драйвера не пошли под Win2003 — err: «неизвестная система»
    2. Скачал новые, там появились новые драйвера под Vista и 64-vit под Win7.
    3. Драйвера под ХР как обычно не установились, подошли для Vista.
    4. Установил приложение для конфигурации и подключения, сервер опознал St-Lab n-330. Вроде всё хорошо.
    5. установил родные драйвера ключа СБИС, Установил «сервер лицензий СБИС», у них такая фишка сначала установить программную часть, потом включать аппаратную.
    6. Воткнул USB ключ. Вот тут начались танцы.
    На старом сервере, при включении «напрямую» — выскакивало окошко — «Найдено новое оборудование». На новом — не произошло. Запустил конфигурацию St-Lab n-330 — он показал, что ключ на месте, USB, подсветил зелёненьким светом, т.е. «Ок — работаем…»
    Ну ладно, ок. Полез в «менеджер устройств» — там всё хорошо, всё прописано.
    Щёлкаю по сетевому USB — драйверов нет (драйверов ключа). Правильно, нет, потому, что не «присоединил» ключ программно.
    Зашёл снова в конфигуратор St-Lab n-330.
    Нажал кнопку «присоединить». Побежал бегунок, выскочила ошибка — «проверьте работу устройства, проверьте подключение электропитания «, но значок стал красным — «работает».
    Вернулся в «менеджер устройств» — драйверов всё равно нет (а вот это неправильно!!!).
    Подставил руками — вроде «увидел». Пробовал «отсоединиться» — та же ошибка «проверьте…» и значок красный :(( Снял питание, выдернул ключ, дал питание — » поиск». St-Lab n-330 — видно.
    Снял, воткнул, подал — увидел. «Присоединить» — ошибка. Драйвера — видно. Тип ключа, версия и т.д.

    Перезапустил сервер лицензий — ключа не видит. Я бы ещё сексом позанимался бы, но… при перезагрузке (может поможет?) он висел 25 минут. Чистый экран, курсор мыши и ни на что не реагируя — т.е средствами proxmox я не мог его вывести из комы. Но чукча умный, чукча бэкап перед этим делал ;)))) перезагрузил физический сервер, восстановил бэкап, эксперименты прекратил.
    Надеюсь мои грабли помогут остальным.

  37. A.Vakhitov

    Олег, а на XP/Vista вы не пробовали ключ пробрасывать и лицензии ставить?
    Может, проблема в неподдерживаемости ОС Win2k3?

    Есть ли у СБИС+ возможность видеть ключ через сеть?

  38. Попробую пробросить на ХР., поскольку иметь отдельную машинку только для ключа — не есть хорошо.
    Но не скоро. Сейчас у нас работают аудиторы.
    Скорее всего на след неделе. Поэкспериментирую — отпишусь.

    С уважением ко всем, Олег.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *