- Что такое USB Passthrough в VMware ESXi и зачем он нужен?
- Какие требования и ограничения существуют при пробросе USB устройств?
- Как добавить USB контроллер и USB устройство в настройки виртуальной машины?
- Если USB устройство не отображается — что делать?
- Что такое VMDirectPath (PCI Passthrough) и как пробросить USB контроллер целиком?
- Особенности службы USB Arbitrator
- Обновление версии виртуального оборудования (Virtual Hardware)
- Особые случаи: проброс USB токенов и других нестандартных устройств
- Кастомизация образа ESXi с дополнительными USB драйверами
- Типичные сложности при установке ESXi на устройства с USB сетевыми картами
- Резервирование памяти и миграция ВМ с проброшенными USB устройствами
- Итоговый чек-лист для успешного USB Passthrough в VMware ESXi
- FAQ
Вы когда-нибудь пытались подключить флешку напрямую в виртуальную машину VMware ESXi и подумали: «А где же моя USB-штука?» Если да, то вы не одни! В этой статье мы детально разберём, как устроен USB Passthrough, какие подводные камни ждут при пробросе USB устройств и как решить даже самые хитрые проблемы с драйверами и совместимостью.
Мы пройдемся по всему пути: от базовых принципов проброса USB до продвинутых приёмов с пробросом целого USB контроллера и созданием кастомного образа ESXi с нужными драйверами. Поехали!
Что такое USB Passthrough в VMware ESXi и зачем он нужен?
USB Passthrough — это технология, которая позволяет виртуальной машине (ВМ) получить прямой доступ к физическому USB устройству, подключенному к ESXi хосту. Представьте, что вы хотите быстро скопировать файлы с ВМ на внешний USB диск, как если бы вы сидели перед физическим сервером и вставляли флешку в его USB порт. Вот тут на помощь и приходит USB Passthrough!
Эта функция появилась в ESXi начиная с версии 4.1 и с тех пор активно используется для работы с USB флешками, дисками, модемами и даже USB токенами безопасности.
Какие требования и ограничения существуют при пробросе USB устройств?
Как и в любой сказке, в USB Passthrough есть свои "золотые правила" и ограничения:
| Требование / Ограничение | Описание |
|---|---|
| Virtual Hardware версии 7.0 и выше | Без этого USB Passthrough не заработает |
| Проброс USB устройства только для одной ВМ | Одно устройство — одна виртуальная машина |
| Максимум 20 USB устройств на одну ВМ | Большего ESXi просто не разрешает |
| Загрузка ВМ с USB не поддерживается | Не спешите делать ВМ загрузочной с USB |
| Не поддерживается DPM режим | ВМ с USB не «уснут» вместе с хостом |
| Для vMotion нужна галочка “Support vMotion while device is connected” | Позволяет мигрировать ВМ с проброшенным устройством |
| ESXi хосты должны быть доступны по vmk0 TCP 902 порт | Для работы USB Passthrough необходимо сетевое соединение |
Если кратко, то USB Passthrough — как эксклюзивная вечеринка: попасть можно только одному гостю (ВМ), с одним девайсом, и лучше не менять места во время тусовки (включать vMotion).
Как добавить USB контроллер и USB устройство в настройки виртуальной машины?
Сам процесс добавления USB устройства к ВМ в ESXi выглядит так:
-
Добавляем USB контроллер:
-
Заходим в настройки ВМ (Edit settings)
- Нажимаем "Add New Device" -> выбираем "USB Controller"
-
Выбираем тип контроллера:
- USB 2.0 (EHCI+UHCI) — для старых устройств
- USB 3.0 (xHCI) — для быстрых современных устройств (нужен virtual hardware 8+)
-
Добавляем USB устройство:
-
В тех же настройках ВМ добавляем "Host USB device"
- Выбираем из списка физически подключенное к хосту USB устройство
-
Нажимаем Add и сохраняем изменения
-
Для поддержки vMotion:
-
Включаем опцию “Support vMotion while device is connected” (если есть)
-
Запускаем ВМ и проверяем наличие USB устройства внутри гостевой ОС
Так просто? Похоже на покупку билета на самолет — выбрал место (контроллер), сел (USB устройство) и летишь (работаешь с устройством в ВМ).
Если USB устройство не отображается — что делать?
Иногда при добавлении USB устройства в ВМ вы можете увидеть сообщение «No available USB devices» или «Device not found». Это значит, что ваше устройство либо не поддерживается напрямую, либо занято.
Возможные решения:
- Проверьте, что служба USB Arbitrator работает на ESXi:
bash
chkconfig usbarbitrator --list
-
Ознакомьтесь со списком совместимых устройств на сайте VMware в статье USB Devices tested for Passthrough.
-
Если устройство не поддерживается напрямую — попробуйте пробросить целый USB контроллер.
Что такое VMDirectPath (PCI Passthrough) и как пробросить USB контроллер целиком?
Если проброс устройства не сработал, не отчаивайтесь — у VMware есть козырь в рукаве: VMDirectPath (или PCI Passthrough). Это когда вы пробрасываете это весь USB контроллер хоста в виртуальную машину.
Преимущества:
- ВМ получает полный доступ к USB устройствам, подключенным к этому контроллеру
- Можно использовать USB устройства, которые не поддерживаются в обычном режиме
Недостатки:
- Контроллер и все USB устройства на нём становятся недоступны для хоста
- Если контроллер единственный — мышь и клавиатура, подключенные к нему, перестанут работать на хосте
- Требуется поддержка VT-d (Intel) или AMD IOMMU в BIOS/UEFI и включение соответствующих настроек
Как пробросить контроллер:
- Определите нужный USB контроллер:
bash
lsusb -v | grep -e Bus -e iSerial
tail -f /var/log/vmkernel.log | grep -i USB
- В интерфейсе ESXi перейдите:
Manage -> Settings -> PCI Devices -> Edit
-
Выберите нужный USB контроллер по ID и сделайте его Available.
-
Перезагрузите хост.
-
В настройках ВМ добавьте новое PCI устройство и выберите USB контроллер.
-
Запустите ВМ и проверьте наличие USB устройств в гостевой системе.
Особенности службы USB Arbitrator
Эта служба — дирижёр оркестра USB на ESXi. Она управляет:
- Сканированием USB устройств
- Маршрутизацией трафика между хостом и ВМ
- Блокировкой одновременного доступа к одному устройству (чтобы избежать хаоса)
Arbitrator поддерживает до 15 USB контроллеров и гарантирует, что USB устройства будут работать только с одной ВМ одновременно. Если службу выключить — USB Passthrough не будет работать вообще.
Обновление версии виртуального оборудования (Virtual Hardware)
Если у вас проблема с подключением USB устройств, часто поможет обновление виртуального оборудования ВМ. Например, USB 3.0 поддерживается только с версии виртуального железа 8 и выше.
Обновить можно так:
- Откройте настройки ВМ
- Выберите "Compatibility" или "Upgrade virtual hardware"
- Выберите нужную версию (рекомендуется не ниже 8)
Без этого шага Ваша ВМ может просто не увидеть современные USB контроллеры.
Особые случаи: проброс USB токенов и других нестандартных устройств
USB токены, например Aladdin Knowledge Token, требуют особой настройки.
Рецепт победы:
- Выключите ВМ.
- В настройках ВМ откройте "VM Options" -> "Advanced" -> "Configuration Parameters".
- Добавьте параметр:
usb.generic.allowCCID TRUE
- Включите ВМ.
- Добавьте USB устройство токена.
- Запустите и наслаждайтесь!
Если проброс не работает, можно использовать программы типа USB over Ethernet — эдакий удалённый доступ к USB устройствам по сети.
Кастомизация образа ESXi с дополнительными USB драйверами
Если вы столкнулись с проблемой поддержки USB сетевых карт или контроллеров на нестандартном оборудовании, можно собрать свой образ ESXi с нужными драйверами.
Основные шаги:
- Установить VMware PowerCLI и ImageBuilder на Windows
- Скачать официальный образ ESXi и драйверы (например, USB NIC Fling)
- Создать JSON-файл с описанием компонентов для сборки
- Запустить команду сборки нового ISO образа
Такой кастомный образ позволит добавить поддержку USB устройств, которых нет в стандартном дистрибутиве.
Типичные сложности при установке ESXi на устройства с USB сетевыми картами
- ESXi может не обнаружить сетевую карту, если драйвер отсутствует в стандартном образе.
- Сторонние инструкции часто устарели или неполны.
- Для интеграции драйверов нужно использовать PowerCLI и Python, что требует дополнительных усилий.
- Иногда проще использовать другие гипервизоры (например, Proxmox) с лучшей поддержкой USB.
Резервирование памяти и миграция ВМ с проброшенными USB устройствами
- При пробросе PCI устройств ВМ может требовать, чтобы память была зарезервирована (memory reservation = memory size).
- Для vMotion с проброшенными USB устройствами обязательно включайте поддержку в настройках ВМ.
- Если ВМ выключена, её нужно вручную мигрировать на хост с нужным USB устройством.
- Режим DPM не поддерживается, чтобы хост не уходил в сон с активными USB устройствами.
Итоговый чек-лист для успешного USB Passthrough в VMware ESXi
| Шаг | Описание |
|---|---|
| Добавить USB контроллер | В настройках ВМ добавить USB controller нужной версии |
| Добавить USB устройство | Добавить Host USB device и выбрать нужное устройство |
| Обновить виртуальное железо | Virtual Hardware версии 7.0+ для USB 2.0, 8+ для USB3 |
| Проверить службу Arbitrator | Должна быть запущена для работы USB |
| Настроить vMotion (если нужно) | Включить поддержку миграции с USB устройством |
| Использовать VMDirectPath при проблемах | Пробросить целый USB контроллер, если устройство не работает напрямую |
| При пробросе PCI — зарезервировать память | Установить memory reservation = memory size |
| При нестандартных устройствах | Добавить параметр usb.generic.allowCCID TRUE |
| При проблемах с драйверами | Собрать кастомный образ ESXi с нужными драйверами |
FAQ
В: Можно ли пробросить USB устройство сразу в несколько ВМ?
О: Нет, только одна ВМ может иметь доступ к одному физическому USB устройству.
В: Можно ли загрузить ВМ с USB диска?
О: Нет, ESXi не поддерживает загрузку ВМ с USB устройств.
В: Что делать, если в списке USB устройств нет нужного диска?
О: Проверьте поддержку устройства, работу службы Arbitrator, попробуйте пробросить весь USB контроллер.
В: Как узнать, какой USB контроллер пробросить?
О: Используйте команду lsusb -v и смотрите логи vmkernel.log, чтобы определить ID контроллера.
В: Можно ли мигрировать ВМ с проброшенным USB устройством на другой хост?
О: Да, если включена поддержка vMotion и USB устройство доступно на целевом хосте.
USB Passthrough в VMware ESXi — это как пригласить гостя на свою вечеринку: важно правильно выбрать приглашение, контролировать доступ и обеспечить комфортное общение. Если следовать инструкциям и учитывать ограничения, вы сможете легко подключать USB устройства к ВМ и использовать их так же удобно, как на физическом сервере. Удачи в ваших виртуальных приключениях!