VMware : régler les paramètres réseau pour remédier à la perte de paquets
Les meilleures configurations de réseau VMware ne sont pas à l'abri de problèmes, mais des solutions existent. Le réglage de certains paramètres réseau VMware permet de corriger la perte de paquets dans une VM.
Même bien conçu, un réseau VMware peut rencontrer des problèmes de virtualisation, tels qu'une importante perte de paquets dans une machine virtuelle. Il est possible de remédier à cette perte par des réglages appropriés des paramètres réseau sans intervenir sur le système d'exploitation invité.
Il est rare qu'un connecteur réseau Ethernet normal connaisse de grosses pertes : cela ne devrait pas excéder quelques paquets abandonnés pour 100 000 reçus ou transmis sans encombre (figure 1).
Sous Linux
Sur une machine virtuelle (VM) Linux, la commande ifconfig facilite la surveillance de ce paramètre.
Figure 1. En principe, pratiquement aucun paquet ne devrait être perdu sur une carte réseau Ethernet.
En revanche, une VM présentant un trafic réseau en rafales peut subir d'importantes pertes. Il convient alors de corriger les paramètres réseau de la VM.
Tout d'abord, vérifiez que la VM utilise le pilote VMXNET3 pour la carte réseau virtuelle. Si c'est le cas, un grand nombre de paquets peut être perdu sur un hôte Linux lors de l'envoi de fichiers de données volumineux sur des réseaux à haut débit, ainsi que dans certaines autres situations. Corrigez le problème en désactivant les sommes de contrôle de réception et de transmission.
Cette solution est risquée, car les sommes de contrôle servent normalement à exclure les paquets erronés. Cependant, le niveau de risque est faible puisque le nombre d'erreurs sur une carte réseau Ethernet classique est inférieur à une par million.
Faites ensuite appel à l'utilitaire Linux ethtool pour arrêter les sommes de contrôle de réception et de transmission dans les paramètres réseau VMware, en commençant par entrer ethtool sur la ligne de commande. Ainsi, la commande permettant d'arrêter ces fonctions de somme de contrôle pour la carte réseau eth0 sera ethtool --offload eth0 rx off tx off.
Si cela fonctionne, ouvrez le fichier de configuration de votre carte réseau (/etc/sysconfig/network/ifcfg-eth0 sur SUSE ou /etc/sysconfig/network-scripts/ifcfg-eth0 sur Red Hat) et remplacez la valeur du paramètre ETHTOOL_OPTIONS par ETHTOOL_OPTIONS='--offload eth0 rx off tx off'.
Si vous détectez toujours une perte de paquets, essayez d'augmenter la taille de la mémoire tampon en anneau de réception au moyen de l'utilitaire ethtool.
Par défaut, cette taille est fixée à 256, mais la valeur maximale possible est 4096. Redéfinissez la taille de la mémoire tampon à 512, à l'aide de la commande ethtool -G eth0 512. Si vous n'obtenez pas le résultat voulu, essayez une valeur plus élevée.
Sous Windows
Une perte importante de paquets sur une VM Windows impose quant à elle de modifier les paramètres réseau du pilote VMXNET3.
Dans le Device Manager (Gestionnaire de périphériques), cliquez droit sur le pilote VMXNET3 et sélectionnez Properties (Propriétés). L'onglet Advanced (Avancé) comporte deux paramètres : Small RX Buffers et RX Ring #1 Size. Augmentez légèrement la valeur de ces paramètres et voyez si cela apporte une amélioration. Procédez par incrémentations jusqu'à ce que le problème soit résolu.
Dans la plupart des cas, ces corrections feront diminuer le nombre de paquets perdus dans les machines virtuelles.
Si la modification des paramètres réseau ne donne aucun résultat, vous êtes sans doute en présence d'un problème différent dû à d'autres facteurs de performance dans la VM, et non aux paramètres réseau VMware entre la VM et la plateforme ESXi.
Consultez alors un spécialiste du système d'exploitation invité, car il est possible d'ajuster de nombreux paramètres pour améliorer les performances. Prenez garde toutefois de ne pas modifier les mauvais paramètres, ce qui pourrait avoir des répercussions sur la VM.