Problème débit carte réseau gigabit

Bonjour à tous,

Je me présente : Frank, 35 ans, professeur de Maths-Sciences en lycée professionnel et responsable informatique d’un parc d’une quarantaine de postes actuellement sous domaine windows server 2003 ayant pour passerelle la distribution linux SME Server (CentOS) mais je reste malgré tout un débutant dans le monde linux.

J’ai entrepris de remplacer le serveur microsoft actuel par un serveur linux Sambaedu3. SambaEdu est une solution libre de serveur pédagogique sous linux (Debian). Il utilise les technologies de l’opensource : Samba 3 - Openldap - Mysql. Il comporte une interface web permettant l’administration du dispositif.

Actuellement sambaedu3 utilise la distribution Debian Etch (Noyau 2.6.26 backporté).

Lors de l’installation j’ai rencontré plusieurs problèmes que j’ai en partie résolu (en particulier le raid5…) mais actuellement je rencontre un problème de débit réseau que je n’arrive à résoudre. J’ai connecté deux cartes réseau gigabit ethernet (Netgear GA 311) en PCI afin de faire du bonding. Mais ce n’est pas là que ça coince. En effet j’ai entrepris de tester la configuration de mes cartes réseau dont voici les résultats de diverses commandes (ifconfig ; ethtool et mii-tool):

ifconfig

eth0 Lien encap:Ethernet HWaddr 00:1E:2A:4A:DA:17
inet adr:192.168.1.3 Bcast:192.168.1.255 Masque:255.255.255.0
adr inet6: fe80::21e:2aff:fe4a:da17/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:19979 errors:0 dropped:0 overruns:0 frame:0
TX packets:13281 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:28511133 (27.1 MiB) TX bytes:900358 (879.2 KiB)
Interruption:16 Adresse de base:0x8000
Première question : les débits obtenus sont-ils normaux pour une carte gigabit ? moi ils me paraissent faibles…

ethtool eth0

Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000033 (51)
Link detected: yes

et

mii-tool eth0

eth0: negotiated 100baseTx-FD flow-control, link ok

Deuxième question : la carte a l’air d’être correctement détectée alors pourquoi suis-je en 100 ?

J’ai essayé de la forcer en 1000 avec la commande ethtool -s mais rien à faire : autoneg à on ça passe mais reste en 100, autoneg à off plus de réseau…

Précisions : les cartes sont à base de puce rtl8169s-32 (bien détectées selon moi), le phénomène est exactement le même sur l’autre carte (qui est identique) et même aussi avec la carte réseau de la CM (aussi du rtl8169). J’utilise du cable rj45 cat. 5E et un switch netgear gigabit. Les diodes vertes indiquant un réseau en 1000 sont bien allumées sur les 2 cartes lorsqu’elles sont connectées sur un cable. Tout fonctionnait correctement lorsque j’étais sur windows server 2003. J’ai tenté un modprobe r8169 sans résultat (r8169.ko est bien présent).
Je suis un peu perdu et ne sachant plus quoi faire je comptais sur une quelconque aide de votre part…
Merci d’avance.
Cordialement.

Pour de la répartition de charge ou de la redondance ? Si les deux cartes sont sur un même bus PCI standard 32 bits 33 MHz, alors la répartition de charge risque de ne pas apporter grand chose car le goulet d’étranglement sera le bus PCI dont la bande passante crête est 132 Mo/s en tout à comparer aux ~100 Mo/s dans chaque sens d’une liaison gigabit ethernet (soit jusqu’à 400 Mo/s au total pour deux liaisons full duplex).

[quote=“Frank05”]

ifconfig

(…)
Première question : les débits obtenus sont-ils normaux pour une carte gigabit ? moi ils me paraissent faibles…[/quote]
Quels débits ? ifconfig n’affiche pas de débits, seulement des nombres de paquets et d’octets.

[quote=“Frank05”]# ethtool eth0
(…)
Speed: 1000Mb/s
Duplex: Full
(…)

mii-tool eth0

eth0: negotiated 100baseTx-FD flow-control, link ok

Deuxième question : la carte a l’air d’être correctement détectée alors pourquoi suis-je en 100 ?[/quote]
C’est peut-être une erreur de mii-tool. ethtool affiche bien 1000 Mbit/s.

Donc il y a toutes les chances que la liaison soit en 1000.

(Ceci est mon 1000e message dans le forum)

[quote=“PascalHambourg”]

Oui tout a l’air OK.
Un test de transfert d’un gros fichier permettrait de connaitre le débit réel.

Merci à vous deux pour ces réponses qui me mettent sur la voie.

@figaro : le bonding, c’était pour de la répartition de charge mais après essais, je n’ai constaté que très peu de gain (peut-être m’y suis-je mal pris…). Désolé pour la confusion, je pensais que ifconfig affichait aussi les débits. Donc pourquoi ai-je une évolution des RX bytes et TX bytes (de quelques dizaines de KiB à plusieurs centaines de MiB) ? En particulier lorsque je lance la commande modprobe r8169.

@PascalHambourg : j’ai fait un test sur un fichier d’environ 1 Go et supercopier m’affiche un débit de plus ou moins 25 Mo/s sur mon poste client. Est-ce suffisant pour une carte gigabit ? (je précise que le poste client, le switch et la carte du serveur sont tous en gigabit).

Peut-on charger le module r8169 de manière automatique ? (J’ai mis la ligne r8169 dans le fichier modules mais je ne sais pas si c’est correct.)
Dois-je installer les derniers drivers de ma carte et si oui comment ? (je chercherai bien entendu de mon côté)

Merci encore pour votre aide.

Cordialement.
Frank.

Pour le test de débit il faut savoir sous quel protocole il a été fait : smb (samba) , ftp, nfs, etc…

Sous samba les débits effectifs sont généralement assez faibles : une part importante du débit étant consommé par le dialogue.

C’est moi qui ai émis des doutes sur l’opportunité du bonding pour faire de la répartition de charge. Comment as-tu comparé ? Si les postes clients n’ont que des liaisons gigabit ethernet simples, il faut en combiner plusieurs simultanément pour vraiment apprécier le gain du bonding.

ifconfig affiche le nombre de paquets et d’octets émis et reçus depuis la création de l’interface (donc en gros depuis le chargement du module pilote), c’est normal que ces valeurs évoluent dans le temps en fonction du trafic. Une façon d’estimer le débit moyen en émission ou réception sur un intervalle de temps consiste à comparer les valeurs avant et après.

A priori un débit de 25 Mo/s indique que la liaison est en gigabit, car un tel débit est le double de ce qu’il est possible d’atteindre en fast hors compression. D’après ce que je comprends de supercopier, c’est une extension de l’explorateur de Windows pour la copie de fichiers, donc je suppose que tu as fait un transfert avec samba qui n’est pas connu pour être le protocole le plus efficace comme l’a souligné figaro. En restant dans le transfert de fichiers, il faudrait plutôt tester en FTP ou HTTP. Pour éliminer l’impact d’une éventuelle compression à la volée, tester avec un fichier déjà compressé. Mais attention aux autres goulets d’étranglements possibles qui pourraient fausser la mesure, notamment au niveau lecture et écriture disque, qui deviennent non négigeables quand on s’approche du Gbit/s. Pour s’en affranchir il existe des outils dédiés à la mesure de bande passante tels qu’iperf. Ne pas négliger non plus le pilote de la carte réseau du client et ses options qui peut brider le débit effectif (déjà vu avec un pilote Realtek inclus dans Windows).

Les modules pilotes pour les périphériques plug&play (donc PCI) présents sont normalement chargés automatiquement au démarrage par udev si ce dernier est installé, ce qui est quasiment obligatoire dans les dernières versions de Debian à cause du noyau Debian qui dépend d’initramfs-tools qui dépend d’udev, saleté (dans etch il y a yaird comme alternative ne dépendant pas d’udev, mais il n’est plus dans l’actuelle stable, lenny, ni même dans testing actuellement).