В настоящее время мы тестируем очень большое количество устройств, и у нас есть один ПК на 10 устройств или около того (мы используем два USB-концентратора на каждый ПК, чтобы подключиться к устройствам). У нас огромное количество компьютеров, и это превращается в кошмар для менеджмента. Я думал о том, как мы могли бы виртуализировать нашу инфраструктуру, но у меня возникла проблема, как получить много USB-подключения от виртуальной машины к USB-концентратору в другой комнате, к которой подключены устройства.
Я думал, что мы могли бы настроить серверную комнату для размещения кластера виртуальных машин, и это заменило бы ПК, но мне нужен способ получить 2 USB-соединения на виртуальную машину, доступную в других комнатах, где расположены все устройства. Я надеялся, что у людей появятся предложения (технологии / протоколы связи и т. Д.) О том, как я могу это сделать, потому что я нашел только подключенный к сети USB, что кажется выполнимым, но для одного поставщика, которого я нашел (digi.com) , он поддерживает только USB2. Кроме того, digi - единственный поставщик, предлагающий эту технологию, поэтому я очень нервничаю, когда мы наращиваем масштабы, о которых думаем. Я надеялся найти альтернативные средства подключения (PCIe через Ethernet?), Которые позволили бы мне сделать это более эффективно или, по крайней мере, получить более широкую поддержку. Кроме того, я хотел бы иметь возможность поддерживать USB3.
Лучшее, на что я надеюсь, - это виртуализированные USB-порты на виртуальных машинах, представленные как физические USB-порты в другой комнате - это то, что я действительно хочу. Я также думал о большом шасси с кучей USB-карт, переходя от карт к USB-адаптерам по оптоволокну, но это вводит много соединений. Другие мысли заключаются в том, как переместить внешнее шасси PCI в комнату с устройствами (PCIe через Ethernet?) С большим количеством установленных USB-карт и вытащить его оттуда? Я открыт для предложений!
Я также открыт для размещения кластера виртуальных машин в комнате, где размещаются устройства, если это действительно единственный способ передать данные ввода-вывода из серверной стойки на устройства, но я бы предпочел, чтобы кластер находился в серверная комната, а затем оттуда разветвляется ввод-вывод.
Просто чтобы прояснить, я хотел бы, чтобы физические USB-порты в одной комнате, а виртуальные USB-порты отображались на виртуальных машинах. То, как я перехожу из одного места в другое, полностью открыто для предложений.
Стек виртуализации де-факто в linux (kvm / qemu + libvirt) поддерживает перенаправление USB1,2,3 по сети. Так,
Все это можно сделать программно (libvirt) или с помощью графического интерфейса (virt-manager).
Вы можете выбрать использование компьютеров малого форм-фактора на базе Linux, USB-концентраторов и программного решения для обеспечения доступа к USB-устройствам.
Позвольте мне описать возможное решение, и вы сможете адаптировать его под свои нужды:
Установка компьютера малого форм-фактора (например, Raspberry Pi) во многих формах обсуждается в Интернете. Вы можете выбрать предпочитаемый способ монтажа, например: установить их на готовую полку для монтажа в 19-дюймовую стойку и просверлить несколько отверстий для распорок или сделать из них стопку с распорками. Это будет разумным способом установки и масштабирования до множества хозяев.
Мощностью компьютера малого форм-фактора легче управлять. Потребуется только один общий источник питания для хостов и, возможно, для дополнительного питания ваших USB-концентраторов. Промышленный источник питания и некоторая нестандартная проводка создадут стабильный источник питания и возможность добавить резервную мощность. Много здесь возможны решения.
Компьютер на базе Linux малого форм-фактора может запускать очень упрощенный (одноцелевой) дистрибутив с установленным только программным обеспечением для совместного использования USB. Этот агент управления может быть установлен для наблюдения за работой хоста. Чтобы свести к минимуму вероятность повреждения, вам следует купить подходящую карту памяти, файловая система хоста только для чтения и не настраивать пространство подкачки.
Доступны программные решения для совместного использования USB-устройств. Есть поставщики, предлагающие проприетарное программное обеспечение с поддержкой, или вы можете выбрать решение с открытым исходным кодом, такое как USB / IP проект.
Преимущества по сравнению с вашими текущими решениями:
Возможные недостатки:
Несмотря на то, что это самодельный продукт, состоящий из хорошо поддерживаемых компонентов (промышленные источники питания, стандартные, не привязанные к поставщику, заменяемые продукты), он по-прежнему настраивается индивидуально и не соответствует вашему поисковому «корпоративному» решению. Я очень сомневаюсь, что будет корпоративное решение, которое хорошо масштабируется, не зависит от поставщика и является экономически эффективным.