Comment réaliser le déploiement de périphériques graphiques à l’aide de RemoteFX vGPU

L’installation d’une accélération vidéo et d’une carte graphique sur un ordinateur physique pour améliorer les performances et la qualité d’image est une tâche courante. Mais que faire lorsque vous devez exécuter des applications de rendu vidéo ou de modélisation 3D sur une VM et que vous avez besoin d’une accélération vidéo matérielle et d’une carte graphique ?

En ce qui concerne les VMs, les ressources matérielles sont partagées entre les machines virtuelles pour une utilisation flexible et rationnelle des ressources. Si une machine virtuelle exécute des applications lourdes, elle peut consommer plus de ressources de processeur et de mémoire que d’autres VMs qui sont inactives ou qui exécutent des opérations moins gourmandes en ressources. De plus, les VMs n’utilisent que des fonctionnalités vidéo de base pour afficher les données par défaut. Dans un environnement Microsoft Hyper-V, vous pouvez utiliser Hyper-V RemoteFX pour permettre aux VMs de partager les ressources d’une carte vidéo et l’accélération 3D.

Lisez cet article de blog pour en savoir plus sur Hyper-V RemoteFX et sur la configuration de RemoteFX sur les machines Windows.

NAKIVO for Hyper-V Backup

NAKIVO for Hyper-V Backup

Agentless, application-aware backups for Hyper-V. Anti-ransomware protection, instant VM boot from backup, other virtual/physical platform support and more.

Qu’est-ce que RemoteFX

RemoteFX est une fonctionnalité qui permet aux machines virtuelles Hyper-V de partager un GPU (processeur graphique) physique. Les ressources d’une carte vidéo sont partagées entre plusieurs VMs. Il s’agit du scénario optimal pour les charges de travail à forte intensité lorsque les ressources dédiées d’une carte vidéo ne sont pas nécessaires en permanence. Hyper-V RemoteFX peut être utilisé pour réaliser le déploiement d’une infrastructure de bureau virtuel (VDI). Un GPU RemoteFX est un périphérique virtuel connecté à une machine virtuelle qui partage les ressources d’une carte vidéo physique installée sur un hôte Hyper-V (partage le GPU et la mémoire vidéo).

RemoteFX a été introduit dans Windows 7 et est disponible dans Windows 8, Windows 10, Windows Server 2008 R2 SP1, Windows Server 2012 et Windows Server 2016. Cette fonctionnalité n’est pas présente dans Hyper-V Manager dans la dernière version de Windows Server 2019. Vous ne pouvez pas activer Hyper-V RemoteFX dans l’interface utilisateur graphique (GUI). L’utilisation de RemoteFX réduit la charge du processeur (unité centrale de traitement) et augmente l’évolutivité dans un environnement virtuel. Vous n’avez pas besoin de connecter un GPU dédié pour chaque machine virtuelle lorsque vous utilisez Hyper-V RemoteFX, car les machines virtuelles peuvent partager dynamiquement le GPU pour la charge de travail.

Le rendu vidéo, le traitement d’images lourdes, l’utilisation d’applications de CAO et la modélisation 3D sont quelques-uns des cas d’utilisation où vous pouvez avoir besoin d’une accélération 3D et d’un GPU RemoteFX dans une machine virtuelle. Un GPU moderne est mieux adapté au traitement parallèle que le processeur, gère plus de menaces simultanément et dispose de plus de cœurs de traitement. Le nombre de moniteurs et les résolutions utilisées dépendent de la mémoire vidéo et des performances du GPU d’une carte vidéo. Utilisez Remote Desktop, et non VMConnect (Virtual Machine Connection), pour vous connecter à des VMs à l’aide de RemoteFX.

L’avantage de RemoteFX est qu’il peut être utilisé sur les versions Windows pour ordinateurs de bureau et serveurs. S’il n’est pas toujours facile d’acheter une carte vidéo prise en charge et compatible avec le matériel serveur, la plupart des ordinateurs de bureau qui exécutent généralement des systèmes d’exploitation Windows clients sont équipés de cartes graphiques PCI Express.

Fin du support

Il existe une vulnérabilité (CVE-2020-1036) qui peut être exploitée par des cybercriminels pour exécuter du code à distance. Les pirates peuvent exécuter du code à distance sur une machine hôte en utilisant des applications spécialement conçues sur une machine virtuelle avec GPU RemoteFX pour attaquer les pilotes vidéo sur un hôte Hyper-V. Dans ce cas, un serveur hôte ne peut pas valider correctement les entrées provenant d’un utilisateur authentifié sur un système d’exploitation invité. Microsoft ne fournit pas de correctif pour corriger cette vulnérabilité et affirme qu’il s’agit d’un problème d’architecture. En raison de ces problèmes de sécurité, Microsoft a décidé de désactiver et d’enlever RemoteFX de toutes les versions de Windows à l’aide de mises à jour automatiques :

  • RemoteFX vGPU a été désactivé le 14 juillet 2020 pour toutes les versions de Windows.
  • RemoteFX vGPU a été enlevé le 13 avril 2021.

RemoteFX fonctionne sous Windows 10 version 1803 et les versions antérieures de Windows (peut être configuré en quelques clics dans l’interface graphique de Hyper-V Manager). Après la mise à jour KB4571756 (une mise à jour cumulative publiée en septembre 2020), cette fonctionnalité est désactivée dans l’interface graphique. Par conséquent, la configuration de Windows 10 RemoteFX n’est pas disponible dans l’interface graphique du gestionnaire Hyper-V dans Windows 10, version 1809, car la fonctionnalité a été désactivée. Jusqu’aux mises à jour d’avril 2021, RemoteFX GPU devait être activé dans PowerShell à l’aide de commandes spéciales.

Conditions à remplir pour RemoteFX

  • Une version Windows prise en charge sur un hôte Hyper-V (Windows 7 Ultimate/Enterprise, Windows 8 Ultimate/Enterprise, Windows 10 ; Windows Server 2008 R2 SP1, Windows Server 2012, Windows Server 2016, Windows Server 2019). Les mises à jour enlevant Hyper-V RemoteFX ne doivent pas être installées.
  • Une carte graphique doit être compatible avec DirectX 11 sur une machine hôte (DirectX 10 peut être utilisé sur Windows Server 2008 et Windows 7 installés sur des machines physiques). Si plusieurs cartes vidéo sont installées sur l’hôte Hyper-V, elles doivent être identiques. DirectX 11 est disponible sur Windows 8.1 et les versions Windows plus récentes sur les VMs.
  • Un processeur doit prendre en charge SLAT (Second Level Address Translation). Le nom de cette fonctionnalité est Extended Page Tables (EPT) pour les processeurs Intel et Nested Page Tables (NPT) pour les processeurs AMD.
  • Les systèmes d’exploitation invités pris en charge sont Windows 7 SP1, Windows 8 et 8.1, Windows 10 1703 ou version ultérieure, Windows Server 2008 R2, Windows Server 2012, Windows Server 2016 (dans le cadre d’un déploiement à session unique uniquement).

Comment configurer RemoteFX

Préparez la machine physique qui sert d’hôte Hyper-V. Assurez-vous d’avoir installé les pilotes graphiques pour une carte graphique sur l’hôte Hyper-V. Il est recommandé d’installer la dernière version stable des pilotes fournis par le fournisseur de votre GPU (par exemple, NVIDIA ou AMD).

Préparez une machine virtuelle exécutant une version prise en charge de Windows pour utiliser Hyper-V RemoteFX. Dans mon exemple, le nom de la machine virtuelle est Windows-VM et le nom de l’hôte Hyper-V est Hyper-V-prim.

Installation des fonctionnalités requises

Installez le service Hôte de virtualisation de bureau à distance sur l’hôte Hyper-V.

Ouvrez le Gestionnaire de serveur, et cliquez sur Gérer > Ajouter des rôles et des fonctionnalités.

L’assistant Ajouter des rôles et des fonctionnalités s’ouvre.

Type d’installation. Sélectionnez Installation basée sur les rôles ou les fonctionnalités. Cliquez sur Suivant à chaque étape de l’assistant pour continuer.

Installing roles and features in Windows

Sélection du serveur. Sélectionnez un serveur dans le pool de serveurs. Assurez-vous que votre hôte Hyper-V est sélectionné.

Selecting a server to install a role or feature

Rôles de serveur. Sélectionnez Services Bureau à distance dans la liste des rôles. Si le rôle Hyper-V n’est pas installé, sélectionnez et installez le rôle Hyper-V.

Installing Remote Desktop Services to use Microsoft RemoteFX on Hyper-V

Fonctionnalités. Ignorez cette étape.

Services Bureau à distance. Lisez l’explication et passez à l’étape suivante.

Services de rôle. Sélectionnez Hôte de virtualisation de bureau à distance. Vous pouvez lire la description dans le volet droit.

Installing the Remote Desktop Virtualization Host service to use RemoteFX

Redémarrez l’hôte Hyper-V une fois l’installation du Rôle terminée.

Configuration des paramètres Hyper-V

Ouvrez Hyper-V Manager en exécutant virtmgmt par la ligne de commande ou à l’aide de l’interface graphique Windows. Ouvrez ensuite Paramètres Hyper-V.

Dans le volet de navigation de la fenêtre Paramètres Hyper-V , cliquez sur GPU physiques. Dans le menu déroulant, sélectionnez votre carte vidéo, puis cochez la case Utiliser ce GPU avec RemoteFX .

Selecting a video card to use the GPU with RemoteFX

Si vous ne pouvez pas cocher cette case, cela signifie que votre carte vidéo ne peut pas être utilisée pour RemoteFX ou que RemoteFX est désactivé.

Arrêtez la machine virtuelle.

Ouvrez Hyper-V Manager, sélectionnez votre machine virtuelle, cliquez avec le bouton droit sur la machine virtuelle et ouvrez Paramètres de la machine virtuelle.

Dans la fenêtre Paramètres de la machine virtuelle , cliquez sur Ajouter du matériel dans le volet gauche (le volet de navigation). Dans le volet droit, vous voyez une liste des appliances que vous pouvez ajouter à une machine virtuelle. Le processus est similaire pour les Virtuelles Maschinen de génération 1 et de génération 2.

Si un adaptateur vidéo RemoteFX 3D est actif (une police noire est utilisée), sélectionnez cet adaptateur et cliquez sur Ajouter. Cette option est active dans les versions Windows jusqu’au 14 juillet 2020, les mises à jour sont installées.

Si votre Windows a été mis à jour, l’option Adaptateur vidéo 3D RemoteFX est inactive (une police grise est utilisée) et vous ne pouvez pas ajouter cet adaptateur dans l’interface graphique du Gestionnaire Hyper-V. Dans le même temps, l’option GPU physiques n’apparaît plus dans Paramètres Hyper-V.

Configuring virtual hardware for a VM – adding a RemoteFX 3D Video Adapter

Vous pouvez corriger cela dans PowerShell.

Exécutez la commande dans PowerShell sur l’hôte Hyper-V pour ajouter une carte vidéo RemoteFX 3D à une machine virtuelle :

Add-VMRemoteFx3dVideoAdapter -VMName your_VM_name

Si la commande est exécutée avec succès, un message d’avertissement s’affiche.

AVERTISSEMENT : nous n’effectuons plus la prise en charge de la carte vidéo RemoteFX 3D. Si vous utilisez toujours cette carte, vous risquez d’être exposé à des risques de sécurité.

Si vous voyez l’erreur : Add-VMRemoteFx3dVideoAdapter : pour activer ce périphérique, utilisez le Gestionnaire de serveur pour installer le service de rôle Hôte de virtualisation de Bureau à distance

Le service de virtualisation de Bureau à distance n’est pas installé sur l’hôte Hyper-V. Voir Installation des fonctionnalités requises plus haut dans cet article.

Activation de Windows 10 RemoteFX après l’installation des mises à jour

Comme je l’ai mentionné précédemment, si les mises à jour Windows du 14 juillet 2020 sont installées, Microsoft RemoteFX est désactivé. Si vous avez des VMs configurées pour utiliser RemoteFX, elles ne démarreront pas. L’erreur Windows 10 RemoteFX suivante pour Windows 10 avec la mise à jour du 14 juillet 2020 s’affiche lorsque vous essayez de démarrer une machine virtuelle :

Une erreur s’est produite lors de la tentative de démarrage de la ou des machines virtuelles sélectionnées :

« VM-Name » n’a pas pu démarrer.

Contrôleur d’affichage 3D synthétique (ID d’instance xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) : échec de la mise sous tension avec l’erreur « Les ressources système sont insuffisantes pour effectuer le service demandé. ».

La machine virtuelle ne peut pas être démarrée car tous les GPU compatibles RemoteFX sont désactivés dans Hyper-V Manager. Vous devez activer au moins un GPU.

Autre variante de l’erreur :

La machine virtuelle ne peut pas être démarrée car le serveur dispose de ressources GPU insuffisantes.

Vous pouvez corriger cela dans PowerShell. Cette méthode est applicable pour Windows 10 et les versions appropriées de Windows Server. Utilisez les commandes dans PowerShell pour corriger cette erreur et activer RemoteFX. Exécutez cette commande pour vérifier les informations sur la carte vidéo sur l’hôte Hyper-V :

Get-VMRemoteFXPhysicalVideoAdapter

Recherchez cette chaîne :

Enabled: False

Cela signifie que RemoteFX est désactivé. Modifiez cette valeur pour True.

Windows 10 RemoteFX configuration in PowerShell

Copiez le nom de la carte vidéo (dans mon exemple, NVIDIA GeForce GTX 1060).

Exécutez la commande :

Enable-VMRemoteFXPhysicalVideoAdapter -Name "video_card_name"

Entrez le nom de votre carte graphique.

Essayez de démarrer à nouveau votre machine virtuelle à l’aide de RemoteFX. La machine virtuelle devrait maintenant démarrer.

Notez également ces applets de commande PowerShell pour gérer une carte vidéo 3D RemoteFX :

Set-VMRemoteFx3dVideoAdapter

Get-VMRemoteFXPhysicalVideoAdapter

Après avoir ajouté une carte vidéo RemoteFX 3D à une machine virtuelle, cette carte doit apparaître dans la liste du matériel de la machine virtuelle avec des options permettant de définir la résolution, le nombre de moniteurs et la mémoire vidéo dédiée.

Si ces options n’apparaissent pas dans l’interface graphique du Gestionnaire Hyper-V, utilisez des paramètres supplémentaires lorsque vous ajoutez une carte vidéo RemoteFX à une machine virtuelle dans PowerShell, par exemple :

Set-VMRemoteFx3dVideoAdapter -VMName Windows-VM -MaximumResolution 1024x768 -VRAMSizeBytes 536870912

Si Microsoft RemoteFX a été configuré avec succès, dans le Windows invité qui s’exécute sur la machine virtuelle, vous verrez apparaître un périphérique Microsoft RemoteFX Graphics Device – WDDM dans la section Display Adapters du Device Manager. Cette carte vidéo RemoteFX 3D est une appliance virtuelle qui partage les ressources de la carte vidéo physique installée sur l’hôte Hyper-V physique par l’intermédiaire de RemoteFX.

Dépannage

Parfois, des erreurs supplémentaires peuvent se produire. Je vais vous expliquer une erreur courante qui se produit lorsqu’un utilisateur ne parvient pas à se connecter à une machine virtuelle en cours d’exécution à l’aide de Remote Desktop RemoteFX.

Symptômes :

  1. La connexion vidéo à distance a été interrompue et le message approprié s’affiche.
  2. Échec de la connexion RDP : votre session Bureau à distance a été interrompue, probablement pour l’une des raisons suivantes.

Si cette erreur s’est produite sur votre machine virtuelle, modifiez une politique de groupe dans le Windows invité sur la machine virtuelle.

Cliquez sur Démarrer > Exécuter > gpedit.msc pour ouvrir l’éditeur de politique de groupe pour un ordinateur local.

Dans le volet gauche de la fenêtre Éditeur de politique de groupe , accédez à

Configuration de l’ordinateur > Modèles d’administration > Composants Windows > Services Bureau à distance > Hôte de session Bureau à distance > Environnement de session à distance > RemoteFX pour Windows Server. Double-cliquez sur Configurer RemoteFX dans le volet droit de la fenêtre.

Une fenêtre avec Configurer RemoteFX propriétés s’ouvre. Sélectionnez Activé, puis cliquez sur OK pour enregistrer les paramètres.

Double-cliquez sur Utiliser le pilote graphique WDDM pour les connexions Bureau à distance (disponible pour Windows 10 version 1903 et les versions Windows plus récentes).

Dans la fenêtre qui s’ouvre, sélectionnez Désactivé, puis cliquez sur OK.

Mettez à jour la configuration des politiques de groupe pour appliquer les nouveaux paramètres à l’aide de la commande :

gpupdate /force

Redémarrez votre machine virtuelle. Essayez de vous connecter à votre machine virtuelle à l’aide du mode de session amélioré.

Comment empêcher la désactivation de RemoteFX sur un hôte Hyper-V

Après l’installation de la version Windows publiée en avril 2021, les VMs utilisant une carte vidéo RemoteFX 3D ne démarrent plus. Vous pouvez désactiver les mises à jour automatiques sur les ordinateurs Windows à vos propres risques pour continuer à utiliser RemoteFX. Notez que les correctifs de sécurité ne sont pas installés automatiquement sur les machines Windows si les mises à jour Windows sont désactivées. Les vulnérabilités non corrigées constituent une menace pour vos ordinateurs, qui risquent alors d’être infectés par du ransomware, des virus et d’autres logiciels malveillants.

Vous pouvez télécharger manuellement les mises à jour Windows (correctifs) depuis le site Microsoft et les installer. Renseignez-vous sur les mises à jour Windows destinées à enlever RemoteFX et ne les installez pas. Envisagez de déployer WSUS (Windows Server Update Services) dans votre organisation et désélectionnez les mises à jour dont vous n’avez pas besoin.

N’oubliez pas de sauvegarder vos serveurs Windows et vos machines virtuelles Hyper-V. En cas de sinistre ou d’attaque par ransomware, une sauvegarde vous permet de réaliser la récupération de vos données, de restaurer vos Workloads et de reprendre vos opérations en peu de temps. Utilisez NAKIVO Backup & Réplication pour sauvegarder vos machines physiques et virtuelles.

Try NAKIVO Backup & Replication

Try NAKIVO Backup & Replication

Get a free trial to explore all the solution’s data protection capabilities. 15 days for free. Zero feature or capacity limitations. No credit card required.

Alternatives à Hyper-V RemoteFX

Microsoft recommande à ses clients d’utiliser DDA à la place de RemoteFX après avril 2021.

DDA (Discrete Device Assignment) est une fonctionnalité qui vous permet de connecter une appliance (dans mon cas, une appliance PCI Express) directement à une machine virtuelle. Dans le cas d’une carte graphique, celle-ci doit être déconnectée de la machine hôte et connectée à une machine virtuelle. Une seule machine virtuelle peut utiliser une carte vidéo avec DDA à un moment donné.

Un pilote vidéo pour un GPU doit être installé sur le système d’exploitation invité d’une machine virtuelle, et non sur une machine hôte. Dans ce cas, des fonctionnalités telles que DirectX 12 et CUDA (Compute Unified Device Architecture) sont disponibles sur une machine virtuelle (CUDA n’est pas disponible sur une machine virtuelle lorsque vous utilisez RemoteFX). Lorsque vous utilisez Direct Device Assignment, la migration de machines virtuelles entre des hôtes Hyper-V n’est pas possible.

Envisagez d’utiliser des alternatives VMware pour les serveurs et les ordinateurs de bureau exécutant des VMs. Utilisez l’accélération graphique partagée virtuelle (vSGA) et l’accélération graphique partagée virtuelle dans VMware vSphere pour partager le GPU avec plusieurs VMs. Utilisez des cartes vidéo compatibles qui prennent en charge la virtualisation GPU et disposent des fonctionnalités matérielles appropriées :

  • nVidia GRID vGPU
  • AMD Multiuser GPU

Vous pouvez activer les graphiques 3D accélérés pour une machine virtuelle dans VMware Workstation si vous utilisez un ordinateur de bureau plutôt qu’un serveur.

Conclusion

Hyper-V RemoteFX est une fonctionnalité utile qui permet aux VMs de partager les ressources matérielles d’une carte vidéo physique installée sur un hôte Hyper-V et d’utiliser l’accélération 3D pour les applications sur les machines virtuelles. Pour configurer RemoteFX sur une machine virtuelle, installez le service Hôte de virtualisation du Bureau à distance sur l’hôte Hyper-V, modifiez les paramètres généraux Hyper-V pour sélectionner le GPU qui doit être utilisé pour l’accélération vidéo, et ajoutez une carte vidéo RemoteFX 3D dans les options matérielles virtuelles de la machine virtuelle. Malheureusement, Hyper-V RemoteFX est déprécié par Microsoft, et l’utilisation de RemoteFX n’est possible que jusqu’à l’installation des mises à jour Windows d’avril 2021.

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