Comment importer, exporter et cloner des machines virtuelles dans Hyper-V

Le clonage de machines virtuelles sous Hyper-V peut s’avérer complexe, d’autant plus qu’Hyper-V ne dispose pas d’une fonction de clonage native, contrairement à certains autres hyperviseurs. En pratique, il faut se contenter d’exporter/importer la machine ou d’utiliser des astuces PowerShell. Si vous souhaitez créer une copie complète d’une machine virtuelle existante à des fins de test ou de sauvegarde, une bonne maîtrise de la procédure vous évitera bien des tracas. De plus, lors du clonage d’une machine virtuelle Windows, il est impératif d’exécuter sysprep au préalable, sous peine de voir apparaître des SID dupliqués et d’éventuels conflits de domaine. Pas de quoi se réjouir !

Comment cloner une machine virtuelle Hyper-V à l’aide des fonctions d’exportation et d’importation

Exportez d’abord la machine virtuelle — c’est souvent la méthode la plus simple.

  • Ouvrez le Gestionnaire Hyper-V.
  • Faites un clic droit sur votre machine virtuelle et choisissez Exporter.
  • Sélectionnez un dossier où vous souhaitez enregistrer les fichiers exportés. Choisissez un emplacement simple comme C:\HyperVExports\VMName
  • Sur les versions récentes de Windows Server, il est possible d’exporter une machine virtuelle en cours d’exécution sans l’arrêter. Le fonctionnement est assez étrange, mais sur certaines configurations, il peut être nécessaire de l’arrêter au préalable pour éviter les erreurs.

Une fois exportée, la machine virtuelle est disponible sous forme de package, prête à être importée ou dupliquée. Vous pouvez exporter des points de contrôle spécifiques en cliquant avec le bouton droit sur l’instantané et en choisissant Exporter. Pratique pour restaurer un point précis.

Importez la machine virtuelle et créez un clone

  • Dans le Gestionnaire Hyper-V, sélectionnez Importer une machine virtuelle.
  • Sélectionnez le dossier où est stockée votre machine virtuelle exportée.
  • L’assistant vous présentera les options d’inscription :
    • Enregistrez la machine virtuelle sur place — il suffit de la lier sans rien modifier.
    • Restaurez la machine virtuelle — utilisez le même identifiant mais copiez les fichiers vers un nouvel emplacement.
    • Copiez la machine virtuelle — cela crée une copie avec un nouvel ID de machine virtuelle, ce qui est généralement ce que vous souhaitez pour un clone.

Sur certaines configurations, si vous tentez d’importer une machine virtuelle avec un ID identique à celui d’une machine virtuelle existante, une erreur de duplication d’ID s’affichera. Choisissez simplement l’ option Copier et indiquez une nouvelle destination. L’assistant générera un nouvel ID et votre machine virtuelle clonée apparaîtra dans Hyper-V.

Il faut également tenir compte de l’emplacement de stockage des disques de la machine virtuelle (les fichiers VHDX ) : vous pouvez spécifier un nouveau dossier lors de l’importation ou laisser le dossier par défaut, qui se trouve généralement dans C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Hard Disks\.

Comment cloner des machines virtuelles Hyper-V avec PowerShell

Exporter, puis importer — la méthode PowerShell

  • Pour exporter une machine virtuelle, exécutez :
  • Export-VM -Name VMName -Path 'C:\VHD\export'

  • Si vous souhaitez exporter une machine virtuelle encore en cours d’exécution, vous pouvez capturer son état en direct. Utilisez le paramètre `-CaptureLiveState`CaptureSavedState avec des options telles que `–captureLiveState` ou `–captureLiveState` CaptureCrashConsistentState. Par exemple :
  • Export-VM -Name VMName -Path 'C:\VHD\export' -CaptureLiveState CaptureCrashConsistentState

  • Pour exporter un point de contrôle spécifique, commencez par obtenir son nom :
  • Get-VMSnapshot -VMName VMName

  • Exportez ensuite le point de contrôle avec :
  • Export-VMSnapshot -Name "CheckpointName" -VMName VMName -Path 'C:\VHD\export'

Pour importer la machine virtuelle en tant que clone avec un nouvel identifiant, exécutez :

Import-VM -Path "C:\VHD\export\VMFolder\VMName.vmcx" -VhdDestinationPath "C:\VHD\newVMFolder" -VirtualMachinePath "C:\VHD\newVMFolder"

Sans options supplémentaires, l’identifiant de la machine virtuelle restera le même. Pour en générer un nouveau, procédez -GenerateNewIdcomme suit :

Import-VM -Path "C:\VHD\export\VMFolder\VMName.vmcx" -VhdDestinationPath "C:\VHD\newVMFolder" -VirtualMachinePath "C:\VHD\newVMFolder" -GenerateNewId

N’oubliez pas qu’après le clonage, vous devrez renommer la machine virtuelle et ses disques, et idéalement modifier les paramètres réseau, notamment l’adresse MAC. Utilisez des commandes comme `cd` Rename-VMet ` Set-VMNetworkAdaptercd`.

Renommer et définir de nouvelles informations réseau

  • Commencez par obtenir l’identifiant de la nouvelle machine virtuelle :
  • Get-VM | Select Name, VMId

  • Renommez la machine virtuelle avec un nom unique :
  • Rename-VM -VMId "your-new-VM-ID" -NewName "MyClonedVM"

  • Modifiez les adresses MAC pour éviter les conflits, notamment si vous utilisez le DHCP :
  • Set-VMNetworkAdapter -VMName MyClonedVM -DynamicMacAddress $true

  • Il est conseillé d’ajuster les paramètres réseau et les adresses IP afin d’éviter les doublons sur votre réseau. Vous pouvez même vous connecter directement via PowerShell, comme ceci :
  • Enter-PSSession -ComputerName MyClonedVM -Credential (Get-Credential)

Clonage de machines virtuelles à l’aide du Centre d’administration Windows

Si vous souhaitez éviter certaines manipulations en ligne de commande, les versions récentes du Centre d’administration Windows (WAC v2009 et suivantes) vous permettent de cloner des machines virtuelles directement depuis cette interface. Accédez simplement à Machines virtuelles, sélectionnez votre machine virtuelle, puis cliquez sur Gérer -> Cloner. Saisissez un nouveau nom, choisissez un dossier et patientez. La nouvelle machine virtuelle reçoit un nouvel identifiant, généralement de manière transparente.

Cette méthode est vraiment simple, surtout si vous n’êtes pas un expert en PowerShell. N’oubliez pas un point important : pour les machines virtuelles non Windows, vérifiez toujours les options de clonage afin de garantir la bonne réinitialisation des paramètres réseau et des SID. En effet, Windows a parfois tendance à compliquer les choses inutilement.

Conclure

Le clonage dans Hyper-V est un peu fastidieux, mais une fois qu’on maîtrise l’export/import ou les scripts PowerShell, ça devient gérable. L’exécution de sysprep pour les machines virtuelles Windows est une étape cruciale si vous prévoyez de les intégrer à un domaine ou d’éviter les SID en double. Enfin, surveillez les ID des machines virtuelles et les paramètres réseau par la suite pour éviter les mauvaises surprises.

Résumé

  • Exporter la machine virtuelle via le Gestionnaire Hyper-V ou PowerShell
  • Utilisez l’importation avec l’option de copie pour le clonage.
  • Renommez les machines virtuelles et les disques clonés pour plus de clarté.
  • Exécutez sysprep sur les clones Windows pour réinitialiser le SID
  • Ajustez les configurations réseau pour éviter les conflits.

Réflexions finales

Ce processus peut paraître un peu fastidieux, mais il fonctionne. Sur une configuration, l’export/import a suffi ; sur une autre, PowerShell a permis un contrôle plus précis. C’est parfois agaçant, mais au moins on peut faire des copies complètes de ses machines virtuelles. Croisons les doigts pour que cela permette à certains de gagner du temps.