Erreurs de réseau. Qu'est-ce qui est coupable ici?

Je commencerai par admettre que je ne connais pas vraiment beaucoup de réseau au-delà "Ethernet plug goes here, switch se connecte à d'autres commutateurs ici, passer des connections à internet". La plupart de mon expérience avec les commutateurs a été avec leur configuration par défaut et nous nous laissons tout seul.

Dans notre centre de données, nous disposons d'un réseau de servers desservis par un seul PLANET SGSW-24040 24 ports, qui est apparemment un commutateur managé de niveau 1000 Mbps. Lorsque nous l'avons acheté, il a remplacé un ancien commutateur Cisco / Linksys 10/100 qui ne correspondait pas à la tâche de commutation de données VoIP. Le rlocation de l'ancien interrupteur a résolu nos problèmes de qualité vocale.

Tout cela était bien et bon, et nous ne semblons pas avoir d'autres problèmes avec elle, jusqu'à ce que j'ai trouvé une fonctionnalité rusé qui me permet d'utiliser Munin pour mesurer la bande passante via SNMP. Il mesure également les erreurs réseau, ce que j'ai considéré comme une bonne chose. Après avoir configuré Munin pour collecter ces statistics, j'ai commencé à avoir une pagination fréquente sur les erreurs d'interface individuelles.

En lisant le problème, j'ai constaté que je pouvais résoudre les erreurs du réseau en configurant explicitement la vitesse du port générant l'erreur. Et c'est là que j'ai commencé à rencontrer de vrais problèmes. Chaque fois que je redémarrait un server, il ne renégocierait pas la connection ethernet et le server serait hors ligne jusqu'à ce que je mette son port sur le commutateur pour "détecter automatiquement".

Donc, maintenant, je suis coincé entre un rock et un endroit difficile: je peux soit désactiver le rapport des erreurs de réseau et mettre tous les ports sur le commutateur à l'autodétection, soit je peux éliminer les erreurs en premier lieu au prix d'être obligé de se callbacker de reconfigurer le commutateur chaque fois qu'un server est redémarré pour une mise à niveau du kernel. Est-ce un problème avec ce commutateur particulier? Existe-t-il un moyen de configurer manuellement l'Ethernet sur les servers (ils sont tous Debian Linux)? Dois-je faire tout cela en premier lieu?

Vous pouvez configurer manuellement la vitesse / le duplex sur les ordinateurs du server et les ports de commutation, mais ce n'est pas la solution préférée. La négociation automatique fait partie de la norme Gigabit Ethernet et tous les chipsets Ethernet gigabit devraient l'accompagner. En supposant que vous utilisez des servers qui possèdent toutes des interfaces Gigabit Ethernet, cela ressemble à des défauts d'implémentation matérielle ou des défauts du pilote.

Je commencerais par faire des searchs sur les chipsets Gigabit Ethernet dans vos servers et les versions du kernel Linux que vous exécutez pour voir s'il existe des problèmes connus lors de la négociation automatique. Une mise à jour du kernel pourrait faire l'affaire.

Si vous utilisez encore des appareils 10/100, vous devrez peut-être mordre la balle et configurer les interfaces sur le commutateur et les servers pour désactiver la négociation. Certaines NIC plus anciennes ont été incapables de gérer très rapidement l'auto-négociation, mais cela n'a pas été la norme depuis plus de 10 ans.

Il semble que vous ayez un côté du jeu de liens à Autonegotiate et que l'autre côté soit codé pour la vitesse et le duplex. vous avez besoin que les deux côtés soient configurés de la même manière, Autonegotiate ou à la même vitesse et duplex. J'ai déjà lié à cet article, regardez la figure 12 qui illustre les résultats de différents parameters de vitesse et de duplex entre un commutateur et une carte réseau hôte:

http://www.ethermanage.com/ethernet/pdf/dell-auto-neg.pdf