View previous topic :: View next topic |
Author |
Message |
andi_s Apprentice
Joined: 10 Feb 2005 Posts: 226 Location: Germany
|
Posted: Sat Sep 15, 2012 10:03 am Post subject: Netzwerkperformance-Problem eth0 eth1 rsync [gelöst] |
|
|
Hallo,
ich habe Netzwerkperformance-Probleme mit diesem Setup
Code: | Router/Gateway: 192.168.1.1
pc1-eth0: 192.168.1.2
pc2-eth0: 192.168.1.3 |
Direkte Verbindung per eth1
Code: | pc1-eth1: 192.168.2.2
pc2-eth1: 192.168.2.3 |
Code: | net.ipv4.ip_forward = 1
|
Das Setup funktioniert (ssh etc.), allerdings möchte ich über die direkte Verbindung von pc1 zu pc2 daten synchronisieren ohne das die Netzwerkperformance
von 192.168.1.0 dadurch beeinflusst wird, aber genau das scheint der Fall zu sein, d.h. wenn ich über eth1 mit rsync Daten synchronisiere, dann sinkt die Performance von eth0.
Die Hardware beider Rechnern ist recht aktuell und schnell, daher schliesse ich derartige Probleme mal aus. Wenn ich mit iperf die direkte Verbindung über eth1 messe,
dann habe ich den vollen Durchsatz. Synce ich aber mit rsync dann stimmt da offensichtlich etwas mit der Performance nicht.
Code: | pc1#
rsync --progress --rsh=/usr/bin/ssh /daten root@192.168.2.3:/daten/ |
Code: | #netstat -anr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
127.0.0.0 127.0.0.1 255.0.0.0 UG 0 0 0 lo
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 |
Es kommt mir so vor als ob der rsync Traffic dennoch irgendwie ueber eth0 geht, obwohl ich direkt die eth1-IP von pc2 bei rsync angebe.
Ich hoffe mir kann jemand helfen und erklären was hier schief läuft (Routing?) und was ich machen muss damit das so klappt wie ich mir das vorstelle.
Oder ist das ein rsync-Problem?
Danke
Last edited by andi_s on Tue Sep 18, 2012 11:24 am; edited 2 times in total |
|
Back to top |
|
|
bell Guru
Joined: 27 Nov 2007 Posts: 514
|
Posted: Sat Sep 15, 2012 10:15 am Post subject: |
|
|
Das Routing scheint ok. zu sein. Wie sieht das Routing auf dem PC2 aus? Sollte genauso aussehen.
net.ipv4.ip_forward brauchst Du nicht, denn Du leitest ja nichts weiter.
Was sagt denn? Code: | traceroute 192.168.2.2 | (net-analyzer/traceroute)
Und auch umgekehrt von PC2 zu PC1? Die Verbindung muss in beide Richtungen laufen.
Ggf. bringt die Namensauflösung etwas durcheinander. Setze mal die beiden Hostnamen in beide /etc/hosts Dateien mit den 192.168.2* IP-Adressen rein. |
|
Back to top |
|
|
andi_s Apprentice
Joined: 10 Feb 2005 Posts: 226 Location: Germany
|
Posted: Sat Sep 15, 2012 11:21 am Post subject: |
|
|
Hallo,
Routing und traceroute sind auf pc1+pc2 identisch
Code: | pc1# traceroute 192.168.2.3
traceroute to 192.168.2.3 (192.168.2.3), 30 hops max, 60 byte packets
1 192.168.2.3 (192.168.2.3) 0.053 ms 0.045 ms 0.041 ms |
Code: | pc2# traceroute 192.168.2.2
traceroute to 192.168.2.2 (192.168.2.2), 30 hops max, 60 byte packets
1 192.168.2.2 (192.168.2.2) 0.050 ms 0.050 ms 0.042 ms |
Update:
Auch die rsync Parameter "--address=192.168.2.2" und "--rsh="/usr/bin/ssh -b 192.168.2.2" helfen nicht.
Ich habe den Eindruck, das rsync immer einfach eth0 nutzt!?
Last edited by andi_s on Sat Sep 15, 2012 4:12 pm; edited 3 times in total |
|
Back to top |
|
|
Schorchgrinder Tux's lil' helper
Joined: 30 Jun 2006 Posts: 82 Location: Lower Uncton
|
Posted: Sat Sep 15, 2012 2:16 pm Post subject: |
|
|
du könntest ja mal eth0 abstellen und schauen was rsync dann macht, wobei ich in den man-files nichts gefunden haben um ein interface ala eth2 usw anzugeben. _________________ AMD Athlon 1000 Mhz, RIVA TNT2/TNT2 Pro, Creative Labs SB Live, 1500 MB Arbeitsspeicher
damit läuft der Rechner unter Gentoo immer noch recht gut
AMD Athlon II X4 600e 2200 Mhz, Nvidia G210, 4GB RAM |
|
Back to top |
|
|
andi_s Apprentice
Joined: 10 Feb 2005 Posts: 226 Location: Germany
|
Posted: Sat Sep 15, 2012 4:07 pm Post subject: |
|
|
eth0 kann ich leider nicht einfach mal so deaktivieren (ssh)
Ich habe zu dem Thema rsync über eth1+ leider auch nicht viel gefunden, ausser das man "--address=" und "ssh -b" nutzen soll, was aber keinen unterschied macht.
Code: | pc1#
rsync --address=192.168.2.2 --progress --rsh="/usr/bin/ssh -b 192.168.2.2" /daten root@192.168.2.3:/daten/ |
Eigentlich sollte das ja auch das Routing erledigen, wenn ich von 192.168.2.2 zu 192.168.2.3 kopiere und diesen IPs jeweils eth1 zugeordnet ist. Das ist ja eine direkte Verbindung ohne irgendeinen Router/Switch etc. dazwischen. Warum dadurch die Verbindung von eth0 belastet wird verstehe ich absolut nicht |
|
Back to top |
|
|
Christian99 Veteran
Joined: 28 May 2009 Posts: 1721
|
Posted: Sat Sep 15, 2012 8:47 pm Post subject: |
|
|
So mal als vermutung: höngen eth0 und eth1 intern am selben (USB oder sonstwas) Kontroller, und es liegt am kontroller, dass die performance zurück geht?
oder sowas in der art... |
|
Back to top |
|
|
bell Guru
Joined: 27 Nov 2007 Posts: 514
|
Posted: Sun Sep 16, 2012 7:14 am Post subject: |
|
|
Hast Du die Hostnamen mit den 2-er IP's in der /etc/hosts eingetragen?
Es kann sein dass der rsync erstmal den Hostnamen ermittelt und dann diesen auflöst. Dies wäre zB. eine Erklärung wieso er über das 1er Netz geht.
Um genau zu wissen was da passiert kannst Du ja mit wireshark den Datenverkehr überwachen und Dir anschauen. |
|
Back to top |
|
|
andi_s Apprentice
Joined: 10 Feb 2005 Posts: 226 Location: Germany
|
Posted: Tue Sep 18, 2012 9:55 am Post subject: |
|
|
die 192.168.2.x sind in /etc/hosts eingetragen
die Verbindung läuft (laut auth.log auf pc2) eindeutig über 192.168.2.3, wenn ich die IP in rsync angebe (ohne läuft es über .1.3)
ssh auf pc2 listen: 0.0.0.0
soweit funktioniert das also...
vielleicht ist es tatsächlich ein Hardwareproblem oder es liegt an openssh...
Ich glaube ich geb's auf, wenn hier nicht noch Jemand eine Idee hat |
|
Back to top |
|
|
bell Guru
Joined: 27 Nov 2007 Posts: 514
|
Posted: Tue Sep 18, 2012 10:05 am Post subject: |
|
|
Quote: | wenn ich die IP in rsync angebe (ohne läuft es über .1.3) |
Dann sind die Einträge in der hosts nicht richtig. Oder in der /etc/host.conf steht die in der falschen Reihenfolge, oder "hosts" fehlt.
Überprüfe dies mal und poste ggf. die Dateien. Rsync muss auch über den Hostnamen auf die *.2.3 gehen. |
|
Back to top |
|
|
andi_s Apprentice
Joined: 10 Feb 2005 Posts: 226 Location: Germany
|
Posted: Tue Sep 18, 2012 10:21 am Post subject: |
|
|
also in hosts und hosts.conf stimmt schon alles... ist so, wie Du es geschrieben hast.
Ich weiss nicht ob ich hier einen Denkfehler mache oder Du, aber wenn in hosts für pc2 zwei Einträge mit identischem Namen, aber unterschiedlichen IPs vorhanden sind, dann kann rsync doch gar nicht wissen über welche IP es sich verbinden soll? Ich denke mal dann wird einfach der erste Eintrag genommen. Genau aus diesem Grund gebe ich ja bei rsync extra die IP an, damit eth1 genutzt wird und das passiert ja auch, von daher denke ich nicht das hier das Problem liegt. |
|
Back to top |
|
|
bell Guru
Joined: 27 Nov 2007 Posts: 514
|
Posted: Tue Sep 18, 2012 10:57 am Post subject: |
|
|
Ich bin davon ausgegangen dass Der Rechner 1 die IP des Rechner 2 vom DHCP Server bekommt. Und diese ist dann *.1.3.
Mit einem Entrag in der Hosts-Datei kann man diese übersteuern. Behalte in der hosts Datei nur die IP *.2.3. Somit würden die beiden Rechner immer direkt kommunizieren.
Das selbe entsprechend auf der anderen Seite (Rechner 2) einrichten damit auch die Rückantworten über die Leitung gehen.
Meine Vermutung ist, selbst wenn Du die IP mitgibst, macht er eine Art "Rückwerts-Suche" um den Hostnamen zu ermitteln und anschließend ermittelt er die IP. Aber es ist eine Vermutung. Um diese zu überprüfen muss die Hostnamen-Auflösung eindeutig sein, sprich zu der *.2.3 IP führen. |
|
Back to top |
|
|
andi_s Apprentice
Joined: 10 Feb 2005 Posts: 226 Location: Germany
|
Posted: Tue Sep 18, 2012 11:23 am Post subject: |
|
|
@bell
ich danke dir - jetzt scheint es zu funktionieren!
Interessant ist allerdings das bei Auslastung beider Verbindungen der Durchsatz ab einem bestimmten Punkt gleichzeitig einbricht. Ich vermute mal das liegt daran das die Festplatte nicht mit dem Schreiben nachkommt... |
|
Back to top |
|
|
bell Guru
Joined: 27 Nov 2007 Posts: 514
|
Posted: Tue Sep 18, 2012 7:01 pm Post subject: |
|
|
Um die Festplatten als Ursache für den Einbruch auszuschließen, erzeuge auf allen System eine Ramfs und übertrage die Dateien von RAM zu RAM
Code: | mkdir /mnt/ramfs
mount -t ramfs none /mnt/ramfs/ |
|
|
Back to top |
|
|
andi_s Apprentice
Joined: 10 Feb 2005 Posts: 226 Location: Germany
|
Posted: Wed Sep 19, 2012 9:32 am Post subject: |
|
|
stimmt ich hab /tmp ja eh im RAM
es lag -wie vermutet- an den Festplatten |
|
Back to top |
|
|
|