Les moyens les plus efficaces pour transférer des fichiers d’une machine virtuelle vers un hôte

Les VMs offrent de nombreux avantages, tels que la flexibilité, l’utilisation rationnelle des ressources et l’exécution dans des environnements isolés. Une tâche courante dans les environnements virtuels consiste à copier des fichiers entre des VMs et des hôtes. Poursuivez votre lecture pour découvrir comment copier des fichiers vers une VM à partir d’un hôte, comment transférer des fichiers d’une VM vers un hôte et comment copier des fichiers entre des VMs.

NAKIVO pour la sauvegarde de VMware vSphere

NAKIVO pour la sauvegarde de VMware vSphere

Protection complète des données pour les machines virtuelles VMware vSphere et options de récupération instantanée. Cibles de sauvegarde sécurisées sur site, hors site et dans le cloud. Fonctionnalités anti-ransomware.

Les composants de notre environnement

Commençons par passer en revue la terminologie :

  • Un hôte est une machine physique sur laquelle un hyperviseur est installé.
  • Un hyperviseur est un logiciel de virtualisation permettant d’exécuter des machines virtuelles sur l’hôte. Il existe deux types d’hyperviseurs :
    • Type 1 : utilisation d’un serveur ESXi, qui fait office de machine hôte
    • Type 2 : Utilisation de VMware Workstation ; dans ce cas, Windows et Linux peuvent être les systèmes d’exploitation de la machine hôte

Dans ce guide pratique, l’environnement utilisé pour expliquer comment transférer des fichiers d’une machine virtuelle vers l’hôte est composé des éléments suivants :

  • Hôte VMware ESXi 1 : 192.168.101.201
  • Hôte VMware ESXi 2 : 192.168.101.202
  • Machine Ubuntu Linux : 192.168.101.210
  • Hôte Windows avec VMware Workstation installé
  • Réseau : 192.168.101.0/24
  • Machines virtuelles ESXi et machines virtuelles VMware Workstation connectées au même réseau

Nous utilisons les technologies suivantes pour copier des fichiers entre les machines virtuelles et les hôtes :

  • Dossiers partagés
  • Presse-papiers partagé et glisser-déposer
  • Périphérique de stockage USB
  • PowerCLI
  • SSH et SCP
  • Partage NFS
  • Téléchargement/téléverser des fichiers dans l’interface Web de VMware
  • Fichiers ISO

Utilisation des dossiers partagés pour transférer un fichier de machine virtuelle vers l’hôte

Dossiers partagés est une fonctionnalité pratique de VMware Workstation permettant de transférer des fichiers entre un hôte physique Windows ou Linux sur lequel VMware Workstation est installé et les VMs s’exécutant sur VMware Workstation. Sous macOS, VMware Fusion est l’équivalent de VMware Workstation et prend en charge des fonctionnalités similaires.

Voyons maintenant les étapes à suivre pour transférer des fichiers d’une machine virtuelle vers l’hôte et inversement à l’aide des dossiers partagés VMware.

Remarque : Pour que cette fonctionnalité fonctionne, VMware Tools doit être installé sur la machine virtuelle. Les données entre l’hôte et la machine virtuelle sont transférées via une interaction entre l’hôte et le système d’exploitation invité à l’aide de VMware Tools, sans passer par le réseau.

  1. Sélectionnez la machine virtuelle pour laquelle vous souhaitez configurer le partage de fichiers VMware. Nous sélectionnons l’une de nos machines virtuelles Windows.
  2. Cliquez sur VM > Settings (Modifier les paramètres de la machine virtuelle) dans l’interface graphique de VMware Workstation.
  3. Dans la fenêtre Virtual Machine Settings , sélectionnez l’onglet Options et cliquez sur Shared Folders. Dans la section Folder sharing , sélectionnez Always enabled. Si vous le souhaitez, vous pouvez mapper un dossier partagé en tant que lecteur réseau dans les machines invitées Windows pour plus de commodité, en cochant la case correspondante.
  4. Cliquez sur Add pour sélectionner un dossier à utiliser comme dossier partagé.

    VMware sharing folder – how to enable shared folders in VMware Workstation

  5. Saisissez le chemin d’accès au dossier à partager sur l’hôte ou cliquez sur Browse et sélectionnez le dossier souhaité. Nous sélectionnons C:tempshare-VM

    Saisissez un nom pour le dossier partagé, par exemple, share-VM

    Cliquez sur Next.

    VMware file sharing – configuring shared folders in VMware Workstation

  6. Sélectionnez Enable this share. Si vous souhaitez que les VMs accèdent au dossier partagé en mode lecture seule, cochez la case Read-only . Cliquez sur Finish.

    VMware sharing folder in VMware Workstation and enabling this share

  7. Le nouveau dossier partagé s’affiche désormais dans la liste des dossiers partagés de l’onglet Options de la fenêtre Virtual machine settings . Un dossier partagé est activé si la case correspondante est cochée à côté du nom du fichier.

    Cliquez sur OK pour enregistrer les paramètres.

    VMware sharing folder – a shared folder is created

  8. Ouvrez l’interface utilisateur de la machine virtuelle Windows utilisée pour partager le dossier à l’aide de la fonctionnalité « Shared folders ».
  9. Cliquez sur « Network » (My Network Places) dans « My Computer » (This PC) ou dans l’Explorateur Windows pour afficher les ordinateurs disponibles sur le réseau.
  10. Sélectionnez « vmware-host » comme nom de l’ordinateur sur lequel le dossier partagé est configuré. Ce nom est défini par défaut et correspond à votre machine physique (hôte) contenant le dossier partagé.

    How to access a shared folder to copy VMware virtual machine files

  11. Cliquez sur « Shared Folders » et sélectionnez le dossier partagé souhaité (share-VM dans notre exemple). Le chemin d’accès complet au dossier partagé, dans notre cas, est

    vmware-hostShared Foldersshare-VM

. Vous pouvez copier des fichiers vers une machine virtuelle depuis un hôte et vers un hôte depuis une machine virtuelle. Dans notre exemple, nous avons copié Test01.txt depuis un hôte Windows vers un invité Windows à l’aide du partage de fichiers VMware dans VMware Poste de travail.

VMware transfer files from a VMware VM using a shared folder

Pour les invités Linux, vous pouvez monter tous les dossiers partagés VMware à l’aide de la commande indiquée ci-dessous :

  • Sous Linux avec un noyau antérieur à la version 4.0 :

    mount -t vmhgfs .host:/ /home/user1/shares

  • Sous Linux avec un noyau 4.0 ou plus récent :

    /usr/bin/vmhgfs-fuse .host:/ /home/user1/shares -o subtype=vmhgfs-fuse,allow_other

Si vous souhaitez qu’un dossier partagé reste monté après le redémarrage de la machine virtuelle, ajoutez les lignes appropriées en suivant les instructions et la configuration disponibles à l’adresse /etc/fstab , par exemple :

#

Dossier de partage VMware pour transférer des fichiers entre l’invité VMware et l’hôte

.host:/ /mnt/hgfs/ fuse.vmhgfs-fuse defaults,allow_other,uid=1000 0 0

Avant de passer à la section suivante, notez que la fonctionnalité de dossiers partagés n’est disponible que dans VMware Workstation (et VMware Fusion sous macOS), et qu’elle n’est pas disponible pour les VMs s’exécutant sur des hôtes VMware ESXi. Pour les hôtes ESXi, vous pouvez partager un dossier manuellement et utiliser un réseau pour copier des fichiers entre des machines Windows. Pour copier des fichiers depuis une machine virtuelle vers un hôte ESXi, vous devez utiliser un outil supplémentaire ou combiner la copie de fichiers à partir d’un dossier partagé manuellement avec l’une des méthodes expliquées ci-dessous.

Il existe d’autres méthodes pour Partager un dossier sous Windows 10 et Windows Server 2019. Vous pouvez également en savoir plus sur le protocole Partage de fichiers SMB .

Si vous disposez d’un compte Windows doté de droits d’administrateur et qu’une politique de sécurité autorise l’accès aux partages administratifs masqués disponibles par défaut, vous pouvez accéder aux fichiers sur les disques locaux d’une machine Windows en utilisant le chemin d’accès au partage comme suit :

IP-Addressc$

Où :

IP-Address est l’adresse IP ou le nom d’hôte d’une machine Windows distante.

C$ est la lettre du lecteur de disque requise sur une machine Windows distante, qui correspond à un partage système masqué.

Utilisation du presse-papiers partagé pour transférer des fichiers vers des VMs depuis un hôte

Le presse-papiers partagé est une fonctionnalité qui vous permet de copier et de coller du contenu, tel que du texte ou des fichiers entiers, depuis une machine virtuelle vers une machine hôte sur laquelle VMware Workstation est installé. Le processus est similaire à celui utilisé pour copier-coller du contenu entre différentes fenêtres d’applications sous Windows ou Linux via l’interface graphique.

L’ensemble des fonctionnalités est disponible sur VMware Workstation, ce qui vous permet de transférer des fichiers vers des machines virtuelles depuis un hôte et vers un hôte depuis une machine virtuelle. Vous pouvez glisser-déposer des fichiers à la place du copier-coller.

Presse-papiers partagé dans VMware Workstation

Voyons comment transférer des fichiers vers des machines virtuelles VMware Workstation à l’aide d’un presse-papiers partagé et du glisser-déposer. Dans notre exemple, VMware Workstation est installé sur un hôte Windows.

  1. Sélectionnez votre machine virtuelle dans le volet de gauche où les VMs sont répertoriées.
  2. Cliquez sur Edit virtual machine settings (VM > Settings).

    Opening virtual machine settings

  3. Sélectionnez l’onglet Options et cliquez sur Guest Isolation.

    Cochez les deux cases :

    • Enable drag and drop
    • Enable copy and paste

    Cliquez sur OK pour enregistrer les paramètres et fermer la fenêtre.

    Enabling shared clipboard and drag & drop to transfer files to VMware VMs

Presse-papiers partagé dans VMware ESXi

En ce qui concerne les VMs s’exécutant sur VMware ESXi, vous ne pouvez copier aucun fichier par glisser-déposer ou via le presse-papiers partagé entre une machine virtuelle sur un hôte VMware ESXi et toute autre machine. La seule option consiste à copier-coller du texte entre une machine virtuelle s’exécutant sur ESXi et votre machine locale (sur laquelle VMware Workstation ou Console à distance VMware est installé). Le copier-coller et le glisser-déposer de fichiers ne sont pas pris en charge pour des raisons de sécurité. Toutefois, si vous ne parvenez pas à copier un fichier de configuration, par exemple, vous pouvez copier le contenu textuel du fichier à l’aide d’un presse-papiers partagé. Par défaut, le presse-papiers partagé est désactivé dans la configuration de la machine virtuelle ESXi. Procédez comme suit sur un hôte ESXi pour activer le presse-papiers partagé afin de copier-coller des données textuelles :

  1. La machine virtuelle doit être éteinte lors de la modification de sa configuration. Éteignez la machine virtuelle si elle est en cours d’exécution.
  2. Ouvrez VM settings. Vous pouvez utiliser VMware Host Client et VMware vSphere Client. Sélectionnez une machine virtuelle, cliquez sur Edit VM settings et sélectionnez l’onglet VM options .

    Développez la section Advanced Settings et cliquez sur Edit Configuration.

    Advanced VM configuration to enable shared clipboard in ESXi

  3. Vous devez ajouter trois paramètres de configuration à la configuration de la machine virtuelle (qui sont écrits dans le fichier VMX de configuration de la machine virtuelle). Cliquez sur « Add parameter».

    Enabling shared clipboard for a VM on VMware ESXi

  4. Ajoutez ces trois paramètres :

    isolation.tools.copy.disable FALSE

    isolation.tools.paste.disable FALSE

    isolation.tools.setGUIOptions.enable TRUE

  5. Cliquez sur « OK » et enregistrez les paramètres.

    Configuration parameters to enable shared clipboard are added

Vous pouvez également modifier manuellement un fichier VMX contenant la configuration de la machine virtuelle, situé sur un magasin de données ESXi dans le répertoire de la machine virtuelle.

  1. Connectez-vous au shell ESXi localement ou via SSH.
  2. Accédez au répertoire de la machine virtuelle (répertoire dans lequel les fichiers de la machine virtuelle sont stockés sur un magasin de données). Dans notre cas, nous accédons à ce répertoire :

    cd /vmfs/volumes/datastore10a/Windows-VM/

    Locating a VMX configuration file of the VM to enable a shared clipboard

  3. Modifiez le fichier de configuration VMX. Dans notre cas, le fichier est Windows-VM.vmx

    vi Windows-VM.vmx

  4. Ajoutez les trois paramètres indiqués ci-dessus à la fin de ce fichier de configuration.
  5. Enregistrez les modifications et fermez le fichier (quittez l’éditeur de texte).

    Adding configuration parameters to a VMX file to enable shared clipboard for a VM on an ESXi host

Nous pouvons désormais copier-coller du texte entre notre machine locale et une machine virtuelle distante s’exécutant sur un hôte VMware ESXi par l’intermédiaire de la console à distance VMware et de VMware Workstation pour nous connecter à une machine virtuelle.

Utilisation d’un périphérique de stockage USB

VMware ESXi et VMware Workstation prennent en charge la fonctionnalité de transfert USB, qui vous permet d’insérer un périphérique USB dans une machine hôte et de connecter ce périphérique USB à une machine virtuelle s’exécutant sur cet hôte. Vous pouvez connecter un périphérique de stockage USB successivement à la machine hôte et à la machine virtuelle afin de copier des fichiers entre ces machines dans les deux sens.

Remarque : VMware Tools doit être installé sur le système d’exploitation invité (OS) de la machine virtuelle pour pouvoir utiliser la fonctionnalité de passthrough USB.

Copier des fichiers entre les VMs VMware Workstation et l’hôte

Procédez comme suit pour transférer des fichiers d’une VM vers l’hôte dans VMware Workstation installé sur des hôtes Windows et Linux (l’interface est identique) :

  1. Allumez la VM.
  2. Insérez un périphérique de stockage USB, tel qu’un disque dur USB (HDD) ou une clé USB, dans un ordinateur physique servant de machine hôte.
  3. La New USB Device Detected fenêtre s’ouvre dans VMware Workstation. Choisissez où vous souhaitez connecter votre périphérique USB :
    • Se connecter à l’hôte
    • Se connecter à une machine virtuelle

    Sélectionnons la deuxième option et connectons notre clé USB à la machine virtuelle. Dans cet exemple, nous utilisons une machine virtuelle Windows. Si plusieurs VMs sont en cours d’exécution sur VMware Workstation, vous devez sélectionner la VM souhaitée dans la liste. Un périphérique USB ne peut être connecté qu’à une seule VM à la fois. Cliquez sur OK pour continuer.

    How to transfer files to virtual machines by using a USB storage device

    Si votre périphérique de stockage USB est déjà inséré dans le port USB de la machine hôte physique sur laquelle VMware Workstation est installé, la fenêtre contextuelle proposant les options de transfert USB ne s’affichera pas automatiquement. Vous pouvez connecter un périphérique USB à une machine virtuelle (en le déconnectant de l’hôte) via le menu :

    Accédez à VM > Removable Devices > Your USB Storage Device Name > Connect (Disconnect from host).

    Dans notre exemple, la clé USB s’appelle « Kingston DataTraveler 2.0 ».

    Connecting a USB flash drive to a VM to copy files between a host and VM

  4. Nous pouvons désormais voir la clé USB connectée à la machine virtuelle Windows 7 dans la liste des lecteurs de disque de « Poste de travail » (Explorateur Windows). Pour vérifier le périphérique de stockage USB :
    • Cliquez avec le bouton droit sur My Computer et sélectionnez Manage.
    • Accédez à Computer Management > Device Manager and Computer Management > Disk Management dans le composant logiciel enfichable approprié après avoir cliqué avec le bouton droit.

    Si une lettre de lecteur n’est pas attribuée automatiquement, attribuez-la manuellement dans le composant logiciel enfichable Disk Management .

    La procédure est identique pour les machines virtuelles Linux. Dans certaines distributions Linux, vous devrez peut-être monter manuellement un périphérique de stockage USB connecté, tel qu’une clé USB, dans le système d’exploitation Linux.

  5. Une fois que le périphérique de stockage USB a été monté sur la machine virtuelle et reconnu par le système d’exploitation invité, copiez les fichiers nécessaires depuis la machine virtuelle vers le périphérique de stockage USB. La copie de fichiers depuis le périphérique de stockage USB vers une machine virtuelle fonctionne désormais également.

    A USB flash drive is connected to a VM

  6. Après avoir copié tous les fichiers nécessaires depuis la machine virtuelle vers la clé USB, déconnectez la clé USB de la machine virtuelle et connectez ce périphérique USB à l’hôte :

    Cliquez sur VM > Removable Devices > Your USB Storage Device Name > Disconnect (Connect to host).

    How to transfer files from VM to host – disconnecting a USB flash drive from a VM

  7. Un périphérique de stockage USB est maintenant connecté à une machine hôte (une machine Windows sur laquelle VMware Workstation est en cours d’exécution dans notre cas). Nous pouvons transférer les fichiers qui ont été copiés de la VM sur la clé USB vers votre machine hôte.

Passage USB de VMware Workstation vers des VM ESXi

Vous pouvez utiliser une clé USB insérée dans un serveur ESXi et insérée dans votre machine locale Windows ou Linux (avec VMware Workstation ou VMware Remote Console (VMRC) installé) que vous utilisez pour gérer un hôte ESXi à distance pour connecter cette clé USB à une VM VMware. Dans le premier cas, le connecté à l’hôte passage USB est utilisé et dans le second cas, le connecté au client passage USB est utilisé.

Connectons une clé USB insérée dans notre Windows 10 physique local à une VM Windows XP exécutée sur un hôte ESXi v7.0 (en utilisant la fonctionnalité de passage USB connecté au client). VMware Workstation est installé sur notre machine physique Windows et est connecté à l’hôte ESXi via le réseau (192.168.101.0/24).

Pour ce faire:

  1. Une VM doit être éteinte pour modifier les paramètres de la VM.
  2. Assurez-vous qu’un contrôleur USB controller est présent dans la liste du matériel virtuel de la VM. Vous pouvez vérifier la configuration de la VM dans VMware Host Client. Sélectionnez votre VM (Windows-VM dans notre cas), cliquez sur Edit Settings et sélectionnez l’Virtual Hardware onglet.

    A USB controller must be present on a VM to transfer files to virtual machine with a USB flash drive

  3. Revenons à VMware Workstation installé sur notre machine Windows 10 physique locale. Cliquez sur File > Connect to a server dans VMware Workstation pour se connecter à un hôte ESXi distant.

    Connecting to a remote ESXi server

  4. Entrez le nom du serveur ESXi ou l’adresse IP, le nom d’utilisateur et le mot de passe. Cliquez sur Connect.

    Connecting to a remote ESXi host – entering credentials

  5. Développez l’hôte ESXi dans le volet gauche de VMware Workstation où les hôtes distants, les VM distantes sur ces hôtes, et les VM locales de VMware Workstation sont affichées.
  6. Sélectionnez une VM exécutée sur un hôte ESXi distant. Nous sélectionnons Windows-VM exécuté sur 192.168.101.201 . Nous pouvons voir une interface utilisateur d’un OS invité de la VM sélectionnée après celà.
  7. Cliquez sur VM > Removable Devices > Your USB Storage Device Name > Connect (Disconnect from Host).

    Notez que nous sélectionnons un périphérique USB connecté à notre machine Windows physique sur laquelle VMware Workstation est installé. Ce périphérique USB n’est pas un appareil connecté à un hôte ESXi physique auquel nous nous sommes connectés à distance.

    Connecting a USB flash drive to a VM running on an ESXi host using client-connected USB passthrough

  8. Maintenant, nous pouvons voir notre clé USB connectée à la VM Windows XP en cours d’exécution sur l’hôte ESXi distant : Start > CMD > compmgmt.msc > Device Manager.

    A USB flash drive is connected to a VM running on an ESXi host and is ready to copy files

  9. Assignez une lettre de lecteur de disque à la partition de la clé USB connectée si une lettre de lecteur n’a pas été assignée. Copiez les fichiers nécessaires entre la VM et la clé USB. Vous pouvez transférer des fichiers vers une VM et depuis une VM.

    Using a USB flash drive to transfer files from VM to host

  10. Après avoir copié des fichiers, vous pouvez déconnecter le périphérique de stockage USB de la VM et connecter cet appareil de retour à la machine Windows 10 physique locale sur laquelle VMware Workstation est en cours d’exécution. Dans l’interface graphique de VMware Workstation, cliquez sur VM > Removable Devices > Your USB Storage Device Name > Disconnect (Connect to host).

Connexion d’une Clé USB sur ESXi

Cette méthode est extrêmement utile dans certains cas, par exemple, si vous devez mettre à jour un pilote réseau sur un hôte ESXi et que vous ne pouvez pas utiliser le réseau. Connecter une clé USB à ESXi est plus compliqué que de se connecter à une machine hôte exécutant VMware Workstation.

Il existe des limitations sur ESXi concernant les systèmes de fichiers pris en charge qui peuvent être montés sur ESXi. Les clés USB ou les HDD USB avec les systèmes de fichiers FAT32 et NTFS ne sont pas supportés. Pour cette raison, nous devons créer une partition sur notre clé USB et formater cette partition avec VFAT (qui est reconnue dans Windows comme FAT12). VFAT a des limitations, telles que la taille maximale de la partition et la taille maximale du fichier. Ainsi, cette méthode n’est pas applicable pour les fichiers volumineux tels que les disques virtuels ou les images ISO de plus de 4 Go. Cependant, ces limites sont suffisantes pour transférer des fichiers de configuration, des pilotes, etc.

Création d’une partition sur une clé USB

Tout d’abord, créons une nouvelle partition sur notre clé USB et formatons cette partition en VFAT. Nous pouvons faire cela en attachant une clé USB insérée dans le serveur ESXi à une VM (en utilisant la fonctionnalité de passage USB connecté à l’hôte). Alternativement, nous pouvons insérer une clé USB dans une machine Windows ou Linux physique.

Dans cet exemple, nous utilisons une machine Windows 7 pour préparer une clé USB pour ESXi. Les commandes pour Windows Server 2008R2, Windows 10 et d’autres versions plus récentes de Windows sont les mêmes.

  1. Pour vous assurer qu’une clé USB est connectée à votre machine Windows, faites un clic droit sur My Computer ou This PC (ou exécutez diskmgmt.msc depuis CMD) pour ouvrir Disk Management.
  2. Ouvrez la ligne de commande de Windows:

    Start > Run > cmd

  3. Tapez diskpart dans la ligne de commande, puis appuyez sur Enter.

    L’invite « diskpart » s’affiche :

    Diskpart

  4. Affichez la liste des disques connectés à votre ordinateur Windows :

    list disk

    Repérez votre clé USB dans la liste affichée et notez son numéro. Dans notre cas, Disk 1 correspond au numéro de notre clé USB (voir la capture d’écran ci-dessous).

  5. Sélectionnez votre clé USB en indiquant le numéro de disque correspondant, obtenu par la commande ci-dessus (disk 1 dans notre cas).

    select disk 1

  6. Liste des partitions de la clé USB sélectionnée :

    list partition

    Notre clé USB comporte une partition (Partition 1) (voir la capture d’écran ci-dessous). Le cas le plus courant est celui d’une clé USB comportant une seule partition.

    Listing disks to identify a USB flash drive that can be used to copy files from a VM to an ESXi host

    Suivant, nous devons supprimer les partitions de la clé USB.

    Important : Toutes les données présentes sur la clé USB seront supprimées. Si nécessaire, vous pouvez copier les données de la clé USB avant de passer aux étapes suivantes.

  7. Sélectionnez une partition de la clé USB que vous souhaitez supprimer :

    select partition 1

  8. Exécutez la commande pour supprimer la partition sélectionnée :

    delete partition

  9. Sélectionnez à nouveau votre clé USB :

    select disk 1

    Selecting the first partition on a USB flash drive in Diskpart

  10. Créez une nouvelle partition avec le système de fichiers VFAT. Dans cet exemple, nous créons une partition de 4 Go sur notre clé USB. N’oubliez pas que vous ne pouvez pas stocker de fichiers de plus de 4 Go sur un système VFAT. Notez que le système de fichiers VFAT ne prend en charge que le format de nom de fichier 8.3.

    create partition primary size=4000 id=6

  11. Formatez la partition créée de cette manière pour assurer la compatibilité avec ESXi :

    format fs=fat quick

    Formatting a partition in VFAT transfer files from VM to host (ESXi)

  12. Quittez l’utilitaire diskpart (exécutez la commande exit ).

La clé USB est désormais prête à être reconnue par ESXi et à recevoir des fichiers. Après quelques étapes supplémentaires de configuration d’ESXi, vous pouvez connecter une clé USB à une machine virtuelle et y copier le ou les fichiers nécessaires.

Supposons que nous devions copier une archive ZIP contenant des pilotes. Dans notre exemple, nous avons copié le fichier net-tulip.zip sur une clé USB. Suivant, nous devons monter, depuis la ligne de commande ESXi, une partition de la clé USB insérée dans un serveur ESXi.

Configuration d’un hôte ESXi pour utiliser une clé USB

Supposons que nous ayons besoin de copier une archive ZIP contenant un pilote depuis une clé USB vers un magasin de données ESXi, puis de copier un fichier de configuration VM depuis un magasin de données ESXi vers une clé USB. Le nom de fichier est net-tulip.zip dans notre exemple. Effectuez les opérations suivantes sur l’hôte ESXi pour transférer des fichiers vers VMware ESXi depuis une clé USB et vice versa:

  1. La configuration se fait dans le interface en ligne de commande. Pour cette raison, il faut activer l’accès SSH sur un Hôte ESXi.
    • Pour activer l’accès SSH à distance dans DCUI, allez à Troubleshooting options > Enable SSH.
    • Pour activer l’accès SSH à distance et le serveur SSH sur ESXi dans VMware Host Client, allez à Host > Manage et sélectionnez l’onglet Services. Cliquez avec le bouton droit sur TSM-SSH et cliquez sur Start pour démarrer le service. Vous pouvez activer ce service de manière permanente.

    Starting the SSH server service on an ESXi host to allow remote management in the command line

  2. Connectez-vous à l’hôte ESXi via SSH pour utiliser la ligne de commande. Vous pouvez utiliser votre client SSH préféré.
  3. Arrêtez le service d’arbitrage USB :

    /etc/init.d/usbarbitrator stop

    L’arbitrage USB active automatiquement la fonctionnalité de « passthrough » USB pour les machines virtuelles résidant sur un hôte ESXi (vous n’avez qu’à sélectionner une clé USB dans les paramètres VM de la machine appropriée pour utiliser cette fonctionnalité).

  • Si vous souhaitez désactiver le service d’arbitrage USB après le redémarrage d’ESXi (définitivement), vous pouvez utiliser la commande :

    chkconfig usbarbitrator off

    Pour activer le service d’arbitrage USB, utilisez la commande appropriée :

    /etc/init.d/usbarbitrator start

    chkconfig usbarbitrator on

  1. Commandes facultatives pour vérifier les périphériques USB connectés à un hôte ESXi :

    lsusb

    esxcli storage core device list | grep -i usb

    esxcli storage filesystem list

    Vous pouvez voir /var/log/usb.log pour vérifier le statut d’un périphérique USB.

  2. Vous pouvez avoir besoin de déconnecter et reconnecter un appareil de stockage USB après avoir arrêté le service d’arbitrage USB.
  3. Listez les périphériques de disque blocket pour trouver/identifier la clé USB connectée (ou le disque dur USB).

    ls -ltrh /vmfs/devices/disks/

    Notre clé USB est mpx.vmhba32:C0:T0:L0: (voir la capture d’écran ci-dessous).

    Ainsi, l’adresse/emplacement complet du disque est :

    /dev/disks/mpx.vmhba32:C0:T0:L0:

    Viewing disk devices connected to an ESXi host to identify a USB flash drive

  4. Vérifiez le numéro de partition de l’appareil USB pour vous assurer que vous avez identifié le bon périphérique de disque :

    ls /dev/disks/mpx.vmhba32:C0:T0:L0:*

    D’après le résultat affiché, l’identifiant complet du périphérique, tenant compte du numéro de partition dans notre cas, est :

    /dev/disks/mpx.vmhba32:C0:T0:L0:1

  5. Localisez le dossier racine d’une clé USB afin de définir le chemin source/destination pour la copie des fichiers. Exécutez la commande suivante et appuyez sur Tab pour afficher les éléments disponibles dans le répertoire « volumes ». Le répertoire /volumes/ du système de fichiers ESXi est un répertoire dans lequel sont montées les partitions dotées de systèmes de fichiers.

    ls -al /vmfs/volumes/ [press Tab]

    Le volume d’une clé USB s’appelle NO NAME

    A USB flash drive connected to an ESXi host has the NO NAME volume label

  6. Vérifiez le contenu du répertoire racine de la clé USB

    ls -al /vmfs/volumes/NO NAME/

    Notre archive ZIP se trouve sur le volume de la clé USB.

    How to transfer files from VM to host using a USB flash drive connected to ESXi

  7. Nous avons créé le dossier install sur le magasin de données ESXi (datastore10a) à l’aide des commandes suivantes :

    cd /vmfs/volumes/datastore10a

    mkdir install

    Sur la capture d’écran ci-dessous, vous pouvez également voir le répertoire de la machine virtuelle dont nous allons copier le fichier de configuration du magasin de données ESXi vers une clé USB un peu plus tard.

    Selecting a VM file that can be copied to a USB flash drive from an ESXi datastore

  8. Copiez l’archive ZIP depuis la clé USB vers le dossier d’installation sur notre hôte ESXi (sur datastore10a).

    cp /vmfs/volumes/NO NAME/net-tulip.zip /vmfs/volumes/datastore10a/install/

  9. Vérifiez que le fichier a bien été copié :

    ls -al /vmfs/volumes/datastore10a/install/

    Le fichier a été copié avec succès.

    How to copy file from VM to host in the ESXi command line interface

De la même manière, vous pouvez copier des fichiers dans le sens inverse : copiez des fichiers depuis ESXi vers une clé USB, puis copiez le fichier nécessaire vers une machine virtuelle ou vers une autre machine à partir de cette clé USB.

  1. Vérifiez le contenu du VM-Ordner :

    ls -al /vmfs/volumes/datastore10a/Windows-VM/

  2. Copiez le fichier de configuration ` Windows-VM.vmx ` depuis un magasin de données ESXi vers une clé USB :

    cp /vmfs/volumes/datastore10a/Windows-VM/Windows-VM.vmx /vmfs/volumes/NO NAME/

  3. Vérifiez si le fichier a bien été copié sur la clé USB :

    ls -al /vmfs/volumes/NO NAME/

    Copying a VM file from an ESXi host to a USB flash drive

Après avoir terminé la copie des fichiers sur l’hôte ESXi, vous pouvez éjecter la clé USB et démarrer le service d’arbitrage USB sur l’hôte ESXi. Vous pouvez ensuite insérer la clé USB et utiliser la fonctionnalité de transfert USB connectée à l’hôte pour associer la clé USB à la machine virtuelle.

En savoir plus sur Passage USB pour ESXi et sur la connexion d’un périphérique de stockage USB inséré dans un hôte VMware ESXi à une machine virtuelle résidant sur cet hôte.

Utilisation de PowerCLI pour transférer des fichiers vers des VMs VMware

Une autre méthode pour transférer des fichiers d’une machine virtuelle vers l’hôte consiste à utiliser les PowerCLI commandes (cmdlets). VMware Tools doit être installé sur le système d’exploitation invité d’une machine virtuelle. Ces cmdlets PowerShell utilisent VMware Tools pour copier des fichiers vers/depuis des machines virtuelles résidant sur un hôte VMware ESXi. Ainsi, vous n’avez pas besoin d’une connexion réseau si vous exécutez les commandes à l’intérieur d’une machine virtuelle résidant sur l’hôte VMware ESXi source ou de destination.

Pour copier des fichiers entre des machines virtuelles, vous pouvez utiliser la cmdlet « Copy-VMGuestFile » ainsi que d’autres cmdlets de VMware vSphere PowerCLI.

  1. Connectez-vous à un hôte ESXi ou à vCenter Server. Dans cet exemple, nous nous connectons à un hôte ESXi.

    Connect-VIServer 192.168.101.201

    Connecting to an ESXi host in VMware PowerCLI

  • Pour éviter l’avertissement relatif aux certificats, exécutez la commande suivante :

    Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false

    How to disable a certificate warning in VMware vSphere PowerCLI

Copy-VMGuestFile (machine virtuelle ESXi locale > )

Utilisez la commande suivante pour copier un fichier depuis une machine locale (une machine sur laquelle PowerCLI est en cours d’exécution) vers une machine virtuelle distante sur un hôte ESXi :

Copy-VMGuestFile -Source "c:temptest.txt" -LocalToGuest -VM Windows-VM -Destination "c:temp-VM" -GuestUser user1 -GuestPassword Password

Où :

c:temptest.txt est le fichier source que nous souhaitons copier depuis la machine locale

-LocalToGuest indique la direction (de la machine locale vers le système d’exploitation invité sur une machine virtuelle de destination s’exécutant sur ESXi)

-VM Windows-VM définit le VM-Name de la machine virtuelle de destination

c:temp-VM est le dossier de destination sur la machine virtuelle de destination (où nous souhaitons stocker la copie du fichier)

user1 est le Nom d’utilisateur dans le système d’exploitation invité (OS) sur la machine virtuelle de destination. Cet utilisateur doit disposer d’un accès au dossier de destination défini.

Password est le mot de passe de cet utilisateur.

Nous ignorons l’avertissement concernant la version de VMware Tools et vérifions si notre fichier text.txt a bien été copié.

How to copy file to virtual machine in PowerCLI

Nous pouvons constater que notre fichier test.txt , d’une taille de 29 octets, a été copié avec succès vers la machine virtuelle Windows XP s’exécutant sur un hôte ESXi.

A file has been copied to a VMware VM

Copy-VMGuestFile (machine virtuelle ESXi > locale)

Copions à présent un fichier depuis le système d’exploitation invité de la machine virtuelle vers un répertoire local de la machine sur laquelle la commande est exécutée :

Copy-VMGuestFile -Source "c:temp-VMtest2.txt" -GuestToLocal -Destination "c:temp" -VM Windows-VM -GuestUser user1 -GuestPassword Password

Où :

-Source "c:temp-VMtest2.txt" est le chemin d’accès au fichier source sur la machine virtuelle fonctionnant sous ESXi

-GuestToLocal indique la direction (depuis le système d’exploitation invité de la machine virtuelle ESXi vers la machine locale sur laquelle la commande est exécutée)

"c:temp" est le chemin d’accès au dossier de destination sur la machine locale

user1 est le Nom d’utilisateur dans le système d’exploitation invité de la machine virtuelle de destination. Cet utilisateur doit disposer d’un accès au dossier de destination défini.

Password est le mot de passe de cet utilisateur dans le système d’exploitation invité

How to copy a file from a virtual machine in PowerCLI

Vous pouvez consulter des exemples d’utilisation de la Copy-VMGuestFile cmdlet avec la commande :

get-help Copy-VMGuestFile -examples

Utilisation de Copy-DatastoreItem

La Copy-DatastoreItem cmdlet PowerShell sert à copier des fichiers vers/depuis un magasin de données ESXi. Il existe deux méthodes pour utiliser cette cmdlet afin de copier un fichier vers un magasin de données VMware ESXi :

  • Si PowerCLI est installé sur un système invité Windows au sein de la machine virtuelle, vous pouvez exécuter une commande pour copier un fichier directement depuis un magasin de données ESXi vers une machine virtuelle, et inversement.
  • Si vous ne pouvez pas installer PowerCLI sur une machine virtuelle résidant sur un hôte ESXi, vous pouvez exécuter des commandes PowerCLI depuis votre machine Windows locale, copier des fichiers depuis un magasin de données ESXi vers votre machine locale à l’aide de la commande Copy-VMGuestFile , puis copier ces fichiers depuis votre machine locale vers une machine virtuelle à l’aide de la commande Copy-VMGuestFile.

Vous devez être connecté à un serveur ESXi ou à vCenter Server. Vous pouvez le faire à l’aide de la commande :

ViConnect <server_name_or_IP>

Nous sommes connectés directement à l’hôte ESXi.

Copions un fichier de configuration de machine virtuelle depuis le Magasin de données vers la machine Windows actuelle (la machine sur laquelle nous exécutons ces commandes – il peut également s’agir d’une machine virtuelle sur un hôte ESXi) :

  1. Récupérez les informations relatives au magasin de données :

    Get-Datastore "datastore10a"

  2. Récupérez un objet magasin de données ESXi :

    $datastore = Get-Datastore "datastore10a"

  3. Créez un nouveau lecteur PowerShell, nommé ds: et mappé à $datastore:

    New-PSDrive -Location $datastore -Name ds -PSProvider VimDatastore -Root ""

  4. Définissez votre magasin de données comme emplacement actuel :

    Set-Location ds:

  5. Pour lister les fichiers et répertoires du répertoire sélectionné, utilisez la commande :

    Get-ChildItem

    Preparing to copy files from an ESXi host

  6. Vous pouvez définir le répertoire de la VM comme nouvel emplacement. Dans notre cas, ce répertoire est Windows-VM

    Set-Location "Windows-VM"

  7. La commande permettant de copier le fichier de la machine virtuelle, c’est-à-dire le fichier de configuration VMX, depuis le magasin de données ESXi défini vers le dossier temporaire de la machine actuelle :

    Copy-DatastoreItem -Item ds:Windows-VMWindows-VM.vmx -Destination c:temp

    Où :

    ds:Windows-VMWindows-VM.vmx est le chemin d’accès au fichier à copier et ds: est le raccourci défini vers un magasin de données (datstore10a dans ce cas).

    Copying a file from an ESXi datastore in PowerCLI

  • Si vous êtes connecté à vCenter (et non à un hôte ESXi particulier comme dans cet exemple), vous pouvez utiliser la commande suivante en spécifiant un magasin de données du datacenter vCenter pour copier un fichier depuis le magasin de données ESXi vers un dossier sur une machine locale :

    Copy-DatastoreItem vmstore:Datacenter1datastore10aWindows-VMWindows-VM.vmx c:temp

  • Pour copier un fichier dans le sens inverse (en vous connectant à un hôte ESXi), utilisez la commande :

    Copy-DatastoreItem -Item c:tempdarwin.iso -Destination ds:install

    Nous copions darwin.iso (il s’agit d’une image avec VMware Tools pour macOS) depuis une machine Windows vers le répertoire d’installation d’un magasin de données ESXi.

    Copy file to VMware ESXi datastore in PowerCLI

  • Si vous êtes connecté à vCenter, vous pouvez utiliser cette commande pour copier un fichier depuis une machine Windows locale vers un magasin de données sur un hôte VMware ESXi distant :

    Copy-DatastoreItem c:tempdarwin.iso -Destination vmstore:Datacenter1datastore10ainstall

Vous pouvez utiliser ces cmdlets PowerCLI et créer des scripts PowerShell pour transférer des fichiers d’une machine virtuelle vers l’hôte et inversement.

Commandes pour copier des fichiers d’une machine virtuelle vers un hôte dans VMware Workstation

Si vous utilisez VMware Workstation (qui est un hyperviseur de type 2) sur votre hôte Windows ou Linux (ou VMware Fusion sur macOS), vous pouvez également utiliser l’interface de ligne de commande pour copier des fichiers d’une machine virtuelle vers l’hôte et inversement. Vous pouvez utiliser l’outil en ligne de commande ` vmrun ` pour interagir avec les machines virtuelles. La syntaxe des commandes est la même sous Windows, Linux et macOS (VMware Fusion). Dans ce tutoriel, nous utilisons VMware Workstation 15 sous Windows 10.

  1. Accédez au répertoire VMware Workstation :

    cd "C:Program Files (x86)VMwareVMware Workstation"

  2. Utilisez la commande suivante pour copier un fichier depuis le système d’exploitation invité de la machine virtuelle vers l’hôte Windows local :

    CopyFileFromHostToGuest <Path to vmx file> <Path in guest> <Path on host>

    Dans notre cas, la commande exacte est :

    vmrun copyFileFromGuestToHost d:virtualWinServer2019WinServer2019.vmx "c:temptest.txt" "c:tempcopied"

  3. Saisissez un nom d’utilisateur et le mot de passe correspondant lorsque vous y êtes invité (l’utilisateur doit disposer des privilèges suffisants pour accéder au fichier en question).

    Où :

    d:virtualWinServer2019WinServer2019.vmx est un disque virtuel de la machine virtuelle à partir duquel nous copions le fichier.

    c:temptest.txt est un fichier stocké sur le disque virtuel d’une machine virtuelle ; c’est ce fichier que nous copions.

    c:tempcopied est le répertoire dans lequel la copie du fichier doit être stockée sur la machine hôte.

    Veillez à utiliser le caractère barre oblique inversée lorsque vous définissez un chemin d’accès. Nous avons copié test.txt qui est un fichier texte depuis une machine virtuelle vers l’hôte.

    Vous pouvez également exécuter une commande en définissant des identifiants de connexion dans la commande :

    vmrun -T ws -gu Administrator -gp Password000 copyFileFromGuestToHost d:virtualWinServer2019WinServer2019.vmx "c:temptest.txt" "c:tempcopied"

    How to transfer files from VM to host by using the vmrun command

Pour copier un fichier dans le sens inverse (d’une machine hôte vers une machine virtuelle), utilisez la commande suivante :

CopyFileFromHostToGuest <Path to vmx file> <Path on host> <Path in guest>

Dans cet exemple, notre commande est la suivante :

vmrun copyFileFromHostToGuest d:virtualWinServer2019WinServer2019.vmx "c:temptest3.txt" "c:temptest3-copy.txt"

How to copy files to virtual machine by using vmrun

Comment transférer des fichiers à l’aide de SSH et SCP

SSH (Secure Shell) est un protocole courant permettant de gérer en toute sécurité des hôtes distants grâce au chiffrement. SCP est un protocole qui s’appuie sur SSH pour copier des fichiers en toute sécurité sur le réseau. Vous pouvez utiliser SCP pour transférer des fichiers d’une machine virtuelle vers un hôte, en particulier si la machine virtuelle fonctionne sous Linux. Un serveur SCP et SSH peut être activé sur des machines Linux et ESXi en quelques étapes.

Comment activer un serveur SSH dans ESXi

Un service de serveur SSH doit être activé sur un hôte ESXi pour utiliser cette méthode et transférer des fichiers vers et depuis VMware ESXi.

  1. Pour activer un serveur SSH dans VMware Host Client, accédez à Host > Manage > Services et démarrez le service TSM-SSH .
  2. SSH doit être autorisé dans le pare-feu ESXi afin de permettre le trafic SCP pour le transfert de fichiers depuis un hôte ESXi ainsi que la connexion à d’autres machines via SCP à partir de cet hôte ESXi :
    • Accédez à Networking dans le volet Navigator , sélectionnez l’onglet Firewall rules puis sélectionnez SSH Client.
    • Cliquez sur Actions > Enable pour activer la règle de pare-feu.

    Enabling SSH access in the ESXi firewall

  3. Pour vérifier la connexion SSH entre les hôtes, vous pouvez exécuter cette commande sur un hôte ESXi :

    nc -z 192.168.101.202 22

    Où :

    192.168.101.202 est l’adresse IP d’un hôte distant.

    22 est le numéro de port pour la connexion SSH (22 est le numéro de port par défaut).

La syntaxe générale de la scp commande permettant de copier des fichiers via SCP sur le réseau :

scp [OPTION] [user]@[SRC_HOST]:path_to_file1 [user]@[DEST_HOST]:path_to_file2

[user]@[SRC_HOST]:path_to_file1 – un fichier source

[user]@[DEST_HOST]:path_to_file2 – un fichier de destination

-P spécifie un numéro de port pour la connexion SSH (utilisez cet indicateur si le numéro de port n’est pas 22).

Ci-dessous, nous expliquons ces exemples concrets.

Comment copier un fichier local vers une machine distante via SCP

Pour copier un fichier local vers une machine distante via SCP, utilisez la commande suivante :

scp file.txt remote_username@remote_host_ip:/remote/directory

Sous Linux

Copions le fichier LinuxDir.txt depuis une machine locale sous Ubuntu Linux (qui peut également être une machine virtuelle) vers un hôte ESXi via le réseau à l’aide de SCP. L’emplacement de destination sur l’hôte ESXi distant est le répertoire install situé sur le magasin de données datastore10a . L’adresse IP de l’hôte ESXi distant est 192.168.101.201 .

Dans notre cas d’utilisation, la commande permettant de copier le fichier depuis la machine Linux locale vers l’hôte ESXi distant est la suivante :

scp LinuxDir.txt root@192.168.101.201:/vmfs/volumes/datastore10a/install/

How to copy a file to a remote ESXi host via SCP

Vous pouvez stocker le fichier copié sur la machine de destination sous un nouveau nom de fichier :

scp LinuxDir.txt root@192.168.101.201:/vmfs/volumes/datastore10a/install/LinuxDir-copy.txt

Utilisez l’option -r pour copier un répertoire avec tous les fichiers qu’il contient :

scp -r /local/directory remote_username@192.168.101.201:/remote/directory

Depuis ESXi

Vous pouvez utiliser les commandes scp sur un hôte ESXi. La syntaxe scp dans la ligne de commande est la même pour Linux et ESXi. Un serveur SSH doit être configuré sur la machine distante. Connectons-nous à l’hôte ESXi ( 192.168.101.201 ) et copions le répertoire install qui contient tous les fichiers dans le répertoire personnel de user1 sur la machine Linux distante ( 192.168.101.210 ).

scp -r /vmfs/volumes/datastore10a/install/ user1@192.168.101.210:/home/user1/

How to copy a file from an ESXi host to a remote machine via SCP

Si le serveur SSH écoute sur un port autre que le 22, utilisez le paramètre -P ; par exemple, si le numéro de port SSH est 8022, la commande est :

scp -P 8022 -r /vmfs/volumes/datastore10a/install/ user1@192.168.101.210:/home/user1/

Comment copier un fichier d’une machine distante vers une machine locale via SCP

SCP est pratique pour copier des fichiers d’une machine distante vers la machine locale, ce qui vous permet également de transférer des fichiers d’une machine virtuelle vers l’hôte. Nous expliquons ci-dessous comment exécuter les commandes appropriées sous Linux et ESXi.

Copier des fichiers vers une machine Linux locale

Nous allons copier un fichier depuis l’hôte ESXi distant vers la machine Linux actuelle à l’aide de SCP. Pour ce faire, utilisez une commande du type :

scp remote_username@remote_ip_address:/remote/file.txt /local/directory

Copions un darwin.iso fichier depuis le serveur ESXi distant vers le répertoire personnel défini sur la machine Linux :

scp root@192.168.101.201:/vmfs/volumes/datastore10a/install/winPreVista.iso /home/user1/

How to copy a file from a remote ESXi datastore to the current Linux machine via SCP

Copier des fichiers vers un hôte ESXi local

Si nous nous connectons à un hôte ESXi, nous pouvons exécuter la commande permettant de copier un fichier de machine virtuelle depuis une machine Linux distante vers un magasin de données sur l’hôte ESXi local. Copions VM_file.txt depuis la machine Linux vers le répertoire du magasin de données ESXi via le réseau à l’aide de SCP :

scp user1@192.168.101.210:/home/user1/VM_file.txt /vmfs/volumes/datastore10a/install/

How to copy a file from a remote Linux machine to the ESXi host via SCP

Comment copier des fichiers entre deux machines distantes

Il existe des commandes SCP permettant de copier des fichiers d’une machine distante vers une autre, avec ou sans passage par la machine locale actuelle. La syntaxe de la commande est la suivante :

scp user1@remote-host1.com://directory/file.txt user2@remote-host2.com://directory/

La commande ci-dessus permet de transférer les données directement d’un hôte distant à un autre (sans les copier sur notre machine locale actuelle). Si vous souhaitez acheminer le trafic via votre machine locale sur laquelle vous exécutez la commande, utilisez l’option -3 .

Remarque : Utilisez cette commande si les identifiants de connexion sont les mêmes sur les deux hôtes distants.

Exemple de commande à exécuter sur une machine Linux locale pour copier un fichier (vim.v00) depuis un hôte ESXi distant (192.168.101.202) vers un hôte ESXi local (192.168.101.201) :

scp root@192.168.101.202://vmfs/volumes/BOOTBANK1/vim.v00 root@192.168.101.201://vmfs/volumes/datastore10a/install/

Si vous obtenez l’erreur « Host key verification failed », cela signifie que la clé d’hôte n’est pas stockée sur l’un des hôtes. Si l’erreur est due à la modification de la clé d’hôte sur le serveur distant, supprimez l’ancienne clé d’hôte de l’hôte distant actuel stockée dans ~/.ssh/known_hosts

. La commande permettant de supprimer une ancienne clé d’hôte est la suivante : ssh-keygen -R hostname_or_IP_address

Par exemple, exécutez la commande sur 192.168.101.202 pour enlever l’ancienne clé d’hôte de l’hôte distant 192.168.101.201 :

ssh-keygen -R 192.168.101.201

Exemple d’utilisation de -3 dans la commande pour copier des fichiers via la machine locale :

scp -3 root@192.168.101.202://vmfs/volumes/BOOTBANK1/vim.v00 root@192.168.101.201://vmfs/volumes/datastore10a/install/

La commande alternative pour cette opération est :

scp -o "ForwardAgent yes" root@192.168.101.202://vmfs/volumes/BOOTBANK1/vim.v00 root@192.168.101.201://vmfs/volumes/datastore10a/install/

Comment copier des fichiers via SCP depuis Windows

Vous pouvez également copier des fichiers vers des machines virtuelles ou des hôtes ESXi sous Windows. Pour cela, vous devez utiliser un client SCP tel que WinSCP, qui offre une interface graphique conviviale et pratique. Vous pouvez Télécharger WinSCP gratuitement.

  1. Lancez WinSCP.
    • Sélectionnez un protocole, par exemple SFTP.
    • Saisissez le nom d’hôte et le numéro de port d’un hôte distant, tel qu’un hôte ESXi ou une machine Linux.
    • Saisissez le nom d’utilisateur et le mot de passe de la machine distante.
    • Cliquez sur Login.

    Dans cet exemple, nous nous connectons à un hôte ESXi distant.

    Connecting to an ESXi host in WinSCP to copy files

  2. Un message de notification s’affiche :

    Continue connecting to unknown server and add its host key to a cache?

    Cliquez sur Yes pour continuer.

  3. Une fois connecté, vous voyez s’afficher une fenêtre de type « Commander » comportant deux volets. L’un représente le répertoire de la machine locale et l’autre celui de la machine distante. Vous pouvez copier des fichiers entre l’hôte local et l’hôte distant en les faisant glisser d’un volet à l’autre.

    Using WinSCP to copy a VM file from and to an ESXi host

Vous pouvez copier des fichiers depuis un magasin de données d’un hôte ESXi distant auquel vous êtes connecté dans WinSCP vers une machine virtuelle Windows distante ou une machine physique en utilisant un partage SMB sur cette machine Windows.

Cependant, vous ne pouvez pas saisir le chemin d’accès direct au partage dans un volet WinSCP (par exemple, 192.168.101.117c$). Vous ne pouvez sélectionner qu’une lettre de lecteur. Pour contourner cette limitation, connectez-vous au partage de fichiers dans l’Explorateur Windows et mappez ce partage en tant que lecteur réseau. Attribuez une lettre de lecteur, par exemple S: comme nous l’avons fait dans cet exemple, pour connecter le dossier partagé sur 192.168.101.211 .

Nous pouvons désormais sélectionner S: comme lecteur réseau dans le menu déroulant du volet gauche de WinSCP, sélectionner les fichiers ou répertoires nécessaires sur le magasin de données du serveur ESXi distant et copier des fichiers dans les deux sens.

Copying files between a remote ESXi host and remote SMB share by using WinSCP in Windows

Utilisation d’un partage NFS

Vous pouvez utiliser un partage NFS pour transférer des fichiers vers des VMs à partir d’un datastore ESXi, et inversement. ESXi ne prend pas en charge les partages SMB (natifs de Windows). Il prend en charge les partages NFS (natifs de Linux) et permet d’associer un partage NFS en tant que magasin de données. Grâce à cette fonctionnalité, vous pouvez utiliser l’une des méthodes suivantes pour transférer des fichiers entre des machines ESXi et Linux :

Méthode 1 :

  • Configurer un serveur NFS et un partage NFS sur une machine virtuelle Linux
  • Monter le partage NFS en tant que magasin de données sur ESXi
  • Copier des fichiers depuis une machine virtuelle vers un magasin de données ESXi et inversement

Méthode 2 :

  • Configurer un serveur NFS sur une machine physique Linux ou NAS
  • Monter le partage NFS en tant que magasin de données sur ESXi
  • Se connecter au partage NFS sur une machine virtuelle Linux
  • Copier des fichiers depuis une machine virtuelle Linux vers un partage NFS, puis copier ces fichiers vers un hôte ESXi. Copier des fichiers depuis l’hôte ESXi vers le partage NFS, puis copier ces fichiers depuis le partage NFS vers la machine virtuelle Linux.

Consultez la NFS vs SMB comparaison pour en savoir plus sur ces protocoles de partage de fichiers.

Configuration d’un partage NFS sous Linux

Dans ce tutoriel, nous utilisons Linux Ubuntu 20.04. Nous nous sommes connectés à Linux en tant qu’utilisateur standard et utilisons sudo lorsque des privilèges root sont nécessaires pour exécuter la commande. Suivez les étapes suivantes pour installer un serveur NFS et configurer un partage NFS.

  1. Mettez à jour l’arborescence des référentiels sous Linux :

    sudo apt-get update

  2. Installez le paquet du serveur NFS sous Linux :

    sudo apt-get install nfs-kernel-server -y

  3. Créez un répertoire (le répertoire d’exportation) qui sera partagé sur le serveur NFS :

    sudo mkdir -p /srv/nfs/share1/

  4. Définissez le propriétaire et les permissions du répertoire créé :

    sudo chown -R nobody:nogroup /srv/nfs/share1/

    sudo chmod 0777 /srv/nfs/share1/

    L’utilisateur nobody est un pseudo-utilisateur représentant l’utilisateur disposant des permissions les plus restreintes, sans accès au shell. Le groupe nogroup a une fonction similaire à celle de l’utilisateur nobody .

    Creating a directory for an NFS share

  5. Configurez le fichier exports pour partager le répertoire créé.

    sudo nano /etc/exports

    ou

    sudo vim /etc/exports

  6. Ajoutez la ligne suivante à la fin du fichier de configuration :

    /srv/nfs/share1/ CLIENT_IP(rw,sync,no_subtree_check)

    Dans notre cas, la ligne indiquant l’adresse IP autorisée de notre hôte ESXi est la suivante :

    /srv/nfs/share1/ 192.168.101.201(rw,sync,no_subtree_check)

    Vous pouvez autoriser l’accès à tous les hôtes du sous-réseau en ajoutant la ligne suivante :

    /srv/nfs/share1/ 192.168.101.0/24(rw,sync,no_subtree_check)

    Vous pouvez ajouter la ligne suivante pour autoriser l’accès à un autre hôte (adresse IP).

    Enregistrez les modifications apportées au fichier de configuration et quittez l’éditeur de texte.

  7. Pour vérifier si les données ont bien été écrites dans le fichier, vous pouvez utiliser la commande :

    cat /etc/exports

  8. Appliquez la nouvelle configuration à l’aide de la commande :

    sudo exportfs -a

  9. Assurez-vous que le pare-feu de la machine Linux hébergeant le serveur NFS autorise l’accès. Vous pouvez accorder l’accès à une adresse IP spécifique à l’aide d’une commande telle que :

    sudo ufw allow from IP to any port nfs

    Dans notre cas :

    sudo ufw allow from 192.168.101.201 to any port nfs

    Pour autoriser l’accès à tous les hôtes du sous-réseau :

    sudo ufw allow from SUBNET to any port nfs

    Dans notre cas, la commande serait :

    sudo ufw allow from 192.168.101.0/24 to any port nfs

  10. Vous pouvez vérifier l’état du pare-feu à l’aide de la commande :

    sudo ufw status

  11. Redémarrez le serveur NFS pour que les modifications de configuration prennent effet :

    sudo systemctl restart nfs-kernel-server

  12. Le partage NFS a été configuré sous Linux.
  13. Copiez un fichier depuis n’importe quel répertoire de la machine Linux vers le répertoire partagé via NFS. Nous copions VM_file.txt vers notre partage NFS, puis vérifions le contenu du répertoire :

    cp VM_file.txt /srv/nfs/share1/

    ls -al /srv/nfs/share1/

    Copying a file to a directory configured as an NFS share

Montage d’un magasin de données NFS dans ESXi

Vous devez ajouter le magasin de données NFS dans ESXi après avoir configuré le partage NFS. Dans cet exemple, nous utilisons VMware Host Client pour effectuer cette opération.

Accédez à Storage > Datastores et cliquez sur New datastore.

Creating a new datastore to mount the NFS as a datastore

L’assistant New datastore s’ouvre.

  1. Sélectionnez Mount NFS datastore. Cliquez sur Next pour continuer.

    How to mount an NFS datastore in ESXi

  2. Indiquez les détails du montage NFS :
    • Nom : NFS-share (le nom qui s’affichera comme nom du magasin de données)
    • Serveur NFS : 192.168.101.210
    • Partage NFS : /srv/nfs/share1/
    • Version NFS : NFS4

    Un nom d’utilisateur et un mot de passe sont facultatifs pour NFS4. Nous laissons ces deux champs vides.

    Entering the details to mount an NFS datastore in ESXi

  3. Prêt à terminer. Vérifiez votre configuration et cliquez sur Finish si tout est correct.

Copie de fichiers depuis une machine virtuelle vers l’hôte

Le magasin de données NFS est monté avec succès. Vous pouvez le vérifier à l’adresse Storage > Datastores.

Nous pouvons désormais copier les fichiers de la machine virtuelle stockés sur le partage NFS vers un datastore ESXi local (transfert de fichiers de la machine virtuelle vers l’hôte).

  1. Cliquez sur Datastore Browser.

    Browsing the NFS datastore to copy a VM file

  2. Sélectionnez votre datastore NFS dans le navigateur de magasins de données (NFS-share dans notre cas). Parcourrez le fichier souhaité dans le datastore NFS. Sélectionnez le fichier souhaité et cliquez sur Copy.

    How to copy a VM file from a virtual machine to an ESXi datastore using an NFS share

  3. Sélectionnez la destination. Sélectionnez l’emplacement souhaité dans le magasin de données cible où vous souhaitez stocker le fichier copié (datastore10b dans notre cas). Cliquez sur « Copy».

    Copying a VM file to an ESXi datastore in VMware Host Client

    Vous pouvez également copier le fichier souhaité via la ligne de commande sur le serveur ESXi :

    cp /vmfs/volumes/NFS-share/VM_file.txt /vmfs/volumes/datastore10b/VM_file-copy.txt

Utilisation de l’interface Web VMware pour télécharger/charger des fichiers

Vous pouvez utiliser l’interface Web de VMware Host Client ou Client VMware vSphere pour télécharger ou charger des fichiers vers ou depuis un magasin de données ESXi. L’interface Web est accessible depuis n’importe quelle machine physique ou virtuelle sur laquelle un navigateur Web est installé et disposant d’une connexion réseau vers un hôte ESXi. Ainsi, vous pouvez ouvrir cette interface Web directement depuis une machine virtuelle si le système d’exploitation invité dispose d’une interface graphique, ou utiliser n’importe quelle machine locale comme intermédiaire pour transférer des fichiers de la machine virtuelle vers l’hôte et inversement.

How to copy a VM file - downloading a virtual disk file from an ESXi datastore in VMware Host Client

Il existe une autre méthode, plus complexe, pour transférer des fichiers vers VMware ESXi à partir de VMs :

  1. Téléchargez un disque virtuel de la VM sur votre machine locale ou sur une autre machine.
  2. Extrayez les fichiers nécessaires de ce disque virtuel (.vmdk et -flat.vmdk) vers une machine locale. Vous pouvez également monter un disque virtuel sur un lecteur virtuel si VMware Workstation est installé.
  3. Téléversez les fichiers extraits ou ceux provenant du disque virtuel monté vers le magasin de données de l’hôte VMware ESXi à l’aide de l’une des méthodes expliquées ci-dessus (via VMware Host Client, vSphere Client ou un client SCP, etc.).

    How to map a VMDK file as a virtual disk drive in Windows

Consultez l’article de blog détaillé sur « Comment extraire des fichiers à partir de disques virtuels VMDK» (Transfert de données vers une machine virtuelle à l’aide d’un disque virtuel).

Utilisation de fichiers ISO pour le transfert de données vers une machine virtuelle

Si la connexion réseau n’est pas disponible pour une machine virtuelle, vous pouvez transférer des fichiers vers des machines virtuelles VMware à l’aide de fichiers image ISO :

  1. Créez une image ISO à l’aide d’un logiciel tel qu’Ultra ISO pour Windows.
  2. Enregistrez les fichiers nécessaires dans l’image ISO sur votre machine locale ou sur une autre machine. Vous pouvez copier des fichiers depuis ESXi à l’aide de l’une des méthodes ci-dessus et les enregistrer dans l’image ISO.
  3. Montez le fichier image ISO sur la machine virtuelle à l’aide d’un lecteur CD/DVD virtuel de celle-ci (vous pouvez monter le fichier ISO directement depuis votre machine locale ou le transférer vers un Magasin de données ESXi avant de procéder). Utilisez VMware Host Client, VMware vSphere Client, VMware Workstation ou VMware Remote Console pour monter le fichier ISO sur la machine virtuelle ESXi.

Cette méthode ne peut pas être utilisée pour transférer des fichiers de la machine virtuelle vers l’hôte, car une machine virtuelle utilise un lecteur CD/DVD virtuel en mode lecture seule.

Conclusion

Il existe plusieurs méthodes pour copier des fichiers vers des machines virtuelles à partir d’un hôte, et inversement. Certaines nécessitent une connexion réseau, tandis que d’autres fonctionnent même en l’absence de connexion. Vous pouvez choisir la méthode la mieux adaptée à votre situation et combiner ces différentes méthodes. N’oubliez pas de sauvegarder vos VMs pour éviter toute perte de données. Avec NAKIVO Backup & Replication, vous pouvez protéger vos VMs sous VMware vSphere et récupération des fichiers individuels directement à partir d’une sauvegarde de machine virtuelle.

Essayez NAKIVO Backup & Replication

Essayez NAKIVO Backup & Replication

Profitez d'un essai gratuit pour découvrir toutes les fonctionnalités de protection des données de la solution. 15 jours gratuits. Aucune restriction en termes de fonctionnalités ou de capacité. Aucune carte bancaire requise.

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