web-dev-qa-db-fra.com

Qu'est-ce que IOMMU et va-t-il améliorer mes performances VM?

Le chipset de ma carte mère supporte cette fonctionnalité IOMMU , j'ai lu (mais je ne comprends pas vraiment) qu'il améliore les performances de VM en laissant le VM make utilisation du matériel physique réel au lieu du matériel virtuel.

Cela apporte-t-il vraiment une amélioration des performances de la machine virtuelle? et si c'est le cas, comment puis-je en faire profiter Virtualbox?.

26
Uri Herrera

En résumé, la seule façon dont un IOMMU vous aidera est si vous commencez à affecter des ressources matérielles directement à la machine virtuelle. Le simple fait de ne pas accélérer les choses.

Il serait utile de savoir exactement quelle carte mère/processeur annonce cette fonctionnalité. IOMMU est un mécanisme de mappage IO spécifique au système et peut être utilisé avec la plupart des périphériques.

IOMMU ressemble à un nom générique pour Intel VT-d et AMD IOV. Dans ce cas, je ne pense pas que vous puissiez multiplexer des périphériques, cela ressemble beaucoup au PCI avant que toutes ces instructions de virtualisation sophistiquées n'existent. SR-IOV est différent, le périphérique lui-même doit porter le support. Le matériel informatique sait qu'il est en cours de virtualisation et peut déléguer sa propre tranche à la machine virtuelle. De nombreux ordinateurs virtuels peuvent communiquer avec un périphérique SR-IOV simultanément avec un temps système très faible.

La seule chose plus rapide que SR-IOV est le transfert PCI, mais dans ce cas, un seul VM peut utiliser ce périphérique, pas même le système d'exploitation hôte ne peut l'utiliser. Une passerelle PCI serait utile pour, par exemple, une VM qui exécute une base de données intense qui gagnerait à être attaché à un réseau SAN FiberChannel.

Se rapprocher du matériel a certes des limites, mais cela rend vos ordinateurs virtuels moins portables pour les déploiements nécessitant une migration en direct, par exemple. Ceci s’applique à la fois à SR-IOV et à la liaison PCI.

Les déploiements Linux virtualisés par défaut utilisent généralement VirtIO , ce qui est assez rapide pour commencer.

21
ppetraki