5 votes

Comment augmenter le taux de transfert de données entre mes VMs ?

J'ai vu beaucoup d'articles, mais ils ne répondaient pas à ma question.

Mon serveur utilise l'hyperviseur VMware vSphere. Il y a 20 machines virtuelles sur mon serveur.

Système d'exploitation de la VM : centos7

J'ai déjà changé mon vSwitch und Réseau VM bande passante jusqu'à 1000000000 KB/s

pour que les autres vm n'affectent pas mon dtr (taux de transfert de données).

Maintenant mon dtr est de 170 ~ 200 MB/s

Comment puis-je augmenter mon dtr à 500 MB/s, afin de pouvoir transférer plus rapidement un fichier de 20 GB du vm A au vm B.

VM A : nc -l 20000 > /dev/null

VM B : time dd if=/dev/zero bs=100M count=200 | nc <VM A> 20000

200+0 records in
200+0 records out
20971520000 bytes (21 GB) copied, 122.466 s, 171 MB/s

real    2m2.479s
user    0m2.148s
sys     3m10.841s

Merci d'avance.

9voto

user299064 Points 21

Puisque cela semble être une solution, je l'ajoute comme réponse :

Lors de la création d'une VM, l'adaptateur réseau par défaut est un Intel E1000E émulé. Cet adaptateur fonctionne dans la plupart des systèmes d'exploitation sans pilotes supplémentaires, mais il est instable et peut être endommagé. uniquement utiliser 1Gbit.

Pour utiliser un trafic 10 Gbit complet entre des vms sur le même hôte (ou à travers des connexions 10 Gbit vers votre réseau), vous devez ajouter un adaptateur vmxnet3. Vous ne pouvez pas changer le type d'adaptateur, vous devez en créer un nouveau. Même si vous utilisez le powercli pour changer le type d'adaptateur, il créera un nouvel adaptateur, donc les paramètres réseau et l'adresse mac seront réinitialisés.

Pour que l'adaptateur vmxnet3 fonctionne, sur certains systèmes (notamment Windows), vous devez installer VMware Tools, car les pilotes pour cet adaptateur y sont inclus (Merci à Gerald et John pour les informations complémentaires).

-2voto

phuclv Points 158

Utilisez le interface virtio à la place. C'est un périphérique para-virtualisé exposé à l'hôte par le noyau guess'. Il n'y a plus d'adaptateur réseau dans le guess, ce qui réduit considérablement l'overhead du pilote. Son support a été inclus dans tous les noyaux Linux 2.6.25.

Ce que l'on appelle la "virtualisation complète" est une fonctionnalité intéressante, car elle vous permet d'exécuter n'importe quel système d'exploitation de manière virtuelle. Cependant, elle est lente car l'hyperviseur doit émuler des périphériques physiques réels tels que les cartes réseau RTL8139 . Cette émulation est à la fois compliquée et inefficace.

Virtio est une norme de virtualisation pour les pilotes de périphériques réseau et de disques où seul le pilote de périphérique de l'invité "sait" qu'il fonctionne dans un environnement virtuel, et coopère avec l'hyperviseur. Cela permet aux invités d'obtenir des opérations de réseau et de disque de haute performance, et donne la plupart des avantages de performance de la paravirtualisation.

https://wiki.libvirt.org/page/Virtio

Voir aussi le virtio et

Je ne connais pas le nom exact de virtio dans VMware mais il semble que ce soit VMXNET 3

VMXNET 3 : l'adaptateur VMXNET 3 est la nouvelle génération de carte réseau paravirtualisée conçue pour les performances et n'est pas liée à VMXNET ou VMXNET 2. Il offre toutes les fonctions disponibles dans VMXNET 2 et ajoute plusieurs nouvelles fonctions telles que la prise en charge des files d'attente multiples (également connue sous le nom de Receive Side Scaling sous Windows), les décharges IPv6 et la distribution d'interruptions MSI/MSI-X. Pour plus d'informations sur les performances de VMXNET 3, voir Évaluation des performances du périphérique réseau virtuel VMXNET3.

Choisir un adaptateur réseau pour votre machine virtuelle (1001805)

Vous pouvez lire le document de VMware Évaluation des performances du dispositif de réseau virtuel VMXNET3


Pour plus d'informations, lisez les recommandations de Virtualbox sur l'amélioration des performances, dont beaucoup s'appliquent également à VMware.

6.11. Améliorer les performances du réseau

VirtualBox fournit une variété d'adaptateurs réseau virtuels qui peuvent être "attachés" au réseau de l'hôte de plusieurs façons. Selon les types d'adaptateurs et d'attachements utilisés, les performances du réseau seront différentes. En termes de performances, l'adaptateur réseau virtio est préférable aux adaptateurs émulés Intel PRO/1000, qui sont préférables aux adaptateurs de la famille PCNet. Les adaptateurs virtio et Intel PRO/1000 bénéficient tous deux de la segmentation et du déchargement de la somme de contrôle. Le déchargement de la segmentation est essentiel pour des performances élevées car il permet de réduire les commutations de contexte, ce qui augmente considérablement la taille des paquets qui traversent la frontière VM/hôte.

Trois types d'attachement : interne, ponté et hôte seulement, ont des performances presque identiques, le type interne étant un peu plus rapide et utilisant moins de cycles CPU car les paquets n'atteignent jamais la pile réseau de l'hôte. La pièce jointe NAT est la plus lente (et la plus sûre) de tous les types de pièces jointes, car elle assure la traduction des adresses réseau. La pièce jointe du pilote générique est spéciale et ne peut être considérée comme une alternative aux autres types de pièces jointes.

Le nombre d'unités centrales assignées à la VM n'améliore pas les performances du réseau et, dans certains cas, peut même y nuire en raison de l'augmentation de la concurrence dans l'invité.

Voici un bref résumé des éléments à vérifier afin d'améliorer les performances du réseau :

  1. Dans la mesure du possible, utilisez l'adaptateur réseau virtio, sinon utilisez l'un des adaptateurs Intel PRO/1000 ;
  2. Utilisez l'attachement ponté au lieu du NAT ;
  3. Assurez-vous que le déchargement de la segmentation est activé dans le système d'exploitation invité. En général, il est activé par défaut. Vous pouvez vérifier et modifier les paramètres de déchargement en utilisant la commande ethtool dans les hôtes Linux.
  4. Effectuez une analyse complète et détaillée du trafic réseau sur l'adaptateur réseau de la VM en utilisant un outil tiers tel que Wireshark. Pour ce faire, une politique de mode promiscuous doit être utilisée sur l'adaptateur réseau de la VM. L'utilisation de ce mode n'est possible que sur les réseaux : NAT Network, Bridged Adapter, Internal Network et Host-only Adapter.

    Pour définir une stratégie de mode promiscuous, sélectionnez-la dans la liste déroulante située dans la boîte de dialogue Paramètres réseau de la carte réseau ou utilisez l'outil de ligne de commande VBoxManage ; pour plus de détails, reportez-vous à la Section 8.8, " VBoxManage modifyvm ".

    Les politiques du mode promiscuous sont :

    • deny (paramètre par défaut) qui masque tout trafic non destiné à l'adaptateur réseau de cette VM.
    • allow-vms qui masque tout le trafic de l'hôte à l'adaptateur réseau de cette VM, mais lui permet de voir le trafic de/vers les autres VM.
    • allow-all qui supprime toutes les restrictions - l'adaptateur réseau de cette VM voit tout le trafic.

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