Comment créer une clé USB virtuelle pour une VM VMware ESXi ?
Sommaire
I. Présentation
Dans ce tutoriel, nous allons apprendre à créer une clé USB virtuelle sur un hôte VMware ESXi. Grâce à cette astuce, il devient possible de connecter une clé USB à une machine virtuelle, même lorsqu'il s'agit d'un hyperviseur dans le Cloud. Forcément, si l'on utilise un serveur dédié sous VMware ESXi, il est difficile d'aller connecter une clé USB sur le port physique du serveur... Pour certains tests, ou dans certains cas, on a toutefois besoin de connecter une clé USB : avec la clé USB virtuelle, qui prend la forme d'un disque virtuel au format VMDK, cela devient possible.
Pour suivre ce tutoriel, vous devez activer l'accès SSH (quelques minutes). Si besoin, voici de l'aide à ce sujet :
II. Créer un disque VMDK pour la clé USB
Une fois connecté en SSH sur votre hôte ESXi, que ce soit avec PuTTY, le client SSH de Windows, ou une autre application, vous devez commencer par vous positionner dans le répertoire de la machine virtuelle sur laquelle rattacher la clé USB. Ici, ce sera connecté sur une machine Windows. Toutefois, on peut connecter la clé USB virtuelle sur une machine pour la préparer (formatage, et copie des données) puis l'associer à une autre VM par la suite.
Ici, ce sera la VM "PC-01" qui est stockée dans le datastore nommé "DATASTORE-SSD". Avec la commande "cd", vous pouvez vous déplacer dans le répertoire.
cd /vmfs/volumes/DATASTORE-SSD/PC-01/
Ensuite, vous devez créer le disque dur virtuel, au format VMDK, qui va représenter la clé USB virtuelle. Avec l'outil natif vmkfstools, on va créer une clé USB de 4 Go (vous pouvez augmenter la capacité), en provisionnement dynamique (thin) et le fichier va s'appeler "cle-usb.vmdk". Ce qui donne :
vmkfstools -c 4G -d thin cle-usb.vmdk
La commande précédente donne lieu à deux fichiers : cle-usb.vmdk et cle-usb-flat.vmdk. Ils doivent rester dans le même répertoire.
Voilà, la clé USB virtuelle est créée.
III. Associer la clé USB virtuelle à une VM
Désormais, la clé USB virtuelle doit être associée à la VM "PC-01". Pour effectuer cette opération, vous devez éteindre la machine virtuelle, puis accéder aux paramètres de la VM à partir de l'interface d'administration de VMware ESXi. Une fois dans les paramètres de la VM, on peut voir la version du contrôleur USB, ici la version USB 3.1. C'est important pour la suite, car la configuration ne sera pas la même entre un contrôleur USB 2.0 ou USB 3.0/3.1.
Ensuite, vous devez basculer sur les paramètres avancés, via ce chemin : Paramètres de la VM > Options VM > Avancé > Modifier la configuration.
A cet endroit, nous avons la possibilité de déclarer des paramètres de configuration pour la machine virtuelle. Ceci permet d'aller plus loin que les paramètres accessibles directement dans l'onglet "Matériel virtuel". Dans le cas où l'on s'appuie sur un contrôleur USB 3.0 ou USB 3.1, on doit déclarer les paramètres ci-dessous. Il y a donc 4 paramètres à créer.
usb_xhci:0.present TRUE
usb_xhci:0.deviceType disk
usb_xhci:0.fileName cle-usb.vmdk
usb_xhci:0.readonly FALSE
Ces paramètres vont permettre de faire pointer le périphérique de stockage USB virtuel vers notre fichier VMDK "cle-usb.vmdk", avec un accès en lecture et écriture.
Lorsque les paramètres sont créés, cliquez sur "OK". Dans le cas où votre machine virtuelle s'appuie sur un contrôleur USB 2.0, il conviendra de créer les paramètres suivants :
ehci:0.present TRUE
ehci:0.deviceType disk
ehci:0.fileName cle-usb.vmdk
ehci:0.readonly FALSE
La logique reste la même, mais les paramètres n'ont pas le même nom. Tout simplement, EHCI fait référence à un contrôleur USB 2.0, contrairement à l'autre terminologie qui fait référence à de l'USB 3.0.
IV. Formater la clé USB virtuelle
Toute la configuration est terminée. Démarrez la VM et dans l'Explorateur de fichiers de Windows, un nouveau "Lecteur USB (E:)" apparaît comme le montre l'image ci-dessous.
Si l'on tente d'accéder à la clé USB, c'est-à-dire au lecteur "E", Windows indique : "Vous devez formater le disque du lecteur E: avant de l'utiliser." - Donc, il faut cliquer sur "Formater le disque".
Une fois le formatage effectué, la clé USB virtuelle est utilisable ! Elle est bien considérée comme une clé USB et comme un périphérique de stockage amovible. D'ailleurs, on peut l'éjecter comme le ferait avec une clé USB physique.
V. Conclusion
En suivant ce tutoriel, vous devriez être en mesure de créer une clé USB virtuelle sur un hyperviseur VMware ESXi et de l'associer à une machine virtuelle ! Une astuce bien utile dans certaines conditions (tester un boot USB, restauration d'une config via USB, ou encore tester une politique sur les périphériques USB).