36807
Goto Top

Gebrauch von rsync viele Daten auf weiter Streke

Hallo zusammen,

ich habe die Aufgabe erhalten, dass c.a. 5-8 GB Daten zwischen Deutschland und Asien synchron vorhanden sein sollen. Nachdem mich der IPReplicator nicht überzeugen konnte bin ich auf rsync gestoßen. Die entfernte Maschine in Asien ist ein windows2003 FileServer auf dem der cwRsync als Client zum Linux rsync Fileserver nach Deutschland verbinden soll. Die Konfiguration bekomme ich schon hin.

Meinen Chef interessiert eher die Latenzzeit und die Verbarbeitungszeit. Ich sollte erwähnen, dass innerhalb der 5-8 GB sehr viele Unterverzeichnisse mit ca. 1,5 Millionen Daten vorhanden sind. Wie lange benötigt nun der rsync um auf eine Änderung zu reagieren. Muss der jedesmal alle Verzeichnisse/Ordner und Files abchecken? Gibt es irgendwo eine Art Index der angelegt wird? Über Antworten bin ich sehr dankbar. Die Beschreibung des rsync Algorythmus bringt mich übrigens nicht weiter, weil in dem Beispiel nur von einer Datei ausgegangen wird. http://rsync.samba.org/tech_report/node2.html


mfg
Gummistiefel

Content-Key: 83901

Url: https://administrator.de/contentid/83901

Printed on: April 18, 2024 at 08:04 o'clock

Mitglied: 36831
36831 Mar 25, 2008 at 16:09:37 (UTC)
Goto Top
Moin,

sehr interessant wäre vielleicht noch, wie schnell die Verbindung zwischen den Standorten ist. Über ISDN dürfte das ganze "etwas" länger dauern als über eine 1GBit/s Standleitung. face-wink

MfG,
VW

PS: Ich kenne mich leider nicht mit rsync aus und bin eher auf diesen Beitrag gekommen, weil ich mich gefragt habe, warum du nicht einfach DFS von Windows verwendest. Aber mit einem Linux Server geht das ja nicht.
Mitglied: 39916
39916 Mar 25, 2008 at 16:32:16 (UTC)
Goto Top
Hi Gummistiefel,

ich synchronisiere jede Nacht knapp 100GB bei einem Kunden zu meinem eigenen Server (Linux - Linux). Allerdings gleicht rsync bei mir "nur" ca. 160.000 Dateien ab. Das einlesen der Liste dauert (bei 384KBit Upstream) 90sek, also bei Dir ungefähr Faktor 10, was ich absolut akzeptabel finde. Der eigentliche Transfer hängt u.a. von den Parametern ab, die Du übergibst.

Ich habe aber auch die Erfahrung, dass das Ganze unter cwRsync länger dauert.

Hoffe ich konnte Dir etwas helfen,

Gruß,

Martin
Mitglied: 36807
36807 Mar 25, 2008 at 18:31:33 (UTC)
Goto Top
Bandbreitenmäßig stehen in Deutschland ca 35 mbit und Asien ca. 100 mbit zur Verfügung. Beide Leitungen sind aber Sammelleitungen und ziehen die Performance schon jetzt runter. Die angegebenen Werte sind also als "Bruttowert" zu verstehen. Ausserdem vermute ich durch das viele routing und der weiten Strecke ein Flaschenhals entsteht. Liege ich hier falsch? Mir ist bewusst, das der erste Sync aufgrund der fehlenden Daten für die Destionation recht lange dauern wird. Aber was danach kommt lässt mich aufgrund der Ordnertiefe schon jetzt erschaudern. Die Ordner zu zippen dauerte alleine beim einpacken mehr als eine 1/2 Stunde.

mfg
Gummistiefel
Member: TuXHunt3R
TuXHunt3R Mar 25, 2008 at 19:55:08 (UTC)
Goto Top
Miss doch mal mit iperf (Kommandozeilentool zur Messung der Bandbreite, gibts bei Google) eine Nacht lang per Script jede halbe Stunde oder so und schreibe das Ganze in ein Textfile. Somit hast du eine Auswertung und siehst in etwa, was für eine Bandbreite du zur Verfügung hast.
Member: theton
theton Mar 25, 2008 at 23:18:44 (UTC)
Goto Top
Ich glaube nicht, dass die Bandbreite hier das Problem sein dürfte, sondern die Anzahl der vielen kleinen Dateien und die Art, wie das RSync durchgeführt wird. Bei einem RSync via SSH z.B. hat man eine latente Verbindung, während bei einem RSync über einen RSync-Server für jede Datei eine neue Verbindung aufgebaut wird, was bedeutet, dass bei vielen kleinen Dateien enorm viel Zeit durch die Handshakes verloren geht. Auch das Berechnen der Checksummen dauert wesentlich länger, wenn es viele Dateien sind.
Mitglied: 36807
36807 Mar 26, 2008 at 07:28:53 (UTC)
Goto Top
OpenSSH wird auf jeden Fall benutzt. Jenseits meines Problems bin ich für den Hinweis mit iperf dankbar. Es gibt immer wieder etwas, dass ich noch nicht kenne. Ich bin mir nicht sicher ob es eine Möglichkeit gibt die rsync Verbindung dauerthaft also in echtzeit aufrechtzuerhalten. Momentan startet der Taskplaner von Windows ein .bat script, wobei hier jedes mal aufs neue eine rsync + SSH Verbindung aufgebaut wird. Wenigstend habe ich jetzt eine Vorstellung, was mich erwartet. Klasse face-smile
Mitglied: 27688
27688 Mar 28, 2008 at 09:42:53 (UTC)
Goto Top
dem stimme ich zu! das hauptproblem dürfte nicht die bandbreite sein. darum kann man auch nicht wirklich vorhersagen wie lange ein "durchschnittlicher" sync-durchgang laufen wird. denn mal gibt es viel, mal wenig zu syncronisieren. und über die anzahl bzw vor allem die größe der Dateien und deren Verteilung/gewichtung haben wir ja auch nichts erfahren. also wenn du sowas wissen musst gilt: selbst testen! ich glaube nicht da es für deinen Fall eine Formel gibt.

Wie mein Vorredner schon sagte...vermutlich wird die meiste Zeit bei dir durch den Verwaltungsoverhead und das Handshaking vergehen wenn du sehr sehr viele sehr kleine dateien hast.

was gerne für verwirrung sorgt... RSYNC ist ein Protokoll UND ein Programmpaket bestehend aus Client und Server. eigentlich verbindet sich ein rsync client über das rsync protokoll mit dem rsync-server. Man kann rsync aber auch ohne das server-gegenstück nur zwischen "gemounteten" verzeichnissen einsetzen. dann dient es nur als syncrhonisationsprogramm, regelt aber nicht die logische verbindung zwischen den servern. das "könnte" evtl effektiver sein.

die verbindung zwischen den Servern könnte z.b. per SSH-Shell oder per CIFS/SMB erfolgen. also vieleicht hast du auf der linux box einen samba server laufen und willst dessen freigabe auf dem windows server mounten. dann könntest du sogar mit dem microsoft tool "robocopy" arbeiten oder mit jedem beliebigen anderen windows-sync programm. oder du machst es umgekehrt auf der linux seite und mountest die freigabe des windows servers. dann kannst du auf der linux seite mit rsync die sncronisation anwerfen bei einer festen bestehenden online-verbindung.