Welcome to TechNet Blogs Sign in | Join | Help

Hyper-V и устройства, использующие порты USB/COM

Вопрос, наболевший для многих, поднимается вновь и вновь: можно ли использовать устройства USB с виртуальными машинами Hyper-V? А устройства, использующие порты COM?

Ответ обычно очень неутешителен. По соображениям безопасности серверные решения виртуализации не предполагают работы с такими устройствами. Не существует связки VSP/VSC для шины USB, а также портов COM и LPT. Если для портов COM еще есть обходной путь через именованные каналы (Named Pipes) и Hyper-V это поддерживает, то с USB все мрачно. А даже для серверов часто требуются ключи HASP (привет 1С), криптографические токены для шифрования, считыватели смарткарт, модемы и так далее. И как правило такие устройства работают только через шину USB.

Но если серверные платформы виртуализации отвергают поддержку шины USB, то появляются независимые поставщики, которым интересно на этом заработать. Есть целый ряд различных разработок, тем или иным образом решающих такие вопросы. Существуют аппаратные решения, реализующие концентратор USB, подключаемый к компьютеру по Ethernet. И, значит, работающий в виртуальных машинах. Примером такого решения является AnywhereUSB.

Но аппаратные решения не гибки, дороги и сложны в обслуживании. Здесь на помощь приходят программные решения. Просмотрев несколько вариантов, я остановился на USB over Network компании Fabulatech.

Первая часть решения устанвливается на физическом компьютере — самом сервере Hyper-V или любом другом в сети. Поддерживаются все версии Windows, включая 64-битную Windows Server 2008. Серверный компонент отслеживает подключаемые устройства и предоставляет их своим клиентам согласно заданным вами правилам. Вы можете указать, какие устройства предоставить клиентам или включить автоматическое предоставление любых подключаемых устройств. Можно ограничить типы подключаемых устройств или указать конкретно, с какими устройствами можно работать. Программа по умолчанию использует порт TCP 33000, но это гибко настраивается.

В виртуальной машине устанавливается клиентский компонент, указывается адрес сервера — и устройства подключаются. ОС уверена в том, что устройства реально подключены к локальной шине USB.

Никаких подводных камней я не заметил, хотя протестировал большое количество капризных устройств. Очень рекомендую. Правда, дороговато. Надеюсь, в свете массивной атаки технологий виртуализации Fabulatech предложит возможность лицензировать не каждую ВМ отдельно, а все ВМ на одном сервере разом.

Аналогичный функционал доступен для подключения устройств, использующих порты COM:

Также есть интересное решение, позволяющее эмулировать модем. Так, что ОС считает, что пользуется модемом, — а сетевые пакеты маршрутизируются на указанный сетевой интерфейс, и все работает по Ethernet. Быстро, надежно, без телефонной линии и помех, без старых устройств.

Что больше всего заинтересовало, так то, что все это чудо можно купить компании-разработчику для встраивания в свои решения. Интересно, может быть, меня прочитает кто в Редмонде и прикупят такую прелесть. Пускай не как компоненту Hyper-V, но функционал был бы чертовски привлекателен, например, для клиента «Удаленного рабочего стола».

Published Tuesday, April 29, 2008 2:43 AM by Alex A.

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# re: Hyper-V и устройства, использующие порты USB/COM

Tuesday, April 29, 2008 12:39 PM by ALexsey Taranenco

Во-первых, огромное спасибо за прекрасный блог, к тому который выходит постоянно!

Во-вторых уже ближе к теме, вы сказали "Никаких подводных камней я не заметил, хотя протестировал большое количество капризных устройств." Скажите, а ключи от 1С там были? И работали ли они?

# re: Hyper-V и устройства, использующие порты USB/COM

Wednesday, April 30, 2008 2:09 AM by Alex A.

Спасибо. Я проверял кроме стандартной переферии - ключи 1С, ключи Алладин, банковские ключи Citibank, работающие с COM "таблетки" Аккорд итд.

# re: Hyper-V и устройства, использующие порты USB/COM

Wednesday, April 30, 2008 9:36 AM by Stanislav Buldakov

Добрый день. Спасибо за этот познавательный блог. У меня вопрос по поводу Integration Services. Предусмотрен ли в них механизм обмена host и guest систем напрямую (аналог Shared Folders в продуктах VMWare)?

Там имеется компонент Data Exchange. Это он предоставляет такой функционал? Если да, то реализовано ли его использование в RC0 или ещё нет?

# re: Hyper-V и устройства, использующие порты USB/COM

Thursday, May 01, 2008 3:11 AM by Alex A.

Нет, не предвидится по соображениям безопасности. Это есть в VirtualPC, но нет в Virtual Server, не будет и в финале Hyper-V.

Это есть в VMware Workstation, но нет и не будет в ESX.

Крайне безответственно с точки зрения безопасности давать виртуальной машине доступ к основной (когда на основной могут быть сотини ВМ) в обход методов защиты ОС. Все общение между хост и ВМ - по TCP/IP. До установки компонент интеграции можно пользоваться Legacy Network (это я напоминаю, чтобы мне не сказали, что до установки КИ нет сети).

Data Exchange позволяет ОС хоста передать в реестр ОС ВМ (что будет для Xen-ebabled SUSE Linux я уточню и напишу) некоторые ключи реесра. Штатно заданные четыре параметра, что я описал. SDK от Virtual Server 2005 рассказывает как передать произвольную информацию вниз к ВМ. В Hyper-V это не изменилось.

# re: Hyper-V и устройства, использующие порты USB/COM

Sunday, May 04, 2008 9:59 AM by Stanislav Buldakov

То-есть фактически мне придется на guest-систему устанавливать дополнительный сетевой адаптер, который будет смотреть в подсеть, где находится сервер с Hyper-V?

# re: Hyper-V и устройства, использующие порты USB/COM

Sunday, May 04, 2008 3:28 PM by Alex A.

Бррр. Не понял.

Куски РЕЕСТРА из хост машины в гостевую машину можно передавать автоматом через ICs. 4 параметра уже настроены за вас, вы можете добавить. Data Exchange не особо поменялся с VS2005.

Что касается передачи ФАЙЛОВ, то:

Microsoft рекомендует изолировать хост систему от виртуальных машин. На для передач файлов, ни сетевых интерфейсов.. Машинами вы управляете с клиентской ОС, а не с хоста (по идеологии, хост это Core, там нет инструментария управления). Если вам нужно получить доступ с ВМ до файлов на клиенте. есть два способа: доступ по сети, или монтирование ISO образа как CD (IMG образа как fdd).

# re: Hyper-V и устройства, использующие порты USB/COM

Monday, May 05, 2008 2:49 AM by Stanislav Buldakov

Я передачу файлов имел ввиду. Просто в виртуалке создана сеть, изолированная от производственной и в нее надо данные передавать (записать ISO образ не получится). Буду тогда в этой изолированной виртуальной сети делать хост с двумя сетевыми интерфейсами раз другого выхода нет.

# re: Hyper-V и устройства, использующие порты USB/COM

Monday, May 05, 2008 3:55 AM by Alex A.

Мне непонятно ваше слово "Записать ISO"

Пишущий привод не нужен, это делается на лету.

Есть куча сторонних програм, которые жмулируют пакетную запись на виртуальный CD, то есть на вашем ПК есть софт, который эмулирует CD, куда вы можете бросать файлы. Файловая система UDF.

Этот виртуальный CD вы можете подключить (как будто это ваш локальный фиическмй CD) для ВМ - и она будет его видеть.

Никакой сети к ВМ в этом случае делать не придется.

# re: Hyper-V и устройства, использующие порты USB/COM

Monday, May 05, 2008 9:29 AM by Stanislav Buldakov

крайне сомневаюсь, что такие программы смогут обработать файлы размером не несколько сотен гигабайт =) к тому же мне места жалко под временные файлы такого объема. гораздо проще настроить то, что я описал выше.

# re: Hyper-V и устройства, использующие порты USB/COM

Monday, May 05, 2008 9:42 AM by Alex A.

Ну, вам виднее.

Это понижает безопасность ВМ, превращая изолированную тестовую среду в нечто совмещенное с production network.

Расскажите, что за сотни гигабайт вы хотите передавать в ВМ?

Shared Folder в VPC имеет жесткий лимит в 4 ГБ.

# re: Hyper-V и устройства, использующие порты USB/COM

Tuesday, May 06, 2008 2:55 AM by Stanislav Buldakov

Бэкапы. Восстановление баз эксченджа в виртуальной среде.

Не знаю как в VPC, а в VMWare server я через shared folder подключал диск, подключенный в свою очередь через net use. Ни на какие ограничения при этом я не натыкался.

Hyper-V заинтересовал прежде всего в связке с Server Core. В таком виде у меня и работает.

# re: Hyper-V и устройства, использующие порты USB/COM

Tuesday, May 06, 2008 9:26 AM by Alex A.

Это увы ваша проблема, т.к. Exchange в виртуальной среде not supported.

Поддержка будет объявлена в августе. Ни о какой VMware разумеется речи не шло ни в статье, ни про поддержку. Unsupported платформа.

Leave a Comment

(required) 
required 
(required) 
 
Page view tracker