В PVE доступны способа проброса USB-устройств в ВМ:
динамический проброс через SPICE (SPICE USB Passthrough) — устройство подключается «на лету», когда ВМ запущена и активен SPICE-клиент;
прямой проброс USB с хоста (Host USB Passthrough) — устройство физически отключается от хоста и полностью передаётся ВМ.
Можно также сопоставлять USB-устройства на уровне кластера. Это позволяет корректно выполнять миграцию ВМ в HA-кластере, автоматически обнаруживать изменения оборудования и предоставлять пользователям без прав root возможность управления устройствами. Подробнее см.
Сопоставление устройств.
Чтобы пробросить USB-устройство в ВМ, выполните следующие действия:
Перейдите на вкладку Оборудование;
Нажмите кнопку → :
Выберите режим проброса:
Порт Spice — динамический проброc через SPICE-клиент (устройство выбирается в клиенте во время сессии):
Использовать сопоставленное устройство — проброс устройства, зарегистрированного в кластере:
Использовать идентификатор производителя/устройства USB — проброс конкретного USB-устройства по VID:PID:
Устройство можно выбрать в выпадающем списке Выберите устройство или указать вручную в формате <ID-производителя>:<ID-устройства> (значение можно получить из вывода команды lsusb).
Использовать USB-порт — проброс всего порта (любое устройство, подключённое к нему, будет передано ВМ):
Порт можно выбрать в выпадающем списке Выберите порт или указать вручную в формате <Номер_шины>:<Путь_к_порту> (значение можно получить из вывода команды lsusb -t).
Нажать кнопку Добавить.
Остановить и запустить ВМ (обычная перезагрузка не применяет изменения конфигурации).
Примеры добавления USB-устройств в консоли:
порт Spice:
# qm set 100 --usb3 spice
update VM 100: -usb3 spice
проброс конкретного USB-устройства:
# qm set 100 --usb4 host=346d:5678
update VM 100: -usb4 host=346d:5678
При использовании SPICE Passthrough устройство можно подключать и отключать динамически через меню SPICE-клиента:
Список устройств можно посмотреть на вкладке
Монитор:
Если в конфигурации ВМ указан конкретный VID:PID или bus:port, а устройство отсутствует на хосте, ВМ загрузится без ошибок. Как только устройство или порт станет доступным на хосте, оно автоматически будет проброшено в ВМ.
Прямой проброс (параметры host=VID:PID или bus:port) блокирует миграцию ВМ на другой узел, так как устройство физически привязано к текущему хосту.
Сопоставленные устройства позволяют выполнять оффлайн-миграцию ВМ на узлы, где зарегистрировано то же устройство.