Freitag Juni 03, 2005

RSYNC über NFS

Hmmm... Manchmal kann einen das rsync schon in den Wahnsinn treiben. Wenn ich Files per rsync über NFS von einer Solaris-Kiste auf eine Linux-Kiste mit Debian Sarge (2.4er Kernel) kopiere, klappt das ohne Probleme. Wenn ich dagegen eine ähnlich große Datenmenge mit Linux Red Hat Enterprise 3 mit 2.4er Kernel auf die gleiche Debian-Kiste kopiere, meint er irgendwann:

rsync: writefd_unbuffered failed to write 4 bytes: phase "unknown": Broken pipe
rsync error: error in rsync protocol data stream (code 12) at io.c(515)
rsync: writefd_unbuffered failed to write 69 bytes: phase "unknown": Broken pipe
rsync error: error in rsync protocol data stream (code 12) at io.c(515)

Alle Mount-Points sind mit den Optionen rsize=32768,wsize=32768,timeo=480,intr,rw,soft gemountet. Die Buffergrößen sind für diese Art von Anwendung ok. Große Preisfrage: Wieso ist das nun so? Das rsync selbst, wird jeweils mit den Optionen -v --archive --delete gestartet. Hmmm... Solaris auf Linux funkt, Linux auf Linux nicht. Da liegt die Vermutung nahe, das das rsync das bei Red Hat Enterprise 3 dabei ist, nicht koscher ist. Wir probieren es jetzt mal mit der Option --whole-file beim rsync. Stay tuned...

Mehr zu dem Thema hier.

Update:
Ich glaube, ich habe jetzt eine Lösung des Problemes. Der Linux-Server scheint sich manchmal ziemlich mit "sich selber" zu beschäftigen, in diesem Falle viele I/O's zu machen. Dadurch läuft der NFS-Mount in einen Timeout irgendwann. Wenn man das soft in den NFS-Optionen durch hard ersetzt, scheint alles zu klappen. hard ist normalerweise default. Mit der Option soft konnte ich bisher meistens mehr Probleme lösen, als erzeugen, aber in diesem Fall scheint das eher das Gegenteil bewirkt zu haben. Der NFS-Client muß in diesem Fall wohl hardneckig bleiben ;-)

Kommentare:

Senden Sie einen Kommentar:
  • HTML Syntax: Ausgeschaltet