Freitag, 16. März 2007

Gigabit Ethernet mit Debian

Dass ich heute Freitag morgen etwas müde aus der Wäsche geguckt habe, hängt einerseits mit den 1. Schweizerischen Geschichtstagen zusammen, die derzeit in Bern stattfinden. Andererseits aber auch, weil gestern digitec endlich das heissersehnte Päckchen geliefert hat.

Komponenten

Dessen Inhalt:

Fallstrick ethX

Im Server werkelte bisher eine dieser „tubelisicheren“ 3Com-Karten, für die Linux wohl seit Ewigkeiten Treiber-Support mitbringt. Deren Dienstpflicht war nun zu Ende und sie wurde zwecks Antritt des Ruhestands ausgebaut. In denselben Slot steckte ich nun die Gigabit-NIC.

Der erste Boot-Vorgang mit der neuen Ethernet-Karte verlief zu Beginn völlig reibungslos – mit dem mit Ctrl-S zu erreichenden Konfigurations-Menu schaltete ich die PXE-Funktion aus und sparte so ca. 10-20 Sekunden, die für die Suche nach einem DHCP-Server draufgingen.

Als jedoch Linux die Kontrolle übernahm, klappte dagegen nicht alles sauber. Zwar wurde das für den Betrieb der Netzwerkkarte nötige Modul e1000 anstandslos geladen – im Laufe des Boot-Prozesses stachen mir aber einige FATAL-Meldungen ins Gesicht, die sich auf eth0 respektive e1000 bezogen („could not set device flags“ oder ähnlich). Was zum Teufel?

Jedenfalls hatte ich keine aktive Netzwerkverbindung zur Verfügung, und ifconfig zeigte kein schönes Bild:

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:323240 errors:0 dropped:0 overruns:0 frame:0
          TX packets:323240 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:226873684 (216.3 MiB)  TX bytes:226873684 (216.3 MiB)

(Ersatz-Ausgabe nach 24h Betrieb). Wo blieb eth0?

Nach einer ca. 30 Minuten dauernden Schrecksekunde, die auch unzählige Google-Suchen beinhaltete, fand ich die Lösung dann eher unerwartet, als ich folgenden Befehl eingab:

ifconfig -a

Dort wurde eth1 erwähnt, eth0 fehlte hingegen. Wieso das so ist, kann ich mir immer noch nicht erklären. Entweder hat Linux die Identifikation der Vorgänger-Karte gespeichert und vergibt neuen Karten eine fortlaufende Nummer, oder irgendwas ist mit dieser NIC anders. Ich weiss es nicht.

Jedenfalls genügte es nun, eth0 in /etc/network/interfaces mit eth1 zu ersetzen. Nach dem nächsten Reboot funktionierte die Karte endlich.

Fallstrick Patchkabel

ALPHA kernel: e1000: eth1: e1000_watchdog: NIC Link is Up 100 Mbps Full Duplex

Was’n löus? Wieso nur 100 Mbps, wenn ich doch soeben viel Geld für ein Gigabit-Netzwerk ausgegeben hatte?

Meine erste Vermutung erwies sich dieses eine Mal als goldrichtig: Das ca. 2001 mit dem Kauf eines Wireless-Access-Points (Elsa/Lancom L-11) mitgelieferte Patch-Kabel erfüllte die Qualitätsanforderungen an ein Gigabit-Netzwerkkabel nicht (mind. Cat 5e – hier wohl Cat 5). Nachdem ich dieses Kabel entfernt und mit einem neueren Modell ersetzt hatte, hiess es nun endlich:

ALPHA kernel: e1000: eth1: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex

Durchsatz?

Folgender Test führte ich aus „Gwunder“ durch, um den Durchsatz zu messen:

BETA:/Volumes/INCOMING/KNOPPIX mario$ time cp KNOPPIX_V5.1.1CD-2007-01-04-EN.iso /Volumes/Multimedia/Software/

real    0m39.920s
user    0m0.040s
sys     0m6.730s

40 Sekunden für ein knapp 700MB grosses File? Das ergibt 17.5MB pro Sekunde oder 140Mbit/s. Freude herrscht!

Doch wieso? Die errechnete Zahl ist ja meilenweit von 1000Mbit/s weg … Ja, schon, aber:

  1. Das CIFS/SMB-Protokoll ist nicht gerade bekannt dafür zu sein, besonders performant zu laufen (die Datei wurde von einem unter Mac OS X gemounteten Samba-Share auf die lokale Festplatte kopiert)
  2. Auch wenn es sich um eine Intel-Netzwerkkarte handelt – im Vergleich zu einer PWLA8490MT muss wohl irgendwo gespart worden sein. Ich betrachte die im Einsatz befindliche Karte als Consumer-Variante.
  3. Dasselbe gilt wohl für den Netzwerk-Chipsatz im PowerMac G5
  4. Auch der Zyxel-Switch GS-105A ist ein Consumer-Gerät, von dem nicht Spitzenleistungen erwartet werden dürfen
  5. Die Festplatten im Quellsystem (ATA100, RAID10) sowie die SATA im Zielsystem sind wohl die Bottlenecks
  6. Jumbo-Frames sind keine im Einsatz – Mac OS X erlaubt diese Option nur bei den Xserves

Wie dem auch sei – der Geschwindigkeitsgewinn ist bereits jetzt äusserst spürbar und ich habe absolut keinen Grund für Wehklagen.

Liked this post? Follow this blog to get more. 

Tags:
Labels: Linux

Ein Kommentar Kommentare

[…] den Server über zwei Netzwerkkarten an das Netzwerk anzubinden. Da ich mir vor langer Zeit eine performante Intel Gigabit-Netzwerkkarte geleistet habe, war mit dem Onboard-NIC meines Asus P5QPL-VM EPU bereits eine zweite […]

Kommentar erfassen