четверг, 19 марта 2009 г.

ESX и USB для ВМ

Один из наиболее задаваемых вопросов про ESX(i) - когда VMware сделает возможным использование host USB в ВМ на ESX.

Отвечаю: никогда.

Объясняю: концепция использования ВМ в среде Virtual Infrastructire, т.е. на ESX(i) серверах предполагает, что каждый ESX хост является донором лишь трех возможных ресурсов - времени процессора, мегабайтов оперативной памяти и мегабитов сетевого соединения. Почему только так? Просто потому что VI - это платформа виртуализации, вышедшая из первого поколения (консолидации) довольно давно, и ВМ не привязана к какому-то конкретному хосту. DRS и VMotion + разделяемое хранилище дают прозрачное перемещение ВМ в пределах кластера.

- Где у вас находятся эти виртуальные машины? - (строгий аудит)
- Где-то тут. - (сисадмин обводит рукой стойку с серверами)
- Как, Вы не знаете где они работают?!
- А разве это так важно?

С появлением ESXi Embedded ввод в строй новых хостов еще более упростился и приближается к концепции анонимных хостов. А вся система приближается к модному в этом сезоне термину - "облаку". Нас реально не волнует как там что устроено внутри, оно просто работает.

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

Итог: если Вам действительно нужны USB порты в ВМ, то у Вас есть два возможных варианта при работе с VMware VI. В любом случае Вы добавляете в инфраструктуру отдельный хост и:
1) Устанавливаете на нем VMware Server, который прекрасно работает с хостовым USB, и запускаете серверы лицензий и тому подобные машины с необходимостью наличия USB под VMware Server.
2) Устанавливаете дополнительные USB контроллеры в нужном количестве и запускаете хост-сервис USB-over-IP на этой машине. После чего пробрасываете USB в нужные виртуальные машины по сети. Но в этом случае Вам будет необходимо купить соответствующий продукт, благо их в настоящее время достаточно широкий выбор.

13 комментариев:

  1. А почему тогда я могу добавить в VM serial и parallel port с редиректом на физические порты хоста? Или такие ресурсы не привязывают VM'ы к хосту? Неувязочка получается.

    ОтветитьУдалить
  2. В данном случае я высказываю свое личное мнение, не официальную позицию VMware.

    Параллельный и последовательный порты можно добавить и без привязки к физическим портам хоста, это во-1.
    Во-2, ИМХО привязка к физике осталась с ранних поколений и сохраняется для совместимости.
    В-3, привязать к хосту можно и через использование хостового CD-ROM, если об этом говорить.

    Только вот вопрос, Василий, Вы хотите поискать неувязочки или Вам USB ну очень нужен и именно в ESXi?

    ОтветитьУдалить
  3. Заранее извиняюсь, если своим неосторожным высказыванием я Вас, Антон, задел или, не дай Б-г, обидел. Просто мне кажется, поправьте мeня если я ошибаюсь, что человек, несущий славное звание vExpert не должен делать таких очевидных ляпов, пусть даже и на своём личном блоге. Потому как блог этот публичный и на информацию, расположенную на нём, ориентируются люди, технически менее образованные [я в их числе]. Поэтому я и обратил Ваше внимание на Ваше же предложение:

    Почему здесь нет места USB? А просто потому что использование портов хоста жестко привязывает ВМ к хосту.

    А если уж мы стали говорить про неувязочки, то их и искать не надо:

    Отвечаю: никогда
    Откуда такой оптимизм? Вот официальный ответ от VMware: “USB devices are currently not supported by VMware for use within ESX Server 1.5.x, ESX Server 2.x or ESX Server 3.x virtual machines because no USB controller device is currently available in ESX Server virtual machines. Support for USB devices is currently under technical review for future versions of the ESX Server software.
    [http://kb.vmware.com/kb/1015]

    ESX хост является донором лишь трех возможных ресурсов - времени процессора, мегабайтов оперативной памяти и мегабитов сетевого соединения
    Что с дисковым пространством?

    Нас реально не волнует как там что устроено внутри, оно просто работает
    И точно также просто ломается. И вот тогда-то нас реально волнует, как там что устроено.

    ИМХО привязка к физике осталась с ранних поколений и сохраняется для совместимости
    Тоже очень спорное утверждение.

    Ещё раз извиняюсь, если стиль моего комментария [предыдущего] был не совсем коректным.

    ОтветитьУдалить
  4. Здесь есть две стороны медали, как обычно.

    Сторона первая - официальная позиция VMware. Кстати, специально по этому поводу я запросил официальный комментарий.

    Сторона вторая - мнения разных людей. Я высказал свое личное мнение, и мнение в том, что host USB -> VM на ESX не нужен. Свою позицию я аргументировал, как считаю, достаточно подробно. С этим можно спорить или соглашаться.

    >Что с дисковым пространством?

    Без вариантов ESX отдает только то, что я написал.
    Во-1, ESX может быть бездисковым (USB boot, boot from SAN)
    Во-2, Привязка к локальным дискам опять лишает нас гибкости и динамики.

    >И точно также просто ломается.

    Есть и такое, да. Но надо разделять уровень на котором мы абстрагируемся от внутреннего устройства и видим облако, и уровень, на котором инженеры чинят облако.

    >Тоже очень спорное утверждение.

    Поэтому и ИМХО. Давайте обсудим - а так ли уж реально нам надо доступ к физическим портам ESX? Хоть LPT, хоть COM, хоть USB.

    ОтветитьУдалить
  5. Дополнительно открыл тему для обсуждения на форуме VMware для vExpert'ов.

    ОтветитьУдалить
  6. Антон, не хочется скатываться до полемики, но... Не может быть у этой медали двух сторон. Фирма VMware официально заявила, что нет поддержки host USB -> VM, потому что "no USB controller device is currently available in ESX Server virtual machines" Ссылку на эту статью я привёл. Поэтому утверждение "Почему здесь нет места USB? А просто потому что использование портов хоста жестко привязывает ВМ к хосту" мягко говоря, неправильное.
    Что касается доступа к LPT, COM и USB, то в моей практике потребовалось только один раз подключить такую штуку и не смог: USB - not supported, LPT - физически отсутствовал на серваках. Было бы круто, если бы появилось, что-то типа distributed vCOM, vLPT, vUSB: неважно в какой сервер подключаешь - доступ есть со всех.

    ОтветитьУдалить
  7. И еще раз. VMware заявила, что на текущий момент нет соответствующего виртуального USB контроллера. Возможность добавления такого контроллера находится на техническом рассмотрении.
    Т.е. по факту никаких планов по включению подобной функциональности нет. В VI4, насколько публиковалось в открытых источниках, этого тоже ждать не придется.

    Я высказал свои мысли почему этого ждать не стоит, и соотв. почему VMware не должна вообще включать подобную функциональность в ESX. Тем более, что весьма немало решений USB-over-IP на рынке.

    Одно из отличных возможных решений, как Вы сказали, distributed vDevice. Я целиком только за.

    ОтветитьУдалить
  8. Ну вот и пришли к взаимопониманию :-]
    Мир, дружба, жевачка :-]
    Удачных выходных.

    ОтветитьУдалить
  9. Сам факт того, что этот момент вызывает много вопросов говорит о том, что фича должна быть.

    Пользователь (он же заказчик) имеет право получить что хочет. Даже если и хочет не того:)

    ОтветитьУдалить
  10. Подскажите, а для чего на ESX, кроме подключения HASP ключей, может понадобиться USB ?

    ОтветитьУдалить
  11. 2Anton Zhbankov:
    Вы пишете что сейчас достаточный выбор решений USB-over-ip. Да, их много. Только вот реально использовать получается только Digi AnywhereUSB. Однако, у нее тоже есть проблема - все ее 5 портов получается предоставить только одной виртуальной машине. А если у меня на ВМ стоит приложение, требующее наличия локального ключа? На каждой ВМ свое приложение. (1C, Plant и еще длинный список). Получается что приходится покупать несколько устройств Digi в каждом из которых установлен только 1 ключ. Причем Digi стоит в несколько раз дороже аналогов.
    Есть решения (других фирм) позволяющие выдавать разные порты разным ВМ, но у таких устройств пока проблемы с восстановлением доступа к ключу после перезагрузки ВМ. Названия из сейчас не помню, но могу привести.
    Так что проблема USB в VmWare более чем актуальна. Привязывать USB к хосту - не выход. Проблема скорее в решениях USB over IP, точнее в их отсутствии.

    ОтветитьУдалить
  12. Мнение не подтвердилось =)

    ОтветитьУдалить
  13. Не хочу показаться некропостером, но ESXi 5.0 отлично "прокидывает" USB. Правда, тут придётся согласиться - кроме как для HASP это мне особо не пригодилось.

    ОтветитьУдалить