it-swarm.com.de

Effizientes Übertragen von Terabytes an Daten zwischen zwei Computern (Samba und NFS-Mounts)

Ich muss 15 TB von Daten von einem Computer auf einen anderen übertragen und bin in den letzten drei Wochen mehrmals ausgefallen. Ich habe keine Optionen mehr und weiß nicht, was ich tun soll.

Es gibt zwei Maschinen:

  • quellcomputer: Verwendet den Samba-Freigabe-Bereitstellungspunkt und ist stark eingeschränkt (für die Verbindung mit dem Computer außerhalb des Netzwerks ist ein VPN erforderlich, und ich kann die Freigabe nicht normal auf dem zweiten [Ziel] Computer bereitstellen, ohne das VPN einzurichten, das alle 10 Stunden automatisch getrennt wird). Meine 15 TB Daten befinden sich auf diesem Computer
  • zielmaschine: die NFS verwendet

Als erstes habe ich versucht, eine Verbindung zum ersten Computer herzustellen und einen einfachen rsync zu verwenden:

rsync -rvz --stats --progress /mnt/samba/my_15TB_data [email protected]_machine:/mnt/NFS/backup

Dies schlug nach ein paar Stunden fehl:

 rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]
bash: syntax error near unexpected token `('

  12820840448  55%    9.02MB/s    0:18:31
 12820840448: command not found
 rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32)

rsync: connection unexpectedly closed (731 bytes received so far) [sender]
syntax error near unexpected token `('
rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]
bash: syntax error near unexpected token `('

Ich verstehe nicht wirklich, was dieser Fehler bedeutet, aber aus dem, was ich online aus mehreren Foren zusammengetragen habe, geht hervor, dass rsync einen Fehler erzeugt, wenn eine große Menge von Daten kopiert wird! Eine andere Möglichkeit ist, dass die Verbindung zwischen den beiden Maschinen unterbrochen wurde.

Ich habe dann versucht, meine Daten so weit wie möglich zu komprimieren, daher habe ich die höchste Komprimierungsstufe für 7z gewählt:

7z a 15T_data_compressed.7z /mnt/samba/my_15TB_data -mx9

Das lief alles sehr gut, aber nach 460 Stunden CPU-Zeit, die für den 7Zip-Prozess aufgewendet wurden, wurde der Prozess vom Administrator des Computers zwangsweise abgebrochen. Ich stellte fest, dass ich alle verfügbaren Kerne auf dem Computer verwendete, also hatte der Administrator dies getan alles in Ordnung, das zu tun, nachdem die Ressourcen für das Komprimieren von Dateien so stark beansprucht wurden.

Was kann ich tun, um meine Daten effizient zu übertragen? Genauer gesagt, ich suche nach einem Weg, der mir die Möglichkeit, die Übertragung fortzusetzen ermöglicht, falls etwas schief geht. Im obigen Fall mit rsync sehe ich beispielsweise, dass eine gute Datenmenge übertragen wurde.

Ist es eine bessere Idee, die Samba-Freigabe über das VPN (das automatisch alle 10 Stunden getrennt wird) bereitzustellen und den Ordner auf irgendeine Weise auf das NFS zu spiegeln? Ist so etwas möglich und wird es schneller sein?

Die durchschnittliche Übertragungsgeschwindigkeit zwischen den beiden Maschinen beträgt übrigens 12 MB/s. Dies sind zwei verschiedene Maschinen in zwei verschiedenen Ländern.

1
dudeze

Zuallererst scheint das Fehler in rsync, das Sie zitieren, zu sein, dass Sie Sachen in ein Terminal eingefügt haben. Es ist nicht die ursprüngliche Fehlermeldung.

Die ursprüngliche Nachricht, die Sie in das Terminal eingefügt haben, zeigt an, dass die Verbindung aus irgendeinem Grund geschlossen wurde, z. B. durch einen Neustart, ein Netzwerkproblem oder Ähnliches. Aber rsync sollte wieder in der Lage sein.

Einfach rennen

rsync -rvz --stats --progress /mnt/samba/my_15TB_data [email protected]_machine:/mnt/NFS/backup

erneut wird der Status der Dateien überprüft, Zeitstempel und Größe verglichen und alle Dateien mit identischer Größe und identischem Zeitstempel auf der Quell- und Zielseite ignoriert. Dieser Vorgang kann einige Zeit in Anspruch nehmen, ist jedoch schneller als das erneute Übertragen der Dateien, es sei denn, es handelt sich um viele sehr kleine Dateien.

Im Allgemeinen können Sie mit rsync so oft weitermachen, wie Sie möchten. es ist ein ziemlich robuster Dateiübertragungsmechanismus.

2
vidarlo