2 votes

XenServer 6.2 changeant de mtu

J'ai cherché un moyen de modifier le MTU des interfaces sur XenServer 6.2, mais je n'ai rien trouvé qui fonctionne pour moi...

Une méthode a parlé de changer le ifcnfg-intX dans le /etc/sysconfig/network-scripts mais les fichiers ne sont pas là ... Le seul qui s'y trouve est le fichier ifcnfg-lo fichier. Dois-je simplement créer un fichier pour chaque interface ?

Puis j'ai pensé, je vais juste faire un script de démarrage :

#!/bin/bash
#Saved as /etc/init.d/mtuchange.sh
#Change mtu of interfaces
ifconfig xenbr0 mtu 1454
ifconfig xenbr1 mtu 1454
ifconfig eth0 mtu 1454
ifconfig eth1 mtu 1454

Ce script fonctionne lorsqu'il est exécuté en console.

Donc, pour le faire fonctionner au démarrage :

ln -s /etc/init.d/mtuchange.sh /etc/rc3.d/S99mtuchange

Mais, il ne fonctionne pas ...

La raison pour laquelle j'ai besoin de changer le MTU, est que pour une raison étrange, XenCenter ne peut pas se connecter avec le MTU par défaut de 1500, il doit être de 1454.

Quelqu'un sait-il ce que je fais mal ?

2voto

Bill Weiss Points 10602

Il y a une discussion sur le wiki Xen sur la façon de faire cela : Page du wiki Xen sur les performances du réseau . En bref :

Activation des Frames Jumbo

Supposons que eth6 et xenbr6 soient le périphérique et le pont correspondant à la connexion 10 GiB/sec utilisée.

Fermez les domaines des utilisateurs :

VMs=$(xe vm-list is-control-domain=false params=uuid --minimal | sed 's/,/ /g')
for uuid in $VMs; do xe vm-shutdown uuid=$uuid; done`

Réglez le MTU du réseau à 9000, et rebranchez les PIFs concernés :

net_uuid=`xe network-list bridge=xenbr6 params=uuid --minimal`
xe network-param-set uuid=$net_uuid MTU=9000
PIFs=$(xe pif-list network-uuid=$net_uuid --minimal | sed 's/,/ /g')
for uuid in $PIFs; do xe pif-unplug uuid=$uuid; xe pif-plug uuid=$uuid; done

Démarrez les domaines d'utilisateurs (vous pouvez vous assurer que les VMs sont démarrées les unes après les autres pour éviter les problèmes potentiels d'allocation statique VIF) :

VMs=$(xe vm-list is-control-domain=false params=uuid --minimal | sed 's/,/ /g')
for uuid in $VMs; do xe vm-start uuid=$uuid; done

Configurez les connexions que vous utiliserez à l'intérieur des domaines d'utilisateurs pour utiliser le MTU 9000. Pour les VMs Linux, cela se fait avec :

ETH=eth1   # the user domain connection you are concerned with
ifconfig $ETH mtu 9000 up

Vérification :

xe vif-list network-uuid=$net_uuid params=MTU --minimal

0voto

martin Points 49

Lorsque vous êtes confrontés à des problèmes liés au MTU, il peut être plus efficace de modifier le MSS plutôt que de régler le MTU des liens individuels. Il semble que cette plateforme soit basée sur Linux, donc iptables serait disponible. Ce couple de règles iptables pourrait réduire le MSS sur les paquets SYN dans les deux directions et ainsi éviter la plupart des problèmes de MTU.

iptables -t mangle -A PREROUTING -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1220
iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1220

Si vous utilisez cet ensemble de règles au lieu de modifier le MTU, vous pouvez les ajouter de façon permanente à votre configuration iptables.

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