Si vous souhaitez transmettre des périphériques avec une prévisibilité maximale (par exemple, vous voulez être sûr que le logiciel que vous développez fonctionne sur une connexion USB3 transmise exactement de la même manière que sur un vrai, plutôt que de compter sur un ordinateur de bureau. technologies de passerelle hyperviseur et problèmes de pilote d’hôte), l’utilisation d’une solution de virtualisation des postes de travail n’est peut-être pas la meilleure solution. ESXi, Xen et XenServer offrent tous une capacité de passerelle matérielle beaucoup plus prévisible et plus prévisible que toute solution basée sur un ordinateur de bureau. Cela a du sens, car les solutions de bureau ont tendance à minimiser la configuration de l’utilisateur final et à ne faire fonctionner que certaines fonctions d’un périphérique.
Si elles sont exécutées sur du matériel compatible, les solutions d'hyperviseur mince prennent en charge la possibilité d'utiliser le "relais de périphérique", qui peut être utilisé pour transférer un périphérique à une machine virtuelle via le traitement IOMMU / VT-D , également appelé passerelle PCI . Ce périphérique est ensuite dédié à cette machine virtuelle (jusqu'à ce que vous la détachez).
Cela signifie qu'il fonctionne exactement comme s'il était connecté directement. Il n’existe pas de couche intermédiaire "demandant si" de pilotes compatibles pour l’hôte, et une stratégie de partage des ressources par type de périphérique pour l’hyperviseur: le périphérique vient d’être transmis, brut, à l’invité. Les trois principaux hyperviseurs minces prennent également en charge le passage direct de périphériques USB arbitraires de la même manière (bien que cela ne nécessite pas de matériel compatible IOMMU / VT-D). Les périphériques USB passés peuvent également être branchés / débranchés à chaud, à la différence des périphériques PCI transmis.
L'utilisation d'un hyperviseur mince vous permet également de ne connecter que quelques instances du périphérique que vous testez sur un seul serveur, puis de donner à chacun de vos développeurs une machine virtuelle sur ce serveur. Lorsqu'un développeur souhaite tester avec le (s) matériel (s), il peut demander une connexion de périphérique, un administrateur peut connecter le périphérique USB à la VM de ce développeur via une passerelle de périphérique, puis accéder à sa VM via un poste de travail distant ou similaire.
Il y a cependant quelques mises en garde:
Premièrement: en dehors d’une gamme très étroite de matériels compatibles, le passage de cartes graphiques ne fonctionne pas bien (et ne fonctionne généralement que de manière fiable sur XenServer - voici comment , et voici la liste de compatibilité matérielle ( HCL )). Autant que je sache, cela ne s'applique pas aux cartes de capture vidéo telles que celle dont vous avez parlé. Deuxièmement, les périphériques PCI à connexion directe bloquent souvent l'utilisation d'autres technologies avancées d'hyperviseur (telles que la capture instantanée, la migration ou d'autres fonctionnalités de haute disponibilité). Troisièmement: à l'exception des problèmes de carte graphique, ESXi dispose de la méthode de gestion de transfert d'appareil la plus robuste et la plus configurable. Vous pouvez le faire avec Xen (et manuellement avec XenServer ), mais pas aussi facilement qu'avec ESXi.. Quatrièmement: des versions spécifiques d'ESXi imposent des restrictions sur les périphériques que vous pouvez utiliser. ESXi 5.0 transmettra plus ou moins tout ce que vous lui donnez (même au risque de la stabilité du système). 5.1 est beaucoup plus pointilleux, et désactivera souvent le relais pour les périphériques sans vous donner une bonne raison.