Machine virtuelle prenant en charge l'accès au matériel: USB 3 (et PCI)

6

Je suis en train de choisir un logiciel de VM.

J'ai l'obligation d'accéder à un périphérique USB3 personnalisé dans une machine virtuelle (invité Windows 8 64 bits, l'hôte est Windows 7 64 bits). D'après ce que j'ai lu, VMware serait le meilleur choix pour le support USB3. Est-ce vrai? J'ai aussi lu que le support USB n'est pas fiable à 100% - est-ce vrai aussi et à quoi dois-je m'attendre?

En option, je souhaite également utiliser une carte PCI (en fait, pour la capture vidéo à partir d'une caméra). D'après ce que j'ai lu, donner à une machine virtuelle un accès au matériel PCI est une tâche plutôt difficile. ESXi et XEN offrent un support (??) rudimentaire (la virtualisation de bureau n'est pas ??), la plupart des logiciels de VM ne le supportent pas du tout.

Avez-vous une expérience sur ces sujets? USB2 et - principalement - USB3 est mon objectif principal, l’accès PCI serait simplement agréable.

Le contexte:

J'utiliserai ces ordinateurs virtuels pour développer une application autour d'un matériel USB3 propriétaire.

(L’avantage devrait être d’amener rapidement le système dans des états complètement différents, de tester les installations sur de nouvelles installations de Windows. De plus, il y aura beaucoup de développeurs, mais seulement peu de matériel (prototypes), afin que chacun ait son propre environnement (au moins séquentiel) sois gentil, etc.)

Andreas Reiff
la source
2
si vous pouviez utiliser le système d'exploitation Windows 8 comme système d'exploitation hôte, vous pourriez utiliser son système Hyper-V intégré, qui est extrêmement sophistiqué du point de vue matériel. Il supporte complètement USB3. Je ne connais aucun logiciel de virtualisation de bureau qui vous permette de canaliser une carte PCI vers un ordinateur virtuel. En règle générale, le pilote s'exécute sur le système d'exploitation hôte et les ressources résultantes sont connectées à l'invité, via une API de niveau supérieur.
Warren P
Merci! Cette API de niveau supérieur dont vous parlez .. est-elle limitée aux périphériques spécifiquement pris en charge par le fournisseur de machines virtuelles? Vous aimez les imprimantes, les cartes son et graphiques? Donc, ce ne serait pas bon pour les appareils nouveaux / non répandus? En outre, je vais vérifier Win 8 Hyper-V, je ne le savais pas.
Andreas Reiff
Il existe deux niveaux de restriction. Premièrement, un périphérique doit fonctionner correctement sur le système d’hébergement . Donc, vous utilisiez Win8 en tant qu'hôte VM et votre périphérique PCI n'avait pas de pilote Win8, vous auriez de la chance. Deuxièmement, l'hyperviseur doit prendre en charge un mode spécialisé "passer par les capacités du périphérique X". Cela pourrait être aussi simple que le standard "agir comme si le lecteur USB que je viens de connecter était branché sur la VM au lieu de l'hôte", ou plus sophistiqué, comme "partager également l'imprimante de mon hôte avec la VM".
Zac B
A réussi à faire en sorte que la redirection USB 3 fonctionne correctement avec une VM Win7 à chaque connexion, mais je ne savais absolument pas comment je l'avais fait. J'essaie de revenir sur ce que j'ai fait, mais je retiens à chaque fois. Hôte: ESXI 5.1 / IBM Blade E5420 || Invité VM: Win7Pro 64 || Unité exécutant VM View 5.1: Lenovo Edge E430 (3 ports USB 3.0) exécutant Win7Pro64 || Périphérique USB 3 utilisé: Clé USB 3.0 PNY 32 Go || Voir le lien ci-dessous pour l'instantané PrtSc flic.kr/p/dWY7jx Je cherche des conseils sur ce qu'il faut essayer, mais peu importe, mettra à jour dès que je trouverai la réponse. Fonctionne sur tous les bts de mes VM Win7.

Réponses:

4

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.

Zac B
la source
Merci beaucoup! Je vais essayer ceci si cela devait se reproduire. (En fait, pour le projet que j’avais à l’origine, nous utilisons maintenant de vraies machines, car la configuration des machines virtuelles est plutôt compliquée. Et le temps est toujours un problème (la sécurité était également un problème aussi ..)) La VM est-elle la même chose que d'avoir le périphérique directement connecté à une machine physique? (Ainsi, même des modes tels que USB 3 isochrones sont pris en charge?)
Andreas Reiff
1
Oui. Si vous utilisez le relais de périphérique PCI (en passant par le contrôleur USB3 sur le chipset, plutôt que de simplement connecter un périphérique USB physique via un concentrateur virtuel), il agit exactement comme si ce contrôleur était physiquement connecté à la machine virtuelle. Toutes les fonctionnalités du contrôleur sont prises en charge. Il y a toujours quelques exceptions (par exemple, les cartes graphiques), mais je n'ai jamais entendu parler de contrôleurs USB, même ceux intégrés au chipset d'une carte mère. Bien entendu, la restriction est que le contrôleur ne peut être transmis qu’à un seul ordinateur virtuel.
Zac B
2

VMware Workstation 9 prend en charge Windows 8 et USB 3.0. J'ai utilisé ma Microsoft StudioCam w / USB avec succès avec des ordinateurs virtuels en activant simplement l'option de connexion à l'invité (déconnexion de l'hôte). Vous pourriez avoir des problèmes avec la carte PCI, je vous suggère donc de trouver une solution alternative USB pour capturer le flux.

j_bombay
la source
En fait, avec la dernière version de VMware Player (même moteur ??), je ne peux pas utiliser mon matériel USB3. J'ai lu quelque part quelque chose sur le fait que les périphériques USB utilisant le mode isochrone ne sont pas pris en charge. Il est difficile d'obtenir une réponse précise à ce sujet.
Andreas Reiff
Consultez la page 75 de ce PDF de VMware Player. Je ne sais pas si des configurations supplémentaires doivent être configurées? vmware.com/pdf/desktop/vmware_player50.pdf La page 76 indique également que l’isochrone est pris en charge. (Sous Ajouter un contrôleur USB à une machine virtuelle dans la table)
j_bombay
C'est précisément le type d'incohérence par utilisateur qui rend l'utilisation de la virtualisation de postes de travail pour le test / développement de périphériques matériels; envisager une solution hyperviseur mince.
Zac B
-1

J'ai un ordinateur portable Dell vendu uniquement avec les ports USB 3.0. J'ai beaucoup de difficulté à garder / garder USB3 sur cette machine tout en exécutant vmware workstation 9.01.894247

Si votre machine utilise un pilote Intel xchi pour usb, vous serez également affecté.

d'autres avec la question ici

Il existe de nombreux types de correctifs dans le fil ci-dessus. Celui qui fonctionne pour moi télécharge et exécute "Intel_Chipset_7-Series_USB3_FJ3FJ_A03_SETUP_ZPE.exe" du site d'Intel et l'installe. Chaque fois que je redémarre Windows 7, je dois le réinstaller. Parfois, lorsque je redémarre la machine virtuelle, je dois la réinstaller. C'est une vraie douleur et j'espère que vmware publiera bientôt une nouvelle mise à jour.

Deux
la source
Ce n'est pas une réponse. Bien que vos expériences dans ce domaine puissent être utiles au PO, ce contenu convient mieux à un commentaire.
Zac B