Как пробросить USB-устройство в ВМ
USB-устройство сервера отдаётся машине в её настройках: машина → Hardware → Add → USB Device. Выберите один из вариантов и устройство в списке:
- Use USB Vendor/Device ID — по номеру устройства: машина получит именно его, в какой бы порт его ни вставили;
- Use USB Port — по порту: машина получит любое устройство, вставленное в этот порт сервера.
Отметьте Use USB3, если устройство и порт — USB 3. Нажмите Add. Обычно устройство появляется в работающей машине сразу; если нет — выключите машину и включите снова.
Какой вариант выбрать
| Устройство | Вариант |
|---|---|
| Ключ защиты программы, токен, модем | по номеру (Vendor/Device ID) |
| Несколько одинаковых устройств | по порту: у одинаковых устройств одинаковые номера |
| «Порт для флешек», куда вставляют разное | по порту |
Из терминала
Найдите устройство:
lsusbВ строке устройства есть номер вида ID 0951:1666: первая часть — производитель, вторая — модель. Подключите его к машине 100:
qm set 100 -usb0 host=0951:1666По порту — адрес вида 1-2 (шина и порт); дерево портов показывает lsusb -t:
qm set 100 -usb0 host=1-2Для USB 3 добавьте ,usb3=1: host=0951:1666,usb3=1. Номера здесь для примера — подставьте свои. Убрать устройство — Hardware → выделить → Remove.
Подводные камни
- Машину с USB-устройством нельзя перенести на другой узел живой миграцией: устройство физически стоит в этом сервере.
- Устройство отключили — машина продолжает работать; когда устройство вернётся, Proxmox снова передаст его машине.
- Устройство занято сервером. Если флешку или диск смонтировали на самом Proxmox, отмонтируйте перед пробросом: одно устройство не должно работать в двух системах сразу, иначе данные на нём повредятся.
- Не работает, хотя проброшено. Некоторым устройствам нужен USB 3 или, наоборот, USB 2 — попробуйте переключить Use USB3. Если устройство капризное, иногда помогает проброс целого USB-контроллера как устройства PCI — см. Как пробросить видеокарту.
- Контейнеры LXC. В контейнер USB так не пробрасывается: устройство отдают через его файл в
/dev(раздел Resources → Add → Device Passthrough). Это сложнее, и для начала удобнее виртуальная машина.
Не пробрасывайте в машину USB-накопитель, с которого загружается сам сервер Proxmox или на котором лежат его хранилища: сервер потеряет доступ к своим данным.