Comment utiliser des périphériques USB avec une machine virtuelle VMware vSphere

>La fonction principale d’un hyperviseur est d’émuler les appliances utilisées par les machines virtuelles au niveau logiciel. Les appliances, telles que les contrôleurs virtuels, les disques, les lecteurs DVD-ROM, les cartes vidéo, les cartes réseau, les périphériques d’entrée, etc., sont créés dans une machine virtuelle. Mais que faire si vous souhaitez connecter une imprimante, un scanner, une clé USB, un disque dur USB, un lecteur de carte à puce USB, des dongles de sécurité, des clés de licence USB, etc. ?

Pour les périphériques physiques externes dotés d’une interface USB, vous pouvez les connecter à une machine virtuelle fonctionnant sur VMware Workstation ou un hôte VMware ESXi par l’intermédiaire de la fonctionnalité de transfert USB. Cet article de blog traite de l’utilisation de cette fonctionnalité dans VMware vSphere sur les hôtes ESXi, y compris les conditions à remplir et les étapes à suivre pour connecter des appliances USB.

NAKIVO for VMware vSphere Backup

NAKIVO for VMware vSphere Backup

Complete data protection for VMware vSphere VMs and instant recovery options. Secure backup targets onsite, offsite and in the cloud. Anti-ransomware features.

Qu’est-ce que le passthrough USB ?

Le passthrough USB VMware est une fonctionnalité qui vous permet de connecter un périphérique USB physique connecté à un port USB sur un hôte VMware ESXi physique à une machine virtuelle, comme si le périphérique USB était connecté directement à la machine virtuelle. Le passthrough VMware est une fonctionnalité disponible à partir de ESXi 4.1.

Les raisons d’utiliser le passthrough pour un périphérique USB depuis l’hôte VMware ESXi vers un système d’exploitation (OS) invité d’une machine virtuelle varient. Par exemple, si vous disposez d’un scanner ou d’une imprimante plus ancien(ne) qui ne dispose pas des pilotes pour les dernières versions du système d’exploitation Windows. Vous pouvez installer l’ancienne version de Windows qui prend en charge le périphérique USB et connecter ce périphérique à une machine virtuelle. Une autre utilisation pratique de cette fonctionnalité est lorsque vous devez copier des fichiers depuis/vers un disque dur USB vers/depuis une machine virtuelle directement à grande vitesse. Il peut arriver que les utilisateurs aient besoin d’utiliser des logiciels protégés par des clés de licence USB matérielles dans des machines virtuelles.

Comment fonctionne le passthrough USB

Trois composants principaux sont nécessaires au fonctionnement du passthrough USB : l’arbitre, le contrôleur USB et le périphérique USB physique.

L’arbitre est un service dédié sur un serveur ESXi. L’arbitre analyse les périphériques USB physiques connectés au serveur physique et est chargé d’acheminer le trafic des périphériques USB entre un hôte physique et une machine virtuelle. Une seule machine virtuelle à la fois peut accéder au périphérique USB. L’accès au périphérique USB connecté à une machine virtuelle est bloqué pour les autres machines virtuelles. L’arbitre USB prend en charge jusqu’à 15 contrôleurs USB (vSphere 7.0). Le service Arbitrator est activé par défaut dans ESXi.

Un contrôleur USB utilisé sur un serveur ESXi physique est le contrôleur auquel les ports USB physiques sont connectés. Le contrôleur USB physique fonctionne avec les appliances USB physiques insérées dans les ports USB physiques du serveur. Les contrôleurs USB peuvent être intégrés (également appelés intégrés et intégrés à une puce sur une carte mère) ou externes (implémentés sous forme de cartes PCI ou PCIe qui sont insérées dans les emplacements correspondants sur une carte mère de serveur). Le contrôleur USB intégré sert de pont entre un bus USB et un bus PCIe (ou PCI). Le contrôleur USB intégré est physiquement connecté via le nombre approprié de voies PCIe à un chipset de carte mère.

Un contrôleur USB virtuel est un périphérique émulé créé spécifiquement pour une machine virtuelle fonctionnant sur un hyperviseur. Un contrôleur USB virtuel interagit avec un contrôleur USB physique lorsqu’un périphérique USB physique est transféré d’un hôte ESXi physique vers un système d’exploitation invité dans la machine virtuelle. La présence d’un contrôleur USB virtuel est requise dans la configuration de la machine virtuelle pour utiliser la fonctionnalité de transfert USB dans la machine virtuelle. Un maximum de huit contrôleurs USB virtuels peuvent être connectés à une machine virtuelle sur un hôte ESXi. Si vous devez enlever un contrôleur USB virtuel d’une configuration de machine virtuelle, vous devez d’abord enlever toutes les appliances USB connectées à ce contrôleur. Le pilote USB VMware est installé sur un système d’exploitation invité après l’ajout d’un contrôleur USB virtuel à la configuration de la machine virtuelle.

Un périphérique USB physique est tout périphérique USB doté d’une interface USB et d’un port USB permettant de le connecter à un ordinateur. Un maximum de 20 périphériques USB peuvent être connectés à une seule machine virtuelle ou à un seul hôte VMware ESXi.

Les normes USB et les modes de contrôleur sont les suivants :

  • USB 2.0 et USB 1.1 (EHCI+UHCI)
  • USB 3.0 (xHCI) Version matérielle VM 8 ou supérieure

Après avoir connecté un périphérique USB physique à une machine virtuelle à l’aide de la fonctionnalité VMware USB passthrough, vous devrez peut-être installer des pilotes pour le périphérique USB connecté dans un système d’exploitation invité.

Conditions à remplir pour l’USB 3.0

L’USB 3.0 est disponible pour les serveurs ESXi à partir de VMware vSphere 5.5 patch 3. Cela nécessite le pilote USB xHCI dans la configuration de la machine virtuelle. Les conditions à remplir pour utiliser le passthrough USB 3.0 sont les suivantes : Windows 8.1 ou supérieur, Windows Server 2012 R2 ou supérieur, ou Linux avec noyau Linux 2.6.35 ou supérieur. Les périphériques USB 3.1 sont pris en charge à leur vitesse maximale à partir de VMware vSphere 7.0.

Limitations du passthrough USB

Il existe quelques limitations que vous devez connaître avant de commencer à utiliser la fonctionnalité de transfert USB :

  • Un lecteur USB ne peut pas être utilisé pour l’amorçage d’une machine virtuelle.
  • Si une clé USB est utilisée pour amorcer ESXi démarrer ESXi, cette clé USB ne peut pas être connectée à une machine virtuelle.
  • La version 7 ou supérieure du matériel virtuel est requise pour une machine virtuelle.

Certains périphériques USB peuvent ne pas être pris en charge par VMware :

  • Concentrateurs USB
  • Périphériques audio et caméras vidéo utilisant le transfert de données asynchrone
  • Certains claviers et souris USB (pour plus d’informations, consultez l’article VMware 1021345)
  • Certaines cartes à puce utilisant CCID peuvent nécessiter une configuration supplémentaire pour se connecter à une machine virtuelle.

vMotion est possible pour les VMs connectées à des périphériques USB passthrough. Une fois la machine virtuelle correctement configurée et vMotion activé, les périphériques USB restent connectés à la machine virtuelle après la migration vers un autre hôte ESXi.

Il existe des limitations vMotion pour les machines virtuelles qui utilisent des disques USB passthrough :

  • La gestion distribuée de l’alimentation (DPM) n’est pas prise en charge, car un hôte ESXi ne peut pas être mis hors tension pour économiser de l’énergie sans déconnecter un périphérique USB d’une machine virtuelle (un périphérique USB est déconnecté si l’hôte est mis hors tension à l’aide de la DPM). La DPM doit être désactivée sur cet hôte.
  • La tolérance aux pannes n’est pas prise en charge.
  • Une machine virtuelle ne peut pas être suspendue ou mise hors tension (sinon, les périphériques USB sont déconnectés de la machine virtuelle et ne peuvent être reconnectés qu’après la migration de la machine virtuelle vers l’hôte ESXi initial auquel les périphériques USB sont physiquement connectés). La VM doit être migrée manuellement vers l’hôte ESXi avec le périphérique USB connecté lorsque vous devez mettre cette VM sous tension. Les invités Linux qui ont été repris peuvent monter des périphériques USB à différents points de montage après la reconnexion.
  • Les hôtes ESXi qui ont des machines virtuelles avec des périphériques USB passthrough doivent être accessibles via l’interface du noyau de la machine virtuelle vmk0 (pour la gestion de la mise en réseau) et le port TCP 902.

Déconnectez les périphériques USB d’une machine virtuelle avant d’utiliser la fonctionnalité d’ajout à chaud et d’ajouter des processeurs, de la mémoire ou des périphériques PCI. Sinon, les périphériques USB sont automatiquement déconnectés et certaines données peuvent être perdues lors de l’utilisation de la fonctionnalité d’ajout à chaud. Si vous suspendez une machine virtuelle puis la reprenez, les périphériques USB sont déconnectés puis reconnectés à la machine virtuelle.

Quant à la création d’un lecteur USB virtuel VMware ou d’un lecteur flash virtuel à connecter à une machine virtuelle exécutant ESXi ou VMware Workstation, tout comme vous monteriez une disquette virtuelle ou un disque CD/DVD, cette option n’est actuellement pas prise en charge.

Comment connecter un périphérique USB à une machine virtuelle

Maintenant que nous nous sommes familiarisés avec la théorie, nous pouvons passer à la partie pratique et voir la configuration dans VMware vSphere.

  1. Insérez un périphérique USB dans un port USB de votre serveur ESXi. Dans mon cas, je vais insérer une clé USB.
  2. Vous pouvez ensuite vérifier si l’appliance USB est connectée à ESXi dans l’interface de ligne de commande ESXi :

    lsusb

  3. Comme vous pouvez le voir sur la capture d’écran suivante, ma clé USB est désormais connectée au serveur ESXi.

    Configuración de dispositivos USB VMware

  4. Le service d’arbitrage USB doit être en cours d’exécution. Vous pouvez vérifier le statut du service à l’aide de la commande :

    chkconfig usbarbitrator --list

  5. Si l’arbitre USB est arrêté, vous pouvez le démarrer à l’aide de la commande

    /etc/init.d/usbarbitrator start

    Remarque : Pour en savoir plus sur ESXiCLI, consultez l’article de blog .

    Dans mon exemple, la machine virtuelle réside sur l’hôte ESXi géré par vCenter Server . Windows est installé en tant que système d’exploitation invité sur ma machine virtuelle. Ouvrez VMware vSphere Client, accédez à Hosts and Clusters. Dans le volet Navigateur, sélectionnez une machine virtuelle à laquelle vous souhaitez connecter le périphérique USB à l’aide de la fonctionnalité de transfert. La machine virtuelle doit être hors tension. Vous devez installer VMware Tools sur le système d’exploitation invité.

  6. Une fois que vous avez sélectionné la machine virtuelle, cliquez sur Actions > Modifier les paramètres.

    Editar ajustes de VM para conectar unidad USB a máquina virtual VMware

  7. Dans la fenêtre Modifier les paramètres fenêtre, vérifiez si un contrôleur USB est présent dans les paramètres de la machine virtuelle. Si le contrôleur USB est absent, cliquez sur Ajouter un nouveau périphérique > Contrôleur USB, puis sélectionnez le type de contrôleur USB (USB 2.0 ou USB 3.0).
  8. Si le contrôleur USB est présent, vous devez ajouter le périphérique USB connecté à l’hôte ESXi à votre machine virtuelle. Cliquez sur Add New Device > Host USB Device.Añadir un dispositivo USB VMware a una máquina virtual
  9. Une nouvelle chaîne est ajoutée à la configuration de la machine virtuelle. Dans la Nouvel hôte USB chaîne d’appliances, sélectionnez une appliance USB que vous souhaitez connecter à la VM. J’ai maintenant deux clés USB connectées à mon serveur ESXi physique, et je connecte la clé USB Verbatim à ma VM (produit Verbatim 0x0302). Si vous devez activer la prise en charge de vMotion, développez New USB Host device et sélectionnez la case à cocher « Prise en charge de vMotion lorsque l’appliance est connectée » case à cocher. Notez les conditions à remplir et les limitations de vMotion. Cliquez sur « <» (OK) pour enregistrer les paramètres et fermer cette fenêtre.Configuración VM USB - selección de un dispositivo USB que debe conectarse a una VM
  10. Démarrez une machine virtuelle. Une fois le système d’exploitation invité chargé, attendez qu’il s’initialise et installez la clé USB. Suivant, ouvrez le Gestionnaire de périphériques Windows. Cliquez avec le bouton droit sur Poste de travail et dans le menu contextuel, cliquez sur Gérer. Dans la fenêtre Gestion de l’ordinateur , cliquez sur Gestionnaire de périphériques et développez la section Lecteurs de disque (comme nous avons connecté une clé USB, ce périphérique devrait apparaître dans cette catégorie). Nous pouvons voir l’appliance USB Verbatim, qui est le nom de ma clé USB connectée à la VM à l’aide de la fonctionnalité VMware USB Passthrough.
  11. Ouvrez GESTION DES DISQUES dans la fenêtre GESTION DE L’ORDINATEUR et assurez-vous qu’un lecteur de disque est attribué à la clé USB. Dans mon cas, tout est correct et je peux désormais copier des données depuis la clé USB vers le disque virtuel d’une machine virtuelle dans l’invité Windows et vice versa.ESXi USB passthrough está funcionando y una unidad USB está conectada a una VM

VMware PCI Passthrough

Si l’appliance USB que vous souhaitez connecter à une machine virtuelle à l’aide de la fonctionnalité VMware USB passthrough n’est pas prise en charge par VMware, vous pouvez essayer d’utiliser la fonctionnalité PCI passthrough et connecter l’ensemble du contrôleur USB physique doté d’une interface PCI à une machine virtuelle.

Si votre serveur ESXi dispose d’un contrôleur USB inséré dans un emplacement PCI, vous pouvez transférer cette appliance PCI vers une machine virtuelle. Le transfert PCI VMware est également appelé VMDirectPass. Cette méthode est moins pratique que l’utilisation du passthrough USB, mais elle peut vous aider à accomplir la tâche.

Conditions à remplir

La technologie Intel Directed I/O ou AMD I/O Virtualization Technology (AMD IOMMU) doit être prise en charge par le matériel du serveur et activée dans l’UEFI/BIOS. Si votre serveur ne dispose que d’un seul contrôleur USB, vous devez connecter un contrôleur USB supplémentaire pour éviter de perdre les connexions aux périphériques USB utilisés par votre hôte ESXi physique.

Restrictions et limitations :

  • Vous ne pouvez pas suspendre une machine virtuelle.
  • Une machine virtuelle ne peut pas être migrée vers d’autres hôtes ESXi à l’aide de vMotion.
  • Les instantanés de machines virtuelles ne sont pas pris en charge.

Examinons le workflow consistant à connecter une appliance USB à une machine virtuelle à l’aide du passthrough PCI et à connecter l’ensemble du contrôleur USB auquel une appliance USB est connectée à une machine virtuelle.

  1. Pour identifier l’appliance USB et le contrôleur USB auquel votre appliance USB est connectée (si plusieurs contrôleurs USB sont installés sur votre serveur), utilisez cette commande :

    lsusb -v | grep -e Bus -e iSerial

  2. Recherchez la chaîne contenant le nom de votre périphérique USB connecté au contrôleur USB et identifiez l’ID du contrôleur (par exemple, bus002).
  3. Vous pouvez consulter le journal VMkernel lorsque vous connectez un périphérique USB à un serveur ESXi :

    tail -f /var/log/vmkernel.log | grep -i USB

  4. Ouvrez VMware vSphere Client et accédez à Hôtes et clusters.
  5. Sélectionnez l’hôte ESXi sur lequel réside votre machine virtuelle (à laquelle vous devez connecter une appliance USB).
  6. Accédez à l’onglet Configurez onglet et sélectionnez Périphériques PCI dans la Matériel section.
  7. Recherchez et sélectionnez le contrôleur USB requis dans la liste des périphériques PCI à l’aide de l’ID que vous avez détecté précédemment.
  8. Le statut du pilote sélectionné devrait maintenant passer à Disponible.
  9. Appuyez sur OK pour enregistrer les paramètres.
  10. Redémarrez l’hôte ESXi pour que les modifications prennent effet.
  11. Assurez-vous que votre machine virtuelle est éteinte. Accédez aux paramètres de la machine virtuelle, cliquez sur Ajouter un nouveau périphérique > Périphérique PCI > Ajouter. Sélectionnez votre contrôleur USB dans le menu déroulant en utilisant l’ID correct.
  12. Allumez la machine virtuelle. Vérifiez les périphériques dans le système d’exploitation invité. Si Windows est installé sur la machine virtuelle, ouvrez le Gestionnaire de périphériques et vérifiez les pilotes et les périphériques de stockage.

Connexion de carte à puce USB

Certains périphériques USB disposant de la classe CCID appropriée peuvent ne pas être pris en charge par défaut pour la connexion à des VMs. Le message d’erreur « Impossible de connecter « path:0/1/6/1 » à cette machine virtuelle. L’appliance est introuvable ». Dans les journaux, vous pouvez voir le message :

(vmx-vcpu-0) n’a pas revendiqué l’interface 0 avant utilisation

PCSCD est le démon ESXi qui contrôle les lecteurs de cartes à puce. L’accès aux cartes à puce USB est désactivé pour les Virtuelles Maschinen afin d’éviter les conflits, car un hôte ESXi nécessite une carte à puce. Par conséquent, le passthrough USB ne peut pas être utilisé avec les paramètres par défaut des cartes à puce USB. Vous devez modifier la configuration de l’hôte ESXi pour activer le passthrough USB pour les cartes à puce USB.

  1. Arrêtez la machine virtuelle. Ouvrez les paramètres de la machine virtuelle, sélectionnez l’onglet VM Options onglet, puis cliquez sur Modifier la configuration.

    Edición de las opciones de VM para la conexión de la tarjeta inteligente USB de VM

  2. Dans la fenêtre Paramètres de configuration , cliquez sur Ajouter des paramètres de configuration.

    Editing VM USB configuration for a USB smart card reader

    Vous pouvez également modifier le fichier de configuration VMX de la machine virtuelle dans l’interface de ligne de commande en vous connectant à la console ESXi à l’aide d’un client SSH.

  3. Modifiez ou ajoutez cette ligne à la configuration de la machine virtuelle si le paramètre n’est pas présent :

    usb.generic.allowCCID = "TRUE"

  4. Enregistrez les paramètres de la machine virtuelle.
  5. Arrêtez le service PCSCD à l’aide de cette commande dans la ligne de commande ESXi :

    sudo /etc/init.d/pcscd stop

  6. Assurez-vous que le service PCSCD n’est pas en cours d’exécution :

    ps | grep pcscd

  7. Allumez la machine virtuelle et Überprüfen Sie die appliances, um zu überprüfen, ob der USB-Carte-Leser mit der Maschine verbunden ist.

Conclusion

Vous pouvez connecter divers périphériques connectés aux ports USB des hôtes ESXi physiques directement aux Virtuelles Maschinen et les utiliser dans les systèmes d’exploitation invités des Virtuelles Maschinen, comme vous le feriez sur des ordinateurs physiques classiques. Vous pouvez même migrer des machines virtuelles à l’aide de périphériques USB externes connectés à l’hôte VMware ESXi principal avec vMotion vers un autre hôte. Malgré certaines limitations, la fonctionnalité VMware USB passthrough ajoute plus de capacités et de flexibilité dans différentes situations.

Les sauvegardes de machines virtuelles VMware sont importantes pour ceux qui utilisent VMware vSphere. Téléchargez NAKIVO Backup & Replication & Réplication et essayez cette solution universelle de protection des données pour protéger vos machines virtuelles VMware vSphere et autres données dans votre environnement.

1 Year of Free Data Protection: NAKIVO Backup & Replication

1 Year of Free Data Protection: NAKIVO Backup & Replication

Deploy in 2 minutes and protect virtual, cloud, physical and SaaS data. Backup, replication, instant recovery options.

Les gens qui ont consulté cet article ont également lu