Проброс 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 thoughts on “Проброс USB в виртуальные машины”

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

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

  2. только что поставил на полный 2008R2 с ролью hyper-v все работает 🙂

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

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

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

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

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

  5. Ну большая половина софта все-еще работает на 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 и прочего…

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  15. To Mike:

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

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

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

  18. 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 совместимую железку, было бы здорово.

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

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

  21. 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тр) или что-то подобное.

  22. 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-битной системе…

  23. To Vovets666 :

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

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

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

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

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

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

  28. на форуме не нашёл подобного. с английским не очень 🙂 поэтому пока не задавал вопрос

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

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

  31. “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. Теперь можно девайсы раскидывать по разным ВМ с одной железки.

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

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

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

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

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

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

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

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

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

  38. Итак, кратенький отчёт: “Орицательный результат – тоже результат”

    Дано:
    Гипервизор: 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 я не мог его вывести из комы. Но чукча умный, чукча бэкап перед этим делал ;)))) перезагрузил физический сервер, восстановил бэкап, эксперименты прекратил.
    Надеюсь мои грабли помогут остальным.

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

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

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

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

Leave a Reply

Your email address will not be published. Required fields are marked *