Comment travailler avec les fichiers VHD et VHDX de Hyper-V : Principes essentiels

La sortie de Windows Server 2012 a été chaleureusement accueillie en raison de l’introduction de plusieurs fonctionnalités de virtualisation, notamment le nouveau format de fichier VHDX. VHDX est essentiellement le successeur de VHD, mais avec des capacités plus avancées. Cependant, vous pouvez toujours créer et gérer des fichiers VHD dans votre environnement Hyper-V. Explorons les différences entre les fichiers VHD et VHDX Hyper-V, les avantages qu’ils offrent et comment ils peuvent être utilisés.

À propos des fichiers VHD et VHDX Hyper-V

Les disques virtuels créés dans l’environnement Hyper-V peuvent être stockés sous forme de fichiers au format VHD ou VHDX situés sur un disque physique. Les disques durs virtuels sont une alternative aux disques durs physiques ; ils fonctionnent comme les disques durs d’une machine virtuelle (VM). Les disques virtuels peuvent contenir un système de fichiers natif, des partitions de disque, des secteurs et des dossiers. Ils peuvent effectuer des opérations de disque et de fichier standard. Chaque VM doit avoir au moins un disque dur virtuel pouvant être utilisé comme espace de stockage pour les données de la VM.

Les versions précédentes de Windows ne prenaient en charge qu’un seul format de fichier pour les disques virtuels : VHD. En raison de l’évolution des demandes technologiques, Windows 2012 a introduit le format de fichier VHDX, qui a considérablement amélioré la capacité de stockage, les performances sur les disques à secteurs larges et assuré des niveaux de protection des données plus élevés.

Les fichiers VHD et VHDX Hyper-V peuvent être de différents types :

  • Fixe. L’espace pour le disque virtuel est attribué lors de la création du fichier VHD. Le fichier de disque dur virtuel a la même taille que le disque dur virtuel. Sa taille reste constante, quelle que soit l’ajout ou la suppression de données.
  • Expansion dynamique. L’espace pour le disque virtuel est attribué à la demande. Le disque dur virtuel a une quantité spécifiée d’espace de stockage physique qui peut potentiellement être utilisé, mais l’espace est alloué au fur et à mesure des besoins. Ainsi, la taille du fichier VHD ou VHDX augmente lorsque de nouvelles données sont ajoutées.
  • Différentiel. Ce type de disque est utilisé pour identifier, stocker, gérer et revenir sur les modifications apportées à un autre disque virtuel ou au disque parent.

Différences entre les fichiers VHD et VHDX Hyper-V

Pour mieux comprendre le fonctionnement des fichiers VHD et VHDX Hyper-V, explorons les différences entre les formats de fichier. Cela nous permettra de comprendre comment chacun d’eux peut améliorer les performances des disques virtuels. Le tableau suivant compare les deux formats :

VHD VHDX
Le format de fichier de base pris en charge par Windows, Citrix et Oracle Un format de fichier avancé pris en charge par Windows
Jusqu’à 2 To de capacité de stockage Jusqu’à 64 To de capacité de stockage
Les fichiers VHD offrent moins de protection contre la corruption des données que leurs homologues VHDX Les fichiers VHDX offrent une robuste protection contre la corruption des données en suivant les métadonnées
La prise en charge des métadonnées personnalisées n’est pas fournie Les métadonnées personnalisées sont prises en charge et peuvent être stockées
Pris en charge par Windows Server 2008, 2008 R2, 2012 et 2012 R2 Pris en charge par Windows 2012 et ultérieurs
Aucun redimensionnement en direct Le redimensionnement en direct est disponible
Taille de secteur logique de 512 octets Taille de secteur logique de 4 Ko
Problèmes d’alignement des données Meilleur alignement des données
Le trim n’est pas pris en charge Le trim est pris en charge

Comment travailler avec des fichiers VHD et VHDX Hyper-V dans PowerShellLes fichiers VHDX Hyper-V, une version plus avancée du format VHD, offrent plusieurs fonctionnalités qui ont considérablement amélioré leur utilité. Par exemple, le rognage vous permet d’identifier les blocs de données qui ne sont plus utilisés et peuvent être supprimés, ce qui améliore l’optimisation du stockage et la performance globale. Une autre fonctionnalité introduite avec le format de fichier VHDX Hyper-V est le VHDX partagé, qui permet aux VM du même cluster invité d’utiliser un fichier VHDX comme stockage partagé. De plus, les fichiers VHDX Hyper-V vous permettent de redimensionner (réduire ou développer) les disques virtuels à la demande, tandis que la VM est toujours en cours d’exécution, ce qui permet de gagner considérablement du temps et de réduire les frais généraux. Enfin, en raison d’un alignement des données amélioré, les fichiers VHDX Hyper-V peuvent considérablement améliorer les opérations d’E/S.Cependant, bien que le VHDX de Hyper-V soit une version plus avancée du format VHD, il existe toujours des cas où l’utilisation de VHD est préférable. Par exemple, les fichiers VHDX Hyper-V ne sont pas compatibles avec les versions antérieures de Windows Server. Par conséquent, si vous exécutez des environnements virtuels avec des systèmes d’exploitation invités mélangés et que vous devez déplacer des VM entre différents hôtes, le format de fichier VHD serait le choix optimal, car il est pris en charge par plus de systèmes d’exploitation.

Comment travailler avec des fichiers VHD et VHDX Hyper-V dans PowerShell

Maintenant que vous savez ce que sont les fichiers Hyper-V VHD et VHDX et les avantages qu’ils peuvent offrir, vous êtes prêt à créer et configurer vos disques durs virtuels. À cette fin, vous pouvez utiliser Hyper-V Manager ou PowerShell en mode Administrateur. Dans cet article de blog, nous décrivons comment gérer les opérations de fichiers VHD et VHDX de Hyper-V dans PowerShell. C’est la meilleure approche, car PowerShell offre plus d’options pour configurer les fichiers VHD et VHDX de Hyper-V. Vous pouvez créer, convertir, fusionner ou supprimer rapidement et facilement des disques en exécutant des scripts PowerShell.

Créer des fichiers VHD et VHDX Hyper-V

Pour créer un nouveau disque dur virtuel au format VHD ou VHDX, ouvrez PowerShell en tant qu’administrateur et exécutez la commande New-VHD. L’exemple suivant vous montre comment créer un disque dur virtuel de type dynamique à l’emplacement spécifié, d’une taille de 10 Go, d’une taille de bloc de 128 Mo et d’une taille de secteur logique de 4 Ko. Notez que c’est l’extension de fichier (.vhd ou .vhdx) qui détermine le format du fichier ; dans ce cas, un fichier VHDX est créé.

New-VHD -Path 'C:\Virtual Disks\DemoDisk.vhdx' -BlockSizeBytes 128MB -LogicalSectorSize 4KB -SizeBytes 10GB -Dynamic

Le disque dur virtuel est maintenant créé et les informations suivantes sur le disque virtuel sont affichées dans la fenêtre PowerShell.

Ajouter des fichiers VHD et VHDX Hyper-V

Avec la cmdlet Add-VMHardDiskDrive, vous pouvez ajouter un disque dur virtuel à une machine virtuelle spécifique. Dans l’exemple suivant, le disque dur virtuel DemoDisk.vhdx au chemin spécifié est attaché à la machine virtuelle nommée DemoVM. Le contrôleur SCSI, le numéro de contrôleur 0 et l’emplacement du contrôleur 1 sont également attribués au disque virtuel.

Add-VMHardDiskDrive -VMName DemoVM -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 1 -Path 'C:\Virtual Disks\DemoDisk.vhdx'

 Supprimer les fichiers VHD et VHDX Hyper-V

La commande Remove-VMHardDiskDrive est utilisée pour supprimer un disque dur virtuel d’une machine virtuelle. Pour démontrer le fonctionnement de cette cmdlet, voici comment supprimer le disque créé juste auparavant:

Remove-VMHardDiskDrive -VMName DemoVM -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 1

En utilisant ces cmdlets, vous pouvez facilement créer et supprimer des disques virtuels avec les paramètres requis et les attacher à des machines virtuelles spécifiques.

Convertir les fichiers VHD et VHDX Hyper-V

Les fichiers VHDX offrent de nombreux avantages par rapport à leurs prédécesseurs VHD. Ainsi, dans de nombreux cas, il est conseillé de convertir tous les fichiers VHD au format VHDX. Pour mettre à niveau les fichiers VHD Hyper-V en VHDX, il suffit d’exécuter la commande Convert-VHD, qui vous permet de changer le format de fichier tout en sauvegardant le contenu du disque dur virtuel source. Les données du disque dur virtuel source sont copiées vers un nouveau disque du format requis. L’opération doit être effectuée hors ligne ; il est recommandé de détacher le disque dur virtuel. L’exemple ci-dessous montre la commande qui permet la conversion des fichiers VHD Hyper-V en VHDX :

Convert-VHD -Path ‘C:\Nouveaux Disques Virtuels\Fixed Disk.vhd’ -DestinationPath ‘C:\Nouveaux Disques Virtuels\Fixed Disk.vhdx’

Cependant, rappelons que les fichiers VHDX sont uniquement compatibles avec Windows Server 2012 et versions ultérieures. Ainsi, vous pourriez avoir besoin de convertir les fichiers VHDX Hyper-V en VHD. Dans ce cas, la même commande Convert-VHD peut être utilisée, simplement à l’envers. N’oubliez pas que le disque dur virtuel doit être détaché avant d’effectuer l’opération.

Convert-VHD -Path ‘C:\Disques Virtuels\DemoDisk.vhdx’ ‘C:\Disques Virtuels\DemoDisk.vhd’

Fusionner les fichiers VHD et VHDX Hyper-V

Comme mentionné ci-dessus, les disques de différenciation sont utilisés pour stocker et revenir sur les modifications apportées à un autre VHD ou à un système d’exploitation invité. Chaque disque de différenciation suit et stocke les modifications apportées à un disque virtuel associé. Dans ce cas, le disque de différenciation est appelé un « disque enfant » et le disque dur virtuel est appelé un « disque parent ». Avec la cmdlet Merge-VHD, vous pouvez fusionner les modifications stockées dans un disque de différenciation dans le disque parent ou dans un autre disque enfant de la chaîne de disques de différenciation. Notez que cette opération est effectuée hors ligne; assurez-vous que la chaîne de disques est détachée.

Pour fusionner le disque dur virtuel enfant dans le disque dur virtuel parent, exécutez la cmdlet suivante. Notez que une fois que l’opération est terminée et que le contenu du disque enfant est transféré dans le parent, le disque de différenciation est détruit.

Merge-VHD -Path ‘C:\Virtual Storage\Differencing.vhdx’

Dans l’exemple suivant, nous avons un disque parent, maindisk.vhdx, et un disque enfant, ChDisk1.vhdx, qui lui-même a un enfant: ChDisk2.vhdx. Ce dernier disque virtuel a même son propre enfant, ChDisk3.vhdx. Ensemble, ces disques constituent la chaîne de différenciation. La cmdlet suivante peut être utilisée pour fusionner les disques durs virtuels enfants dans la chaîne de disques.

Merge-VHD -Path ‘C:\VM Testing\ChDisk3.vhdx’ -DestinationPath ‘C:\VM Testing\ChDisk1.vhdx’

À travers cette opération, les données de ChDisk3.vhdx et ChDisk2.vhdx sont fusionnées dans ChDisk1.vhdx. Le script PowerShell simplifie le processus de fusion des disques durs virtuels; toute l’opération peut être effectuée en une seule exécution, quelle que soit la taille de la chaîne de différences. C’est un avantage de Powershell – avec le Gestionnaire Hyper-V, vous n’êtes pas autorisé à fusionner plusieurs couches de la chaîne de disque de différenciation en une seule fois. Vous devriez fusionner chaque couche de la chaîne de disque de différenciation manuellement, et ces étapes supplémentaires vous coûteraient du temps et des efforts.

Monter des fichiers VHD et VHDX Hyper-V

La cmdlet Mount-VHD vous permet de monter un ou plusieurs disques durs virtuels. L’exemple suivant montre comment monter un disque dur virtuel avec le chemin C:\Disques Virtuels\DemoDisk.vhdx.

Mount-VHD -Path ‘C:\Disques Virtuels\DemoDisk.vhdx’

En utilisant des scripts PowerShell, vous pouvez monter un disque dur virtuel en mode lecture seule :

Mount-VHD -Path ‘C:\Disques Virtuels\DemoDisk.vhdx’ -ReadOnly

Démonter des fichiers VHD et VHDX Hyper-V

Si vous souhaitez démonter un disque dur virtuel, exécutez la cmdlet Dismount-VHD dans PowerShell. Dans l’exemple ci-dessous, vous pouvez voir comment démonter le disque dur virtuel avec le chemin C:\Disques Virtuels\DemoDisk.vhdx.

Dismount-VHD -Path ‘C:\Disques Virtuels\DemoDisk.vhdx’

Une autre option est de démonter le disque dur virtuel en utilisant le numéro de disque du disque monté, comme suit :

Dismount-VHD -DiskNumber 8

Redimensionner les fichiers Hyper-V VHD et VHDX

Si vous souhaitez redimensionner (réduire ou étendre) un disque dur virtuel, la cmdlet Resize-VHD doit être utilisée. L’exemple suivant montre comment redimensionner un disque dur virtuel en lui attribuant une nouvelle taille spécifiée. Dans ce cas, nous avons étendu le VHDX de 10 Go à 20 Go :

Resize-VHD -Path 'C:\Disques Virtuels\DemoDisk.vhdx' -SizeBytes 20GB

Cependant, le rétrécissement n’est disponible que pour les fichiers VHDX. Notez que le disque dur virtuel ne doit pas être réduit à une taille inférieure à sa taille minimale spécifiée. Pour voir la taille minimale du disque dur virtuel, exécutez la cmdlet suivante :

Get-VHD -Path 'C:\Disques Durs Virtuels\demovdisk.vhdx’

Vous pouvez utiliser la commande suivante pour réduire le fichier VHDX à sa taille minimale :

Resize-VHD -Path 'C:\Disques Durs Virtuels\demovdisk.vhdx’ -ToMinimumSize

Conclusion

Les fichiers Hyper-V VHD et VHDX jouent un rôle significatif dans les environnements virtuels car ils fonctionnent comme les disques durs d’une machine virtuelle. Le format de fichier VHD était utilisé depuis longtemps, mais pour suivre les progrès constants de la technologie de virtualisation, Microsoft a introduit une version plus avancée. Ainsi, le format de fichier VHDX a été publié avec Windows Server 2012 pour améliorer les performances des disques physiques à secteurs larges, augmenter la capacité de stockage et garantir la protection des données.

Après avoir comparé toutes les fonctionnalités offertes par les fichiers VHD et VHDX de Hyper-V, il est sûr de dire que le VHDX de Hyper-V est un format de fichier plus efficace et fiable conçu pour répondre aux exigences de performance des environnements virtuels modernes.

Assurez-vous de protéger vos disques VHD et VHDX avec une solution de protection des données adaptée à l’infrastructure virtualisée. Considérez NAKIVO Backup & Replication, qui est une solution rapide et économique offrant plusieurs options pour sécuriser les environnements Hyper-V, VMware, AWS EC2 et Microsoft 365.

Source:
https://www.nakivo.com/blog/work-hyper-v-vhd-vhdx-files-essential-basics/