Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Виртуальная Среда
    Увеличь максимальное количество USB-устройств в vm.conf.

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Увеличь максимальное количество USB-устройств в vm.conf., Proxmox Виртуальная Среда
     
    Kevin Latimer
    Guest
    #1
    0
    16.03.2016 19:11:00
    Привет всем! Я пытался подключить несколько USB-устройств через KVM для гостевой машины, и никак не мог понять, почему одно из них не проходит, пока не прочитал, что файл vm.conf поддерживает только usb0 до usb4, а я использовал до usb7... Это ограничение в KVM/QEMU или количество USB-устройств действительно не рассматривалось как типичный сценарий использования для подключения, и поэтому нет необходимости использовать более 5 назначений в файле конфигурации? Я склоняюсь к тому, что это ограничение в KVM/QEMU, так как вижу, что USB-корневой хаб QEMU в гостевой машине ограничен 6 портами (ehci-pci/6p). Есть ли какие-то обходные пути, которые кто-то может предложить? Все мои устройства подключены к USB-хабу, и контроллер выделен только им, поэтому я могу без проблем подключить все целиком. У меня нет VT-d, поэтому я не могу подключить контроллер PCI. Возможно ли подключить хаб как одно устройство и, если да, как это указать в vm.conf? Я пробовал комбинации вроде "usb1: host=1-2" и "usb1: host=1-2.0", но безуспешно. Я лишь поверхностно изучил документацию QEMU, и интересно, возможно ли создать 12-портовый хаб или 2 6-портовых хаба? Если да, то кто-нибудь знает, как это может работать в мире PVE? Спасибо за любую помощь, КеВ.
     
     
     
    Kevin Latimer
    Guest
    #2
    0
    08.04.2016 13:02:00
    Привет, Доминик! Еще раз извини за задержку с ответом... Ты прав, добавление устройств во время работы работает – я могу добавить сколько угодно. При первом добавлении создается виртуальный хаб на 8 портов. Когда я подключаю шестое устройство, он "подключает" дополнительный хаб к первому виртуальному хабу, к которому и добавляются мои USB-устройства. Однако, у меня возникло несколько проблем с таким подходом. USB-устройства, добавленные при загрузке, создают устройство с постоянным идентификатором. А добавление их во время работы заставляет VM видеть их как совершенно новые устройства. Поскольку я использую NetworkManager в этом сценарии, он видит их как новые устройства, требующие настройки, что требует вмешательства человека. Кроме того, я также заметил, что это немного менее стабильно, иногда происходит segfault в гостевой системе. Это требует перезагрузки хостовой системы для восстановления доступа к USB-устройствам. Я пробовал USB-хабы EHCI и XHCI, но ни один из них не кажется особенно стабильным. Так что, похоже, что QM/KVM не против более чем 5 назначений (с использованием подхода с вложенными хабами), но думаю, нам нужно понять, как это сделать при загрузке – можем ли мы как-то "взломать" команду запуска?

    Удачи,
    Кев
     
     
     
    dcsapak
    Guest
    #3
    0
    11.04.2016 12:01:00
    Привет, в целом, увеличить лимит USB-устройств для нашей конфигурации несложно. Должно работать, даже если мы увеличим лимит, и это должно добавлять виртуальные хабы при старте. Что меня беспокоит: мы совсем не хотим активировать больше USB-портов, если это не стабильно, но я посмотрю и обсужу это внутри, если будет время.
     
     
     
    Kevin Latimer
    Guest
    #4
    0
    11.04.2016 12:07:00
    Привет, Доминик!

    Спасибо за ответ. Мне кажется, проблема со стабильностью не должна вызывать беспокойство. Я не вижу проблем, когда устройства настраиваются при загрузке, а только при подключении "на ходу". Если добавить 4 устройства при загрузке, всё довольно стабильно, но те же 4 устройства, подключенные "на ходу", могут вызвать ошибку сегментации (segfault), что, судя по dmesg, связано с модулем EHCI. Думаю, проблема в подключении устройств "на ходу" в моём конкретном сценарии использования, а не в коде QEMU USB. Могу протестировать любые патчи, если это поможет.

    Cheers,
    Kev
     
     
     
    efeu
    Guest
    #5
    0
    12.11.2016 11:13:00
    Как дела тут? Не должно быть слишком сложно его увеличить, правда?
     
     
     
    loffan
    Guest
    #6
    0
    31.07.2017 10:16:00
    Блин, я в такой же ситуации. У меня есть USB-хаб на 7 портов, который я хочу пробросить, но я могу добавить только usb0-4. Было бы круто, если бы можно было пробросить весь хаб целиком. Еще странно, что когда я выдергиваю USB-хаб, иногда ему назначается новый номер порта, и мне приходится заново добавлять порты в GUI… Есть какие-нибудь обновления?
     
     
     
    Luchik
    Guest
    #7
    0
    08.01.2019 12:01:00
    Не заметил, что при обновлении настроек Proxmox в файл вернулся ответ. Спасибо за подсказку! У меня уже 7 USB работают.
     
     
     
    Kevin Latimer
    Guest
    #8
    0
    31.07.2017 11:16:00
    В итоге мы решили использовать команду qm "-args" для добавления наших USB-устройств, что позволяет указать больше устройств, чем те 5, которые разрешены в GUI/конфигурации. Например: qm set 100 -args "-device usb-ehci,id=ehci,addr=0x5 \ -device usb-host,bus=ehci.0,hostbus=1,hostport=7.1 \ -device usb-host,bus=ehci.0,hostbus=1,hostport=7.3 \ -device usb-host,bus=ehci.0,hostbus=1,hostport=7.4 \ -device usb-host,bus=ehci.0,hostbus=1,hostport=7.5 \ -device usb-host,bus=ehci.0,hostbus=1,hostport=7.7 \ -device usb-host,bus=ehci.0,hostbus=1,hostport=7.8". Однако, у этого есть непредвиденное последствие, как я упоминал ранее: после добавления шестого устройства, за первым создается вложенный виртуальный хаб. Хотя это не обязательно должно вызывать проблемы, непредвиденным последствием является то, что этот виртуальный хаб подключен к USB с полной скоростью, а не с высокой, поэтому устройства 6 и выше ограничены скоростью 12 Мбит/с.

    Первый способ, который мы попробовали, был передать весь USB-root через VT-d/IOMMU. Однако, у наших двух аппаратных вариантов только первый не поддерживает IOMMU, а второй имеет USB и наши сетевые адаптеры в одной группе IOMMU. Поэтому, хотя передача USB работает отлично, мы теряем сетевое подключение :-(

    Второй метод, который мы попробовали, – это добавление второго контроллера USB, как здесь: qm set 100 -args "-device usb-ehci,id=ehci,addr=0x5 \ -device usb-host,bus=ehci.0,hostbus=1,hostport=7.1 \ -device usb-host,bus=ehci.0,hostbus=1,hostport=7.3 \ -device usb-host,bus=ehci.0,hostbus=1,hostport=7.4 \ -device usb-host,bus=ehci.0,hostbus=1,hostport=7.5 \ -device usb-host,bus=ehci.0,hostbus=1,hostport=7.7 \ -device nec-usb-xhci,id=xhci,addr=0x6 \ -device usb-host,bus=xhci.0,hostbus=1,hostport=7.2 \ -device usb-host,bus=xhci.0,hostbus=1,hostport=7.6 \ -device usb-host,bus=xhci.0,hostbus=1,hostport=7.8 \ -device usb-host,bus=xhci.0,hostbus=1,hostport=7.9". Как видите, нам пришлось добавить вторую группу устройств с помощью контроллера XHCI, оказывается, можно добавить больше одного EHCI, используя разные идентификаторы, но загрузка не всегда была стабильной для нас (примечание: в PVE 5.0 можно использовать USB-устройство QEMU-xhci из QEMU 2.9). Однако, XHCI пока не доказал свою стабильность в нашем сценарии использования, поэтому нам нужно будет вернуться к этому вопросу позже. Мы определенно видим меньше задержек в устройствах, так что XHCI — это правильный путь, но они сбрасываются через короткое время.

    Как идея, мы даже пробовали экспериментировать с USB/IP, добавляя устройства на USB/IP-сервер в хосте и создавая VHCI-шину в ВМ, используя выдеченный мост. Результаты были... ну, скажем так, смешанные.

    Передача всего хаба через кажется наилучшим вариантом — это было бы здорово для нас тоже. Однако, после множества поисков в списках и документах, я не думаю, что это так просто. Вы используете тот же код, который подключает виртуальные HID-устройства, такие как указатель/планшет, и тому подобное, так что фактически вы подключаете свои USB-устройства к одному и тому же контроллеру, а не "передаете" их в ОС. Многофункциональные устройства могут иметь один драйвер в ВМ, оставляя другое устройство видимым на хосте. Вы можете прочитать больше о USB в QEMU по адресу https://github.com/qemu/qemu/blob/master/docs/usb2.txt

    Уверен, когда мы вернемся к тестированию, мы найдем способы обойти многие из этих особенностей, но пока, для нашего сценария использования, EHCI — это самый стабильный вариант. Другой метод может хорошо подойти кому-то еще, однако.
     
     
     
    Alexander Pytlev
    Guest
    #9
    0
    01.08.2017 11:16:00
    Всё готово для настройки VM: машина - q35 и редактировать нужно /usr/share/perl5/PVE/QemuServer.pm. Найти и заменить 5 на 9: my $MAX_USB_DEVICES = 9; Перезагрузить pve-manager.service или хост. Добавить USB-устройства в конфигурацию VM (пример): usb0: host=2-1.4 usb1: host=2-1.3 usb2: host=2-1.5 usb3: host=2-1.6 usb4: host=2-1.2 usb5: host=2-1.1 usb6: host=1-1.6 usb7: host=1-1.5 Работает, но нужно контролировать /usr/share/perl5/PVE/QemuServer.pm, обновить и заменить 5 на 9 при необходимости.
     
     
     
    efeu
    Guest
    #10
    0
    15.10.2017 13:50:00
    Если увеличение максимального количества USB-устройств так просто, интересно, почему эти изменения не включены? Есть какая-то причина?
     
     
     
    dcsapak
    Guest
    #11
    0
    16.10.2017 10:37:00
    Ну вот, ходили слухи, что работа с VM, к которой подключено много USB-устройств, была нестабильной. У меня пока не было времени провести тесты с подключением более чем к пяти устройствам, но если вы сможете протестировать (с ручной правкой, указанной выше) и это сработает, можете создать запрос на улучшение здесь (https://bugzilla.proxmox.com/).
     
     
     
    adamb
    Guest
    #12
    0
    18.10.2017 14:37:00
    Работаю над тестированием с 6 устройствами, и если всё пойдёт как надо, открою запрос на улучшение!
     
     
     
    Luchik
    Guest
    #13
    0
    05.12.2018 08:41:00
    Нужно отправить 12 USB-накопителей на сервер. Изменил файл /usr/share/perl5/PVE/QemuServer.pm, там теперь: my $MAX_USB_DEVICES = 12; выключил и включил хост-сервер, но максимум 5 USB-устройств: PVE 5.2, VM WinServer 2016. Если вручную изменить конфигурационный файл VM (101.conf): usb0: host=1-11 usb1: host=1-12 usb2: host=1-6 usb3: host=1-8 usb4: host=1-9 usb5: host=2-5 usb6: host=2-7, всё равно не работает.
     
     
     
    Alexander Pytlev
    Guest
    #14
    0
    05.12.2018 16:47:00
    Ты это настраивал? И я не уверен, что все 12 портов будут задействованы, потому что минимум один порт используется для виртуальной клавиатуры/мыши.
     
     
     
    Luchik
    Guest
    #15
    0
    06.12.2018 12:59:00
    Теперь я добавил строку в конфигурационный файл qemu-server/104.conf:
    Code:
    balloon: 600
    bootdisk: scsi0
    cores: 14
    hotplug: usb
    memory: 13500
    name: Win2016Terminal
    net0: virtio=32:F5:27:C0:64:30,bridge=vmbr0
    numa: 0
    onboot: 1
    ostype: win10
    scsi0: lvm-vm:103/vm-103-disk-0.raw,size=87G
    scsihw: virtio-scsi-pci
    shares: 29000
    smbios1: uuid=2dcece8d-29c0-4a32-92ab-15244891fac4
    sockets: 1
    usb0: host=c1a5:0502
    usb1: host=0a89:0003
    usb2: host=c1a5:0502
    usb3: host=c1a5:0502
    usb4: host=c1a5:0502
    vga: std
    vmgenid: d9434c9a-f07b-4799-a615-eadbb2d21ae0
    machine: q35 machine: q35 остановил виртуалку, запустил её обратно, но ничего не изменилось.
     
     
     
    Pógyor istván
    Guest
    #16
    0
    24.01.2019 08:14:00
    Здравствуйте, служба поддержки. После обновления до QemuServer.pm config у вас может быть $MAX_USB_DEVICES = 12. Сейчас значение равно 5, и это неудобно менять после каждого обновления. /usr/share/perl5/PVE/QemuServer.pm $MAX_USB_DEVICES = 12;

    С уважением,
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2026 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры