Hyper-V est un hyperviseur, qui s’exécute sur Windows, et peut être géré directement sur la machine où il est installé ainsi que à distance. Souvent, vous devez copier des fichiers vers le serveur Hyper-V et depuis un serveur vers des machines virtuelles. Vous ne pouvez pas simplement faire glisser-déposer des fichiers vers les machines virtuelles Hyper-V, et vous devriez utiliser d’autres méthodes pour copier des fichiers.
Par exemple, lors de la création d’une nouvelle machine virtuelle dans Hyper-V, vous devez installer un système d’exploitation sur cette VM. Généralement, cela se fait en montant une image d’installation ISO du support du système d’exploitation. Pour obtenir le support sur l’hôte Hyper-V, vous devez copier le fichier ISO sur l’hôte et installer le système d’exploitation invité sur la nouvelle VM.
Cet article de blog fournit 6 méthodes pour copier des fichiers vers des machines virtuelles Hyper-V et vers le serveur Hyper-V. Notez que ces méthodes pour copier des fichiers vers le serveur Hyper-V peuvent également être utilisées dans d’autres scénarios, tels que copier des fichiers depuis un hôte Hyper-V vers des machines virtuelles.
Méthode 1 : Comment Copier des Fichiers en Utilisant un Partage de Fichiers sur un Hôte Hyper-V
Cette méthode implique la création d’un partage de fichiers sur un hôte Hyper-V et la copie d’une image ISO ou d’autres fichiers vers ce partage de fichiers SMB. Le protocole SMB est un protocole de partage natif dans Windows mais est également pris en charge dans Linux et d’autres systèmes d’exploitation.
Vous pouvez également utiliser cette méthode pour copier des fichiers vers le serveur Hyper-V depuis n’importe quelle machine physique ou virtuelle si une connexion réseau est établie.
- Activez une règle de pare-feu pour autoriser les connexions entrantes SMB pour une machine exécutant Hyper-V. Pour activer le partage de fichiers et d’imprimantes dans le pare-feu, exécutez la commande suivante sur l’hôte Hyper-V:
netsh advfirewall firewall set rule group= »Partage de fichiers et d’imprimantes » new enable=Oui
Note: Vous pouvez configurer un partage de fichiers SMB avec les autorisations appropriées pour les utilisateurs nécessaires et partager uniquement le dossier requis.
- Si vous avez l’interface utilisateur graphique (GUI) sur votre machine Windows, connectez-vous à un partage de fichiers distant sur un hôte Hyper-V en tapant le chemin de partage dans la barre d’adresse de la fenêtre de l’Explorateur Windows. Dans cet exemple, nous utilisons un partage système caché C$, qui est activé par défaut sur toutes les machines Windows à des fins d’administration. De même, vous pouvez vous connecter à d’autres volumes comme D$, E$, etc.
\\10.10.10.31\c$\
Note: Les fichiers sont stockés sur le disque C: à des fins de démonstration. Il est recommandé d’utiliser une autre partition dédiée pour les fichiers VM, les images ISO, les partages de fichiers et autres données non système.
- Accédez au répertoire où vous souhaitez stocker vos images ISO ou où se trouvent les autres fichiers que vous devez copier. Vous pouvez créer ce répertoire maintenant s’il n’a pas encore été créé. Dans notre cas, les fichiers ISO sont situés dans C:\ISO_1\ sur notre hôte Hyper-V et le chemin réseau est \\10.10.10.31\c$\ISO_1\
Si vous devez utiliser l’interface en ligne de commande, vous pouvez mapper le partage de fichiers SMB en tant que lecteur réseau avec la commande :
Net use * \\〈votre hôte Hyper-V〉\d$
Par exemple,
net use S: \\10.10.10.31\d$
Note: Vous pouvez exécuter cette commande dans CMD ou PowerShell sur le client ou le serveur qui contient les données que vous souhaitez transférer vers Hyper-V.
- Copiez le fichier ISO nécessaire (ou d’autres fichiers) de votre machine locale (C:\data\shared01\ dans notre cas) vers l’hôte Hyper-V en utilisant ce chemin réseau.
- Après avoir copié l’image ISO sur le serveur, nous pouvons pointer le lecteur DVD vers le fichier image et naviguer jusqu’au dossier que nous avons créé à la racine du lecteur (C:).
- Après avoir terminé de copier tous les fichiers nécessaires vers votre hôte Hyper-V, vous pouvez désactiver les connexions entrantes dans le pare-feu Windows sur l’hôte Hyper-V à des fins de sécurité. Nous pouvons désactiver les règles de pare-feu de partage de fichiers et d’imprimantes que nous avons autorisées ci-dessus si nous choisissons de le faire en changeant simplement Oui en Non dans la commande PowerShell.
netsh advfirewall firewall set rule group=”Partage de fichiers et d’imprimantes” new enable=Non
Méthode 2 : Comment copier des fichiers vers des serveurs Hyper-V en utilisant un partage de fichiers unique
Lorsque vous avez plusieurs hôtes Hyper-V dans votre environnement, il peut être gênant de configurer un partage de fichiers sur chaque hôte Hyper-V et de copier des images ISO sur tous ces hôtes Hyper-V. De plus, utiliser de l’espace de stockage sur plusieurs hôtes pour les mêmes images ISO peut ne pas être rationnel.
Vous pouvez configurer un partage de fichiers sur un autre serveur, par exemple, sur un serveur de fichiers ou un NAS et y stocker toutes les images ISO nécessaires. Configurez un partage de fichiers une fois, configurez l’accès pour les hôtes Hyper-V, et utilisez les images ISO nécessaires stockées au même endroit pour tous les hôtes.
Cette méthode est pratique si toutes les machines utilisées sont membres d’un domaine Active Directory.
Si vous souhaitez utiliser cette méthode pour transférer des fichiers entre un hôte Hyper-V et le système d’exploitation invité d’une machine virtuelle, vous devez configurer un commutateur virtuel dans les paramètres Hyper-V et définir le mode réseau nécessaire.
Si vous devez copier des fichiers vers une machine virtuelle avec un système d’exploitation invité Linux, vous avez une autre option en plus d’utiliser le protocole SMB. Vous pouvez utiliser SSH pour un transfert de fichiers Hyper-V sécurisé sur le réseau.
Méthode 3 : Transfert de fichiers Hyper-V via RDP
Si votre serveur Hyper-V est exécuté sur une machine Windows avec une interface graphique, vous pouvez vous connecter à cet hôte via RDP (Remote Desktop Protocol) et attacher les disques locaux de votre machine locale pour copier les fichiers nécessaires. Pour ce faire, vous devez activer les connexions de bureau à distance sur le serveur cible.
Vous pouvez utiliser cette méthode pour copier des fichiers vers un serveur Hyper-V depuis une autre machine physique ou virtuelle exécutant Windows.
- Pour activer les connexions de bureau à distance, accédez à Démarrer > Paramètres > Système > Bureau à distance et activez Bureau à distance.
- Exécutez le client Bureau à distance Windows, dont l’emplacement est %windir%\system32\mstsc.exe
Tapez mstsc dans la ligne de commande ou la boîte de dialogue Exécuter et appuyez sur Entrée.
- Entrez l’adresse IP ou le nom d’hôte de l’ordinateur distant (dans notre exemple, il s’agit de l’hôte Hyper-V avec l’adresse IP 10.10.10.31) et le nom d’utilisateur. Vous pouvez saisir le nom d’utilisateur dans le format complet (domaine\utilisateur ou ordinateur\utilisateur).
- Allez à l’onglet Ressources locales et cliquez sur Plus.
- Sélectionnez les ressources locales que vous souhaitez mapper de votre ordinateur vers l’hôte distant (dans notre exemple, l’hôte distant est un hôte Hyper-V). Développez Unités et sélectionnez le lecteur de disque nécessaire. Les fichiers nécessaires se trouvent sur le disque E:\ sur notre ordinateur et, pour cette raison, nous sélectionnons le disque E: à mapper pour notre connexion RDP.
- Cliquez sur OK pour enregistrer les paramètres, puis cliquez sur Connecter.
Une fois qu’une session Bureau à distance a été établie, ouvrez Poste de travail ou Ce PC dans l’Explorateur Windows de la machine distante. Vous devriez voir le lecteur de disque mappé depuis votre ordinateur local qui est mappé sur la machine distante (E sur SERVEUR01-DC dans la capture d’écran ci-dessous). Accédez aux fichiers nécessaires sur ce lecteur mappé et copiez-les vers votre hôte Hyper-V.
Cette méthode fonctionne également pour les machines virtuelles si elles sont connectées au réseau.
Méthode 4 : Transfert de fichiers Hyper-V avec une commande PowerShell.
PowerShell 4.0 et versions ultérieures disposent d’une cmdlet utile qui vous permet de copier des fichiers d’un hôte Hyper-V vers une machine virtuelle sans avoir de connexion réseau entre l’hôte et la machine virtuelle et sans avoir besoin de configurer le pare-feu.
Examinons donc comment copier des fichiers vers une machine virtuelle Hyper-V en PowerShell sans utiliser le réseau.
- Activez les services invités sur la machine virtuelle. Les services d’intégration doivent être installés dans le système d’exploitation invité de la machine virtuelle.
Les services invités font partie des services d’intégration Hyper-V, mais ils ne sont pas activés par défaut. Pour activer les services invités, ouvrez les paramètres de la machine virtuelle, sélectionnez Services d’intégration dans le volet gauche de la fenêtre des paramètres de la machine virtuelle, et cochez la case Services invités.
Activez les services invités pour la machine virtuelle en PowerShell :
Enable-VMIntegrationService -VMName VM1 -Name ‘Interface de service invité’
- Vous pouvez vérifier si la fonctionnalité des services invités est activée en PowerShell :
Get-VMIntegrationService -name Guest* -VMName VM1,VM2
Où VM1,VM2 sont les noms des machines virtuelles
- Si le statut est Aucun contact, vous devez mettre à jour la machine virtuelle et installer Services d’intégration dans le système d’exploitation invité.
- Si le statut est Faux, vous pouvez activer l’interface des services invités nécessaires:
Enable-VMIntegrationService -name Guest* -VMName win10preview -Passthru
- Utilisez la commande ci-dessous pour le transfert de fichiers Hyper-V de l’hôte Hyper-V vers la machine virtuelle en définissant le chemin source sur l’hôte Hyper-V et le chemin de destination sur la machine virtuelle:
Copy-VMFile “VMName” -SourcePath “F:\Test.txt” -DestinationPath “C:\Temp\Test.txt” -CreateFullPath -FileSource Host
Où:
- VMname est le nom de la machine virtuelle vers laquelle vous copiez le fichier (vous pouvez voir le nom de la machine virtuelle dans le Gestionnaire Hyper-V; ce n’est pas le nom d’hôte de la machine virtuelle affiché dans le système d’exploitation invité).
- SourcePath est le chemin d’accès au fichier source sur l’hôte Hyper-V (le fichier que vous avez besoin de copier).
- DestinationPath est le chemin d’accès au fichier de destination sur la machine virtuelle (où copier le fichier nécessaire).
- La commande -CreateFullPath est utilisée pour créer un chemin complet avec tous les dossiers nécessaires s’ils n’existent pas.
Dans notre exemple, la commande exacte PowerShell pour le transfert de fichiers Hyper-V de l’hôte vers la machine virtuelle est la suivante:
Copy-VMFile “VM2” -SourcePath “C:\temp\file01.txt” -DestinationPath “C:\Temp1\file01.txt” -CreateFullPath -FileSource Host
Remarque: la cmdlet Copy-VMFile fonctionne uniquement dans le sens de l’hôte Hyper-V vers la machine virtuelle.
Méthode 5 : Monter un fichier VHDX sur un hôte et un invité
L’idée de cette méthode est de créer un disque virtuel VHDX pouvant être monté à la fois sur un hôte Hyper-V et une VM. Vous pouvez copier les fichiers nécessaires sur ce disque virtuel, le monter sur la machine nécessaire et copier des fichiers vers/depuis le disque virtuel.
Nous utilisons Windows Server 2019 dans notre exemple. La création d’un disque virtuel VHDX est disponible dans Gestion de l’ordinateur, pas seulement dans Gestionnaire Hyper-V lors de la configuration des VM.
- Ouvrez la fenêtre Gestion de l’ordinateur. Vous pouvez le faire en appuyant sur Win+R pour ouvrir la boîte de dialogue Exécuter et en exécutant la commande compmgmt.msc.
- Accédez à Stockage > Gestion des disques dans la fenêtre Gestion de l’ordinateur.
- Cliquez avec le bouton droit sur Gestion des disques et dans le menu contextuel, cliquez sur Créer un disque VHD.
- A new window opens to create a virtual disk.
- Spécifiez l’emplacement du disque dur virtuel sur l’hôte Hyper-V, par exemple, C:\Hyper-V\data-temp\
- Définissez la taille du disque dur virtuel. Nous créons un disque dur virtuel de 8 Go à des fins de démonstration.
- Sélectionnez un format de disque dur virtuel. Nous sélectionnons VHDX comme format le plus récent. Renseignez-vous sur VHD vs VHDX pour en savoir plus sur les différences.
- Sélectionnez un type de disque dur virtuel. Nous sélectionnons Expansion dynamique pour économiser de l’espace de stockage jusqu’à ce que le disque ne soit pas rempli de données.
- Cliquez sur OK pour enregistrer les paramètres et fermer la fenêtre.
Alternativement, voici un exemple de commande pour créer un disque virtuel VHDX dans PowerShell :
New-VHD -Path C:\Hyper-V\data-temp.vhdx -SizeBytes 8GB -Dynamic -BlockSizeBytes 1MB
La commande pour monter un disque virtuel VHD dans PowerShell :
mount-VHD -path C:\Hyper-V\data-temp.vhdx
A virtual hard disk has been created on our Hyper-V host.
- Cliquez avec le bouton droit sur ce disque dur virtuel VHDX dans la console Gestion des disques et cliquez sur Initialiser le disque.
Alternativement, si vous préférez utiliser PowerShell, listez tous les disques montés pour identifier le numéro du disque virtuel nécessaire avant l’initialisation :
Get-Disk
- Votre disque est automatiquement sélectionné. Sélectionnez le style de partition. Nous utilisons MBR (Master Boot Record) pour une meilleure compatibilité. Cliquez sur OK.
Alternativement, la commande pour ceux qui utilisent PowerShell inclut le numéro d’un disque virtuel et le style de partition :
Initialize-Disk 1 -PartitionStyle MBR
- Créez un nouveau volume (partition) sur le disque virtuel qui a été initialisé sur l’hôte Hyper-V. Cette partition sera également visible dans une machine virtuelle Windows (ou Linux qui peut fonctionner avec des systèmes de fichiers NTFS).
Cliquez avec le bouton droit sur le volume de 8 Go et cliquez sur Nouveau volume simple dans le menu contextuel.
- Le Assistant Nouveau volume simple s’ouvre. Cliquez sur Suivant.
- Spécifiez la taille du volume. Utilisez la taille totale du disque pour ce volume.
- Attribuez une lettre de lecteur, par exemple, H :
- Formatez la partition. Sélectionnez le système de fichiers NTFS, laissez la taille d’unité d’allocation par défaut et saisissez une étiquette de volume (par exemple, Copy-Files). Sélectionnez la case à cocher Effectuer un formatage rapide.
Alternativement, vous pouvez utiliser ces commandes PowerShell pour créer et formater un volume :
New-Partition -DiskNumber 1 -UseMaximumsize -AssignDriveLetter
Format-Volume -DriveLetter H -FileSystem NTFS -Full -Force
- Une fois que vous avez terminé l’assistant, vous devriez voir votre disque virtuel monté dans l’Explorateur Windows de la machine hôte Hyper-V.
- Copiez les fichiers nécessaires vers la partition située sur le disque virtuel. Nous copions file01.txt, comme indiqué dans la capture d’écran ci-dessous.
- Nous devons démonter un disque virtuel de notre hôte Hyper-V après avoir copié tous les fichiers nécessaires sur le disque virtuel.
Cliquez avec le bouton droit sur la partition appropriée montée à partir du disque virtuel VHDX et cliquez sur Éjecter dans le menu contextuel.
Alternativement, la commande pour démonter un disque virtuel d’une machine hôte en PowerShell :
dismount-VHD -path C:\Hyper-V\data-temp.vhdx
- Vous pouvez monter ce disque virtuel créé pour le transfert de fichiers Hyper-V d’un hôte Hyper-V vers une machine virtuelle et vice versa. Montons un disque virtuel avec des fichiers écrits sur la machine virtuelle.
- Sélectionnez la VM nécessaire et ouvrez Paramètres VM dans Gestionnaire Hyper-V.
- Sélectionnez le contrôleur de disque virtuel nécessaire dans le volet de gauche de la fenêtre des paramètres de la VM.
- Sélectionnez Disque dur et cliquez sur Ajouter.
- Sélectionnez Disque dur virtuel et cliquez sur Parcourir pour ajouter le disque dur virtuel existant à la VM.
- Spécifiez le chemin VHDX. Dans notre cas, le chemin est C:\Hyper-V\data-temp.vhdx
- Appuyez sur OK pour enregistrer les paramètres.
Alternativement, voici la commande PowerShell pour ajouter un disque dur virtuel existant à une configuration de VM Hyper-V :
Ajouter-VMHardDiskDrive -VMName VM2 -Path C:\Hyper-V\data-temp.vhdx
- Démarrez la machine virtuelle avec le disque virtuel attaché sur votre hôte Hyper-V.
- Connectez-vous à un système d’exploitation invité et vérifiez si le volume situé sur le disque virtuel a été monté automatiquement. Sinon, accédez à Gestion de l’ordinateur > Gestion des disques et attribuez une lettre de disque au volume contenant les fichiers que vous devez transférer de l’hôte Hyper-V à la VM.
- Copiez les fichiers nécessaires du disque virtuel attaché à la machine virtuelle.
Méthode 6 : Connexion VM avec mode de session amélioré
VMConnect, ou Virtual Machine Connection, est un outil Hyper-V intégré pour gérer les machines virtuelles. Un écran fonctionnant comme un moniteur pour la machine virtuelle, où vous pouvez voir comment naviguer avec un clavier et une souris, fait partie de l’outil VMConnect. L’utilisation de VMConnect avec le mode session améliorée est plus pratique et offre plus de fonctionnalités.
Le mode session améliorée vous permet de personnaliser la résolution de l’écran lors de la connexion à une machine virtuelle et d’attacher des ressources locales d’un hôte sur lequel vous exécutez Hyper-V Manager pour gérer les machines virtuelles. Les ressources locales sont attachées de manière similaire à l’utilisation d’une connexion Bureau à distance pour accéder à un hôte ou une machine virtuelle à distance.
Pour activer le mode session améliorée:
- Cliquez avec le bouton droit sur le nom de votre hôte Hyper-V dans Hyper-V Manager et, dans le menu contextuel, cliquez sur Paramètres Hyper-V.
- Cliquez sur Mode session améliorée dans le volet de gauche
- Sélectionnez la case à cocher Utiliser le mode session améliorée
Alternativement, activez le mode session améliorée dans PowerShell:
Set-VMHost -EnableEnhancedSessionMode $True
Une fois que le mode session améliorée est activé et que tout est configuré pour cela dans la machine virtuelle invitée et le serveur Hyper-V, vous pouvez démarrer la machine virtuelle et vous connecter à cette machine virtuelle avec VMConnect.
Vous devriez voir la fenêtre pour sélectionner la résolution d’affichage si le mode session améliorée est activé. Cliquez sur Afficher les options dans cette fenêtre.
Sélectionnez l’onglet Ressources locales. Cliquez sur Plus dans la section Périphériques et ressources locaux.
Sélectionnez les disques disponibles sur votre hôte Hyper-V que vous souhaitez connecter à une VM.
Méthode 7 : Transfert de fichiers Hyper-V à l’aide d’images ISO
Une autre méthode pour copier des fichiers vers une machine virtuelle Hyper-V est similaire à l’utilisation d’un disque virtuel VHDX. Cependant, celle-ci ne fonctionne que dans un sens (copie des fichiers Hyper-V vers la VM), et l’accès aux fichiers depuis la VM est en lecture seule.
Si vous disposez d’une application capable de modifier et d’écrire des fichiers ISO qui sont des fichiers d’image CD/DVD, vous pouvez écrire les fichiers nécessaires sur votre hôte Hyper-V dans l’image ISO et insérer cette image ISO en tant que support DVD virtuel dans la VM.
Si vous devez copier une image ISO bootable sur votre machine virtuelle (par exemple, lors de tests de virtualisation imbriquée), vous devriez créer un nouveau fichier d’image ISO non bootable vide et ajouter un fichier d’image ISO bootable à cette image. Ensuite, vous pouvez copier l’image ISO bootable à partir du fichier ISO externe inséré dans le lecteur DVD virtuel de la VM.
Conclusion
Quelle que soit la méthode que vous utilisez pour copier des fichiers vers le serveur Hyper-V, il n’est pas recommandé de l’utiliser à des fins de sauvegarde. Ces méthodes ne sont pas aussi efficaces et fiables que les solutions de sauvegarde Hyper-V professionnelles. Les solutions de sauvegarde VM Hyper-V d’aujourd’hui, telles que NAKIVO Backup & Replication, créent des sauvegardes au niveau de l’hôte qui sont petites, rapides et faciles à récupérer.
Source:
https://www.nakivo.com/blog/copy-files-to-hyper-v-server/