19/09/2024

Découverte des services d’intégration Hyper-V

I. Présentation

Dans ce chapitre, nous allons évoquer les services d'intégration d'Hyper-V afin que vous puissiez comprendre le rôle de chacun d'entre eux et effectuer leur configuration sur vos machines virtuelles Windows et Linux.

Les services d'intégration Hyper-V sont des outils essentiels pour le bon fonctionnement des machines virtuelles sur un hôte Hyper-V. En effet, ils permettent une meilleure interaction entre l'hôte Hyper-V et les VM, améliorant ainsi les performances et la gestion des systèmes, au même titre que les VMware Tools sur un environnement VMware.

II. Le rôle des services d'intégration Hyper-V

Les services d'intégration Hyper-V sont un ensemble de pilotes et de services qui facilitent la communication entre l'hyperviseur et les machines virtuelles. Ils permettent d'améliorer les performances et de fournir des fonctionnalités telles que la synchronisation de l'heure, l'échange de données et l'arrêt propre du système invité.

À ce jour, Hyper-V prend en charge 6 services d'intégration différents :

  • Arrêt du système d'exploitation

Le service d'arrêt du système d'exploitation permet à l'hyperviseur d'envoyer une commande d'arrêt à la machine virtuelle (VM). Ainsi, il y a une réelle interaction entre l'Hyper-V et le système d'exploitation invité de la VM. Cette fonctionnalité garantit que le système d'exploitation de la VM s'arrête de manière propre, permettant ainsi de préserver l'intégrité des données du système et des applications.

  • Synchronisation date/heure

Ce service permet de synchroniser l'heure de la machine virtuelle avec celle de l'hyperviseur. Cela assure une cohérence temporelle entre l'hôte et les machines virtuelles : la date et l'heure de l'Hyper-V sera également celle des VMs.

En environnement Active Directory, je vous recommande de désactiver cette fonctionnalité sur vos VMs afin qu'elles utilisent le contrôleur de domaine Active Directory (avec le rôle FSMO d'Émulateur PDC) comme serveur de temps. Le contrôleur de domaine Émulateur PDC quant à lui doit se synchroniser sur un serveur NTP externe fiable.

  • Échange de données

Le service d'échange de données facilite la communication entre la machine virtuelle et l'hyperviseur. Il permet le transfert de fichiers et d'autres informations, ce qui simplifie la gestion et le dépannage des VM.

  • Pulsation

Le service de pulsation, que l'on appelle en anglais "Heartbeat", est utile pour surveiller l'état de santé des machines virtuelles en envoyant des "signaux" de pulsation à intervalles réguliers. Ceci permet de remonter le statut de la VM auprès d'Hyper-V. Ces informations sont visibles à partir du "Gestionnaire Hyper-V" :

Ainsi qu'avec PowerShell :

Get-VM -VMName * | Select-Object Name,State,Status

Ce service permet la création de clichés instantanés des volumes de la machine virtuelle, ce qui est très important pour les tâches de sauvegarde de VM, ainsi que pour les snapshots. Ceci limite les risques de défaillance de la VM ou de corruption de données lors de la restauration d'une image de VM.

  • Services d'invité

Ce service sert à ajouter la prise en charge de la copie des fichiers de l'Hyper-V vers une machine virtuelle, ou inversement. L'intérêt ici est de ne pas solliciter le réseau. Pour cela, le cmdlet PowerShell "Copy-VMFile" doit être utilisé.

Maintenant que nous avons compris ce que sont les services d'intégration Hyper-V, voyons comment les configurer.

III. Activer ou désactiver des services d'intégration Hyper-V

Les services d'intégration sont à configurer VM par VM, donc un service d'intégration peut être activé sur une VM et pas sur une autre. Ceci doit être effectué à partir des paramètres de la VM, via la section "Services d'intégration". Ensuite, il convient de cocher ou de décocher la case correspondante selon l'état souhaité. La liste des services contient ceux évoqués précédemment dans ce chapitre.

Voici la configuration par défaut des services d'intégration :

Configurer les services d'intégration sur une VM Hyper-V

PowerShell peut être utilisé pour activer ou désactiver un ou plusieurs services d'intégration. L'exemple ci-dessous sert à désactiver le service d'intégration "Synchronisation date/heure" sur toutes les VM :

Disable-VMIntegrationService -VMName * -Name "Synchronisation date/heure"

Bien entendu, nous pouvons cibler qu'une seule VM :

Disable-VMIntegrationService -VMName "<Nom de la VM>" -Name "Synchronisation date/heure"

La commande "Enable-VMIntegrationService" sert à activer les services d'intégration et elle fonctionne sur le même principe. Précision importante : quand vous précisez le nom du service d'intégration, vous devez utiliser le nom correspondant à la langue de l'Hyper-V. Ici, ce sont bien les noms en français qui sont utilisés. Sur un système en anglais, les noms seront différents.

IV. Installation des services d'intégration Hyper-V

L'installation des services d'intégration Hyper-V est généralement automatique lorsque vous installez un système d'exploitation pris en charge sur une machine virtuelle.

En effet, sur une VM exécutant Windows, les services d'intégration sont inclus dans les composants du système d'exploitation et sont mis à jour via Windows Update. Ainsi, c'est transparent pour l'utilisateur. Pour les VM exécutant Linux, les services d'intégration sont intégrés noyau Linux. Ainsi, il n'est pas nécessaire de procéder à l'installation et les mises à jour sont effectuées via les mises à jour de noyaux.

Remarque : avant Windows Server 2016 et Windows 10, Hyper-V était livré avec l'image ISO "vmguest.iso" pour permettre l'installation des services d'intégration dans les VMs. Désormais, ce n'est plus nécessaire (à moins d'avoir un OS sur une version antérieure) donc l'image ISO n'est plus intégrée. Ceci a également eu comme conséquence la suppression de l'option "Insérer le disque d'installation des services d'intégration" dans le menu "Action" de la console Hyper-V.

V. Afficher l'état et la version des services d'intégration Hyper-V

Chaque service d'intégration est associé à un service Windows qui lui est propre. Ces services sont visibles avec la console "Services" du système d'exploitation, mais aussi à partir de PowerShell (plus rapide). Voici la commande à exécuter dans une VM Windows :

Get-Service -Name vmic* | Format-Table -AutoSize

Ainsi, nous pouvons constater l'état de chaque service dans la VM. Il peut s'avérer utile de vérifier l'état des services en cas de dysfonctionnement ou comportement anormal d'une VM.

Vous pouvez obtenir l'état de la configuration pour une VM via la commande PowerShell suivante (à exécuter depuis l'Hyper-V en lui-même) :

Get-VMIntegrationService -VMName "<Nom de la VM>"
Get-VMIntegrationService -VMName "SRV-ADDS-01"

Pour obtenir l'état d'un service d'intégration particulier, par exemple "Synchronisation date/heure" sur toutes les VM de l'Hyper-V :

Get-VMIntegrationService -VMName * -Name "Synchronisation date/heure"

De plus, sur une machine virtuelle Windows, il est possible d'afficher la version des services d'intégration installée avec la commande suivante (à exécuter dans la VM) :

REG QUERY "HKLM\Software\Microsoft\Virtual Machine\Auto" /v IntegrationServicesVersion
Afficher la version des services d'intégration Hyper-V

Sur Linux, la commande suivante doit être utilisée pour voir si les services d'intégration sont chargés :

lsmod | grep hv_utils

Remarque : le pilote des services d’intégration Linux s'appelle "hv_utils".

VI. Conclusion

Une bonne prise en charge des systèmes d'exploitation invités et de leurs applications par Hyper-V passe par les services d'intégration Hyper-V. Tous les services d'intégration ne sont pas indispensables, notamment celui pour la synchronisation de la date et l'heure, mais certains jouent un rôle clé : "Arrêt du système d'exploitation" et "Sauvegarde (cliché instantané de volumes)" sont deux bons exemples.

Rendez-vous dans le prochain chapitre de ce cours !

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.