Partager via


Considérations relatives aux machines virtuelles Linux

Les machines virtuelles Linux et BSD ont des considérations supplémentaires par rapport aux machines virtuelles Windows dans Hyper-V.

La première considération est de savoir si Integration Services est présent ou si la machine virtuelle s’exécute simplement sur du matériel émulé sans éclairage. Une table des versions Linux et BSD qui ont des services d’intégration intégrés ou téléchargeables est disponible dans les machines virtuelles Linux et FreeBSD prises en charge pour Hyper-V sur Windows. Ces pages contiennent des grilles des fonctionnalités Hyper-V disponibles pour les versions de distributions Linux, et des notes sur ces fonctionnalités si applicable.

Même lorsque l’invité exécute Integration Services, il peut être configuré avec du matériel hérité qui n’affiche pas les meilleures performances. Par exemple, configurez et utilisez une carte Ethernet virtuelle pour l’invité au lieu d’utiliser une carte réseau héritée. Avec Windows Server 2016, des réseaux avancés tels que SR-IOV sont également disponibles.

Performances du réseau Linux

Linux par défaut active l’accélération matérielle et les déchargements par défaut. Si vRSS est activé dans les propriétés d’une carte réseau sur l’hôte et que l’invité Linux a la possibilité d’utiliser vRSS, la fonctionnalité sera activée. Dans PowerShell, ce même paramètre peut être modifié avec la EnableNetAdapterRSS commande.

De même, la fonctionnalité VMMQ (Virtual Switch RSS) peut être activée sur la carte réseau physique utilisée par l'invité Propriétés>Onglet Avancé, >> définissez RSS de commutateur virtuel sur Activé ou activez VMMQ dans PowerShell à l’aide des éléments suivants :

 Set-VMNetworkAdapter -VMName **$VMName** -VmmqEnabled $True

Dans le système invité, des réglages TCP supplémentaires peuvent être effectués en augmentant les limites. Pour obtenir les meilleures performances, la répartition de la charge de travail sur plusieurs processeurs et la profondeur des charges de travail produisent le meilleur débit, car les charges de travail virtualisées présentent une latence plus élevée que celles sur un matériel non virtualisé.

Voici quelques exemples de paramètres de réglage utiles dans les benchmarks réseau :

net.core.netdev_max_backlog = 30000
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.ipv4.tcp_wmem = 4096 12582912 33554432
net.ipv4.tcp_rmem = 4096 12582912 33554432
net.ipv4.tcp_max_syn_backlog = 80960
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range = 10240 65535
net.ipv4.tcp_abort_on_overflow = 1

Un outil utile pour les microbenchmarks réseau est ntttcp, disponible sur Linux et Windows. La version Linux est open source et disponible à partir de ntttcp-for-linux sur github.com. La version de Windows se trouve dans le Centre de téléchargement. Lors du réglage des charges de travail, il est préférable d’utiliser autant de flux que nécessaire pour obtenir le meilleur débit. À l’aide de ntttcp pour modéliser le trafic, le -P paramètre définit le nombre de connexions parallèles utilisées.

Performances du stockage Linux

Certaines meilleures pratiques, comme celles-ci, sont répertoriées sur les meilleures pratiques pour l’exécution de Linux sur Hyper-V. Le noyau Linux a des planificateurs d’E/S différents pour réorganiser les requêtes avec différents algorithmes. NOOP est une file d’attente FIFO (premier entré/premier sorti) qui passe la décision de planification à prendre par l’hyperviseur. Il est recommandé d’utiliser NOOP comme planificateur lors de l’exécution d’une machine virtuelle Linux sur Hyper-V. Pour modifier le planificateur d’un appareil spécifique, dans la configuration du chargeur de démarrage (/etc/grub.conf, par exemple), ajoutez elevator=noop aux paramètres du noyau, puis redémarrez.

Comme pour la mise en réseau, les performances des machines virtuelles Linux avec stockage bénéficient le plus de l'utilisation de plusieurs files d’attente avec suffisamment de profondeur pour maintenir l’hôte occupé. Les performances de stockage du micro-benchmarking sont probablement idéales avec l’outil de benchmark fio et le moteur libaio.

Références supplémentaires