7 votes

Quels sont les avantages de l'utilisation des pilotes synthétiques d'Hyper-V ?

Nous faisons passer notre plateforme de virtualisation de XenServer de Citrix à Hyper-V sur Windows Server 2008 R2. Dans le cadre de ce projet, je dois faire migrer, sous une forme ou une autre, certains serveurs Debian Linux vers Hyper-V. J'ai construit avec succès un serveur basé sur Debian sur notre nouvelle plateforme Hyper-V et je commence à le tester.

Debian 6 (Squeeze) utilise le noyau 2.6.32 qui inclut les pilotes synthétiques Hyper-V, mais il n'est pas considéré comme un système d'exploitation invité pris en charge par Microsoft. J'hésite un peu à essayer de les utiliser à moins qu'il n'y ait une raison impérieuse de le faire, car d'autres personnes ont eu des problèmes ( ici et ici ).

  • Quels avantages les pilotes synthétiques Hyper-V offrent-ils par rapport aux pilotes émulés ?
  • Pour ceux d'entre vous qui ont de l'expérience avec l'hyperviseur Xen, l'utilisation des pilotes synthétiques est-elle analogue à la para-virtualisation d'un système d'exploitation invité ?
  • Y a-t-il des dangers ou des inconvénients notables à ne pas utiliser les pilotes synthétiques ?

Pourquoi devrais-je prendre la peine a) de faire face à l'instabilité signalée des pilotes Hyper-V actuellement dans le noyau, b) d'essayer de construire un noyau plus récent, ou c) d'essayer de faire en sorte que le système d'exploitation Hyper-V soit plus efficace. Ajouts de machines virtuelles travailler avec une distribution pour laquelle ils n'ont pas été conçus alors que tout semble "fonctionner" ?

EDIT : Pour ajouter un peu aux réponses... La dérive de l'horloge semble être un problème important (à tel point que NTP ne peut pas maintenir l'horloge à l'heure) à moins que vous n'utilisiez Linux Integration Services. Voir KB918461 . Apparemment, l'utilisation des composants vmbus inclus dans les services d'intégration Linux résout ce problème. Mes tests montrent que c'est un problème.

7voto

frameworkninja Points 628

Les pilotes synthétiques "parlent" plus directement au matériel réel, en contournant la majeure partie de l'hyperviseur (pour les opérations de données courantes). Cela réduit considérablement la surcharge de l'hyperviseur liée à la plupart des activités réseau.

Si votre serveur ne communique pas beaucoup sur le réseau, ou si votre matériel est bien sous-engagé, vous devriez vous en sortir avec les pilotes émulés. Il y a cependant une pénalité de performance dans ce cas.

2voto

Dave Points 864

Lorsque votre hyperviseur émule le matériel, il y a beaucoup de registres et de problèmes de timing et d'autres choses que le pilote du client va s'attendre à faire lorsqu'il fait des choses comme mettre des paquets dans le tampon de la NIC ou mettre des données dans un bloc sur un lecteur de disque.

Lorsque vous utilisez le pilote synthétique, vous sautez toutes les étapes de "manipulation de ce registre (qui est de toute façon émulé par l'hyperviseur)" et passez directement à l'étape "voici les données - faites-en ce qu'il faut".

L'ensemble du processus est donc beaucoup plus efficace.

0voto

icky3000 Points 4658

Je n'ai pas de réponse complète à vous donner, mais une certaine expérience qui pourrait aider à compléter la discussion. Nous avons initialement utilisé les pilotes émulés sur nos machines Red Hat, mais l'administrateur linux s'est plaint que les performances du réseau étaient abyssales. Nous avons fini par faire fonctionner les pilotes synthétiques via les ajouts de la machine virtuelle et cela a fait une grande différence (je n'ai pas de preuve ou de détails, alors prenez cela avec un grain de sel).

Par ailleurs, il nous arrive de créer des images de machines virtuelles sur le réseau et, dans ce cas, nous devons utiliser la carte réseau émulée sur une machine Windows car la carte réseau synthétique ne prend pas en charge le démarrage PXE. Une fois l'image terminée, nous remplaçons la carte émulée par une carte synthétique. Encore une fois, je parle ici de Windows (pas de linux) mais c'est une autre différence.

En général, je crois comprendre que les périphériques émulés émulent des périphériques plus anciens, plus établis ou plus génériques, pour lesquels pratiquement tous les systèmes d'exploitation ou toutes les distributions ont un support intégré. À cet égard, ils sont plus universels. Les périphériques synthétiques n'émulent aucun autre périphérique que votre système d'exploitation ou votre distribution reconnaîtrait et, par conséquent, vous avez besoin de pilotes fournis par Microsoft, comme ceux que vous obtenez en installant les VM Additions.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X