Grâce au serveur de virtualisation XenServer de Citrix, il est possible de dédier une vraie carte graphique à une machine virtuelle de son choix via la technologie nommée "VGA passthrough".
Cette technologie est présente dans le projet Xen dont le site officiel est "xenproject.org" et dont le wiki (la documentation) se trouve sur "wiki.xenproject.org".
Vous trouverez notamment des informations intéressantes sur la page "Xen VGA Passthrough" du wiki de Xen.
Cependant, même si cette technologie à l'air intéressante (notamment pour faire fonctionner AutoCAD ou d'autres programmes gourmands en ressources graphiques), il faut savoir que sa mise en place n'est pas si facile.
En effet, le VGA passthrough ne fonctionne pas avec n'importe quel matériel (processeur, carte mère et carte graphique).
Pourquoi utiliser cette fonctionnalité ?
Si vous voulez utiliser des applications gourmandes en ressources graphiques, il est intéressant de pouvoir lier une carte graphique du serveur à une machine virtuelle spécifique. Ainsi, la machine reste isolée du système (grâce à la virtualisation de la machine), mais elle aura directement accès à la carte graphique que l'on aura associée à cette machine virtuelle.
Le VGA passthrough vous permettra aussi d'utiliser la fonction "HDX 3D Pro Graphics" de Citrix XenDesktop.
Notez que la carte graphique principale du serveur ne peut pas être passée à une machine virtuelle via VGA passthrough.
Pour pallier à ce problème, il suffit de forcer l'utilisation de la carte graphique interne à la carte mère et de brancher une carte graphique dans le serveur.
Pour cela, consultez notre tutoriel : Forcer l'utilisation de la carte graphique interne (Onboard VGA)
Comment empêcher les attaques par DMA (accès direct à la mémoire) via la carte graphique passée en VGA passthrough ?
C'est très simple, il suffit d'activer l'IOMMU (ou VT-D chez Intel) dans le BIOS de votre carte mère. Cette fonctionnalité permet de "remapper" les accès au matériel et à la mémoire pour limiter les accès au périphérique associé à la machine virtuelle.
En résumé, la machine virtuelle pourra utiliser la carte graphique, mais elle n'aura pas accès au reste du matériel du serveur.
Note : IOMMU (Input–output memory management unit) s'occupe des entrées / sorties et MMU (Memory management unit) s'occupe des accès à la mémoire.
IOMMU ou VT-D est obligatoire pour utiliser le "VGA passthrough" ?
Oui, comme indiqué sur le site de Citrix, IOMMU (pour AMD) ou VT-D (pour les processeurs Intel) doit être obligatoirement activé dans le BIOS de votre carte mère.
Si le BIOS de votre carte mère ne supporte pas l'IOMMU ou VT-D, le VGA passthrough sera impossible.
De plus, sachez que certains BIOS ne supportent pas correctement l'IOMMU ou VT-D. Ce qui, comme indiqué sur la page "Xen PCI Passthrough" de Xen, force Xen à désactiver le support de la virtualisation des entrées / sorties (I/O virtualization).
Plain Text
Citation : Unfortunately there are many buggy BIOSes causing Xen to disable IO virtualization because of errors in the BIOS DMAR/ACPI tables. Xen tries to workaround these bugs in the BIOS, but sometimes it's not possible. Please report all the details about your hardware and software to xen-devel mailinglist if IO virtualization gets disabled due to buggy BIOS.
Quelle version de Xen faut-il utiliser ?
Comme indiqué sur le wiki de Xen, la version 4.0.0 de Xen est la première version à supporter le VGA passthrough.
Dans notre cas, nous utiliserons la version 6.5 de XenServer.
Quel matériel faut-il utiliser ?
De préférence, un matériel référencé sur le site Citrix XenServer Hardware Compatibility List.
Quelle carte mère faut-il utiliser ?
Une carte mère qui supporte la virtualisation du processeur (Intel vt-x ou AMD-V) et l'IOMMU ou VT-d étant donné que son support est obligatoire. Sans cette technologie, vous ne pourrez pas démarrer de machine virtuelle avec une carte graphique passée en passthrough.
De plus, vérifiez qu'elle dispose d'une carte graphique interne pour éviter de devoir utiliser une carte graphique Nvidia ou ATI pour la console de XenServer.
Quelle carte graphique faut-il utiliser ?
De préférence, une carte graphique présente dans une de ces listes de compatibilités :
Quel processeur faut-il utiliser ?
De préférence, un processeur présent sur le site Citrix XenServer Hardware Compatibility List.
Sinon, un processeur supportant ces technologies pourra aussi faire l'affaire :
Conclusion
La principale difficulté pour faire du VGA passthrough se situe au niveau de la compatibilité avec le matériel existant (carte mère, carte graphique et processeur).
Nous avons utilisé notre propre ordinateur pour tester ce VGA passthrough. Cette configuration n'utilise pas de composants référencés sur le site de Citrix ou de Xen, mais elle nous a permis d'approfondir ce sujet et d'arriver presque jusqu'à la fin de sa mise en place.
Si vous suivez ce tutoriel avec une configuration compatible avec le VGA passthrough, il vous permettra surement de le faire jusqu'au bout.
Voici notre configuration :
La carte mère propose les options "Intel Virtualization Technology" et "VT-d" dans son BIOS.
Le site d'Intel indique que notre processeur "Intel Core i5-4460" supporte :
- la virtualisation : Intel® Virtualization Technology (VT-x)
- la virtualisation des entrées / sorties (I/O) : Intel® Virtualization Technology for Directed I/O (VT-d)
Et qu'il possède aussi un processeur graphique "Intel® HD Graphics 4600".
Citrix 30/12/2014
Citrix 21/5/2017
Citrix 25/11/2015
Citrix 27/10/2016
Contenu épinglé
Contact
® InformatiWeb-Pro.net - InformatiWeb.net 2008-2022 - © Lionel Eppe - Tous droits réservés.
Toute reproduction totale ou partielle de ce site est interdite et constituerait une contrefaçon sanctionnée par les articles L.335-2 et suivants du Code de la propriété intellectuelle.
Vous devez être connecté pour pouvoir poster un commentaire