Accueil Entreprise Guide vGPU Proxmox : votre GPU mérite plus qu'un simple transfert

Guide vGPU Proxmox : votre GPU mérite plus qu'un simple transfert

by André Waag

Découvrez comment configurer Proxmox vGPU pour l'IA, le VDI et le rendu avec une configuration, des tests et des informations sur les performances étape par étape.

Proxmox Server Solutions a récemment annoncé la prise en charge du vGPU NVIDIA pour son hyperviseur d'environnement virtuel (VE), ouvrant ainsi la voie à de nouvelles possibilités d'accélération GPU pour le rendu, la VDI, l'IA et d'autres applications. Rejoignez-nous pour découvrir les nouvelles fonctionnalités de l'hyperviseur et évaluer ses performances.

Quel est le problème avec la prise en charge du vGPU ?

Si vous ne connaissez pas le logiciel vGPU de NVIDIA, sachez qu'il permet de partitionner et de répartir les ressources de calcul et de mémoire d'un GPU entre plusieurs machines virtuelles (VM). Dans cette configuration, les VM utilisent alternativement la puissance de traitement du GPU et allouent une partie de la mémoire de la carte à leurs besoins. Cette approche permet au GPU de maintenir une utilisation maximale, même lorsque les charges de travail des VM invitées varient en intensité.

Installation du Proxmox vGPU L40S

Avant de commencer… (Prérequis)

Vous aurez besoin de quelques éléments avant de lancer un environnement de virtualisation GPU dans Proxmox VE (PVE). Comme de nombreux outils pour centres de données, le logiciel vGPU de NVIDIA n'est pas gratuit. Vous devrez achat or inscrivez-vous à la version d'évaluation de leur logiciel GPU virtuel et créez un compte NVIDIA Enterprise. Ensuite, vous devez obtenir un carte compatible vGPU et téléchargez les pilotes appropriés à partir du portail de licenceTéléchargez les versions actuelles des pilotes « Linux KVM ». Téléchargez au minimum :

  • Logiciel vGPU : 18.0
  • Pilote hôte : 570.124.03
  • Pilote invité Linux : 570.124.06
  • Pilote invité Windows : 572.60

Nous avons utilisé le NVIDIA L40S et un Dell PowerEdge R760 pour ce projet.

GPU NVIDIA Proxmox vGPU

De plus, vous aurez besoin d'un serveur de licences dédié (DLS) ou d'un serveur de licences cloud (CLS) pour activer la fonctionnalité vGPU sur vos invités. Vous trouverez un guide de démarrage rapide en cliquant ici. ici.

Ensuite, vérifiez que les paramètres UEFI (BIOS) de votre serveur activent les fonctionnalités de virtualisation appropriées. Recherchez VT d or AMD-v, SR-IOV, au-dessus du décodage 4G, barre redimensionnable et Interprétation alternative de l'ID de routage (ARI) paramètres et assurez-vous qu'ils sont tous activés.

Remarque : Il se peut que vous ne trouviez pas toutes ces fonctionnalités dans le menu UEFI, car certaines peuvent ne pas être exposées à l'utilisateur.

Enfin, vérifiez que vous utilisez une version appropriée de Proxmox VE. La fonctionnalité vGPU nécessite au minimum la version 8.3.4 de pve-manager, avec le noyau 6.18.12-8-pve ou une version ultérieure. Vous pouvez vérifier les versions logicielles de votre nœud PVE en accédant à l'onglet « Résumé » du serveur souhaité, comme indiqué ci-dessous :

Interface VE Proxmox vGPU 1

L'hôte avec le plus (configuration vGPU de l'hôte Proxmox)

Maintenant que tout est prêt, il est temps de configurer le serveur Proxmox VE. Dans l'interface web de votre serveur Proxmox VE, cliquez sur le nom du serveur à gauche de l'écran et sélectionnez l'onglet « Shell ». Saisissez la commande suivante dans la fenêtre de console qui apparaît, puis appuyez sur Entrée :

apt install pve-nvidia-vgpu-helper

Cela garantira l'installation de l'outil de configuration vGPU sur votre serveur, le préparant ainsi à la prise en charge de Proxmox vGPU. Une fois l'installation du script terminée ou la présence du script confirmée, exécutez une nouvelle commande pour exécuter l'outil.

configuration de pve-nvidia-vgpu-helper

Répondez « Y » à toutes les questions et continuez jusqu'à ce que la console réapparaisse et que le script soit terminé. Effectuez un redémarrage rapide du serveur en accédant à l'onglet « Résumé » et en cliquant sur le bouton « Redémarrer », ou saisissez la commande de redémarrage dans la console de l'onglet « Shell » et appuyez sur Entrée.

Ensuite, le pilote hôte vGPU de NVIDIA doit être chargé sur le serveur. Une fois le serveur redémarré, utilisez un outil de transfert SSH ou SCP tel que WinSCP pour copier le pilote hôte sur le nœud.

Remarque : Si vous avez téléchargé tous les pilotes ensemble sous forme de dossier compressé (.zip), vous devrez peut-être d'abord extraire son contenu et choisir le fichier « .run » dans le dossier « Host_Drivers ».

Placez le fichier dans le répertoire « /home » du serveur et préparez-vous à exécuter le programme d'installation avec les commandes suivantes.

cd /home chown root NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run chmod +X NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run ./NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run --dkms

Remarque : Remplacez « NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run » par le nom réel du pilote téléchargé. Vous pouvez utiliser la commande « ls » pour afficher le nom du fichier une fois celui-ci placé dans le répertoire « /home ».

Maintenant que le pilote est installé sur le serveur, il ne nous reste plus qu'à configurer le côté hôte de notre vGPU Proxmox ! Avant de pouvoir marquer le GPU comme périphérique pouvant être réparti entre des machines virtuelles, nous devons activer la virtualisation d'E/S à racine unique (SR-IOV). NVIDIA définit cette fonctionnalité comme « …une technologie permettant à un périphérique PCIe physique de se présenter plusieurs fois sur le bus PCIe. Cette technologie permet de créer plusieurs instances virtuelles du périphérique avec des ressources distinctes. » SR-IOV étant une technologie essentielle au fonctionnement de base des GPU virtuels modernes, configurez-la pour qu'elle s'active au démarrage avec la commande suivante :

systemctl activer --maintenant [email protected]

Enfin, nous pouvons cartographier les ressources du GPU afin de les répartir efficacement entre les machines virtuelles. Sur l'interface web du serveur Proxmox VE, cliquez sur « Centre de données » en haut à gauche et faites défiler la page vers le bas pour sélectionner l'onglet « Mappages de ressources ».

Cliquez sur le bouton « Ajouter » sous la section « Périphériques PCI » de la page et remplissez le champ « Nom : » dans la fenêtre suivante avec le nom qui décrit le GPU que vous mappez.

Cochez ensuite la case « Utiliser avec les périphériques médiatisés » et assurez-vous que le menu déroulant « Mappage sur le nœud » contient le serveur sur lequel le GPU est mappé. Faites défiler la liste des périphériques et vérifiez que tous les identifiants de périphérique indiquent « NVIDIA Corporation » dans la colonne « Fournisseur ». Si c'est le cas, cochez la case en haut à gauche du tableau pour sélectionner tous les périphériques ; sinon, sélectionnez uniquement les périphériques dont le fournisseur est « NVIDIA Corporation ».

Remarque : Si plusieurs GPU sont installés sur votre système, vous pouvez utiliser la commande « lspci » dans l’onglet « Shell » sur le serveur souhaité pour déterminer les identifiants associés à chaque carte.

Une fois le périphérique sélectionné, cliquez sur le bouton « Créer » en bas à droite de la fenêtre contextuelle pour confirmer votre sélection. Votre GPU NVIDIA est maintenant prêt à être découpé en vGPU pour les invités de votre serveur Proxmox VE !

Servir les invités (attribution de vGPU aux machines virtuelles)

Tout est en place pour commencer à attribuer et utiliser des vGPU sur nos machines virtuelles. Commencez par créer une nouvelle machine virtuelle, comme d'habitude, ou utilisez une machine virtuelle existante. Pour notre démonstration, nous utiliserons une machine virtuelle Windows Server 2025.

Dans l'interface Web du serveur Proxmox VE, arrêtez la machine virtuelle à l'aide de la méthode qui vous convient (console noVNC, menu d'alimentation de l'invité, etc.) et cliquez sur l'onglet « Matériel » de l'invité.

Dans le menu déroulant qui apparaît après avoir cliqué sur le bouton « Ajouter », sélectionnez un « Périphérique PCI ».

Dans la fenêtre contextuelle « Ajouter : périphérique PCI », sélectionnez le nom que vous avez attribué au GPU mappé en ressources dans le champ « Périphérique : ».

Cliquez ensuite sur le champ « Type MDev » et observez la liste des options de type de périphérique médiatisé. Vous remarquerez que chaque choix est désigné par un chiffre et une lettre. Le chiffre représente la quantité de VRAM attribuée à l'invité (en gigaoctets), tandis que les lettres « A », « B » et « Q » font référence au cas d'utilisation du vGPU.

  • Q – Postes de travail virtuels avec pilotes RTX Enterprise (nécessite une licence RTX vWS)
  • B – Bureaux virtuels (nécessite une licence NVIDIA Virtual PC ou une licence RTX vWS)
  • A – Solutions applicatives (nécessite une licence NVIDIA Virtual Applications)

Remarque : Vous pouvez en savoir plus sur les différents profils vGPU et leurs licences requises ici.

Pour cette démonstration, nous avons utilisé le profil « NVIDIA L40S-12Q ». Après avoir sélectionné le type de périphérique souhaité, cochez la case « PCI-Express » et cliquez sur le bouton bleu « Ajouter ».

Un vGPU est désormais attribué à la VM, mais il nous reste à installer le pilote invité et un jeton de licence pour lancer l'opération. Vous pouvez maintenant démarrer la machine virtuelle et vous connecter.

Après vous être connecté, transférez le pilote invité NVIDIA vGPU acquis précédemment à partir du portail de licence vers la machine virtuelle, selon le mode de votre choix (SMB, SCP, téléchargement direct, etc.). Vous pouvez également créer et télécharger un fichier CD-ROM virtuel (.iso) contenant le pilote sur le stockage de votre serveur PVE à l'aide d'un logiciel comme ImgBurn pour déployer simultanément de nombreux invités compatibles vGPU.

Exécutez le fichier d’installation du pilote en double-cliquant sur l’exécutable et suivez les instructions du menu d’installation qui s’affiche.

Extrayez le pilote vers l’emplacement par défaut dans le champ « Chemin d’extraction : » et choisissez l’option d’installation « Express » lorsque vous y êtes invité.

Une fois l’installation du pilote terminée, cliquez sur le bouton « FERMER » pour quitter le menu.

Ensuite, nous devrons activer la licence vGPU sur l'invité. Les méthodes d'activation peuvent varier considérablement selon que vous choisissez un serveur de licences dédié (DLS) ou un serveur de licences cloud (CLS), et selon votre système d'exploitation. Suivez les instructions de NVIDIA. Guide de démarrage rapide du système de licence et du Guide de l'utilisateur des licences client pour les étapes détaillées sur l'activation des clients pour votre configuration spécifique.

Nous avons utilisé un serveur de licences cloud et reçu un fichier de jeton à placer sur les invités pour l'activation. Déplacez ce fichier sur l'invité et copiez-le dans le dossier « C:\Program Files\NVIDIA Corporation\vGPU Licensing\ClientConfigToken ».

Ensuite, un redémarrage de l'invité est nécessaire pour terminer le processus d'activation.

Après avoir suivi toutes les étapes de configuration hôte et invité détaillées ici, vous devriez être prêt à exécuter des programmes et applications nécessitant un GPU. N'oubliez pas d'activer le protocole RDP (Remote Desktop Protocol) ou d'installer votre logiciel de bureau à distance préféré sur vos invités après le redémarrage pour profiter de l'affichage à distance accéléré par GPU !

Faire tourner le moteur (test du vGPU Proxmox)

Maintenant que nous disposons de serveurs virtuels avec GPU virtuels, testons-les ! Chacune de nos machines virtuelles est configurée avec 8 processeurs virtuels Intel Xeon Platinum 8580 (4 cœurs hyperthreadés), 32 Go de RAM ECC DDR5 à 4800 40 MT/s et le profil vGPU NVIDIA L12S-12Q (station de travail virtuelle) avec XNUMX Go de VRAM. Vous pouvez consulter la configuration matérielle complète des machines virtuelles ci-dessous :

Cinebench 2024

Basé sur le logiciel de modélisation et d'animation Cinema 4D de Maxon, Cinebench 2024 offre un aperçu intéressant et objectif des performances de rendu sur vGPU. Comparons la puissance du L40S en profil « 48Q » (48 Go de VRAM) avec une machine virtuelle et quatre machines virtuelles exécutant le profil « 12Q ».

Bien qu'il soit absurde d'avoir une seule machine virtuelle monopolisant l'intégralité du L40S, les performances sont impressionnantes avec 21,147 2,514 points lors du benchmark GPU en un seul passage. Cependant, la division du GPU en quatre parties illustre l'impact de l'approche de découpage temporel de NVIDIA pour le partage des cœurs CUDA du GPU, avec des scores individuels allant de 2,567 XNUMX à XNUMX XNUMX lorsque le benchmark a été exécuté simultanément sur toutes les machines virtuelles.

En réexécutant le test sur une seule machine virtuelle avec le profil « 12Q », les trois autres étant inactives, le score remonte à 15,133 XNUMX. Il ne s'agit pas exactement d'un retour au score du GPU complet, mais il reste respectable pour un vGPU partitionné.

Benchmarks Blender

Continuons avec quelques benchmarks de rendu supplémentaires avec Blender. Suivant les tendances de Cinebench 2024, la division du GPU en quatre entraîne une baisse considérable des performances globales par rapport à une seule machine virtuelle exécutant la même charge de travail avec le même profil.

Comme le montre le benchmark Monster, avec seulement quatre machines virtuelles partageant la puissance de calcul du GPU, les performances de rendu individuelles peuvent atteindre jusqu'à 8 % de celles d'une seule machine virtuelle avec le même profil. Cependant, nous avons observé qu'une machine virtuelle prenait une avance considérable sur les autres, jusqu'à 2.4 fois le score de la machine la moins performante.

Les benchmarks Junkshop et Classroom racontent des histoires similaires, avec de fortes baisses de performances pour trois des quatre machines virtuelles et un seul invité obtenant un score beaucoup plus élevé que les autres.

Il est intéressant de noter qu'il semble y avoir de brefs moments où le vGPU d'une machine virtuelle est prioritaire et prend une avance significative. Par exemple, lors du benchmark Classroom, notre deuxième machine virtuelle Windows Server 2025 (WIN2025-2) a atteint plus de trois fois les performances de ses homologues, malgré des exécutions simultanées. Bien que nous ne puissions pas déterminer précisément si cela est dû à la planification du logiciel vGPU ou à la nature même du GPU, cela met en évidence certaines anomalies de performances inhérentes à l'approche de NVIDIA, basée uniquement sur le time-slicing, utilisée avec cette carte.

Conclusion

La configuration et la prise en charge du logiciel vGPU de NVIDIA ne sont peut-être pas aussi abouties que sur d'autres plateformes concurrentes. Il s'agit néanmoins d'une fonctionnalité intéressante et précieuse pour les entreprises et les particuliers qui utilisent déjà des systèmes d'environnement virtuel Proxmox. Bien que les performances soient considérablement réduites lors du partage des ressources GPU, de nombreuses entreprises continuent de tirer parti de la technologie vGPU de NVIDIA et ont déterminé que le partage d'un GPU compense cet inconvénient. Cette approche a été adoptée par de nombreux hyperscalers et centres de données à espace restreint, où l'intégration d'un maximum de locataires (en l'occurrence, des machines virtuelles avec vGPU) dans un espace minimal est l'option la plus efficace et la plus rentable.

L'expansion récente et rapide des fonctionnalités de Proxmox Server Solutions, telles que la mise en réseau définie par logiciel, la prise en charge du noyau Linux 6.11 et un système de gestion de centre de données dédié Il affiche des progrès significatifs et prouve qu'il s'impose comme un choix judicieux dans le domaine des hyperviseurs. Nous espérons que ce développement se poursuivra et nous avons hâte de vous en dire plus sur les outils et technologies prometteurs qui arriveront bientôt en JcE !

nextmox

S'engager avec StorageReview

Newsletter |  YouTube | Podcast iTunes/Spotify | Instagram | Twitter | TikTok | Flux RSS