Kopieren Sie entfernte Dateien auf nfs ohne Roundtrip


10

Ich habe eine große Datenmenge (mehrere GB) auf einem Remote-Laufwerk, das transparent über NFS bereitgestellt wird. Ich möchte diese Dateien in ein Unterverzeichnis kopieren, in dem sie sich bereits befinden, damit alles auf derselben physischen Festplatte bleibt. Aus diesem Grund möchte ich einen unnötigen Roundtrip über das Netzwerk verhindern.

Es scheint, dass cp files* subdirdies die naive Sache macht und alle Daten in den Speicher liest und sie dann zurückschreibt. Ist das wahr? Gibt es einen speziellen Befehl, der das eigentliche Kopieren vollständig auf dem Server ausführt, mit dem die Festplatte physisch verbunden ist?


Meinen Sie kopieren (wie in cp) oder verschieben (wie in mv)? Wenn Sie die Dateien verschieben, verstehe ich nicht, warum es zu Roundtrips kommen sollte.
Kusalananda

Ich meine eine richtige Kopie (cp).
JDM

Antworten:


13

Es scheint, dass cp files * subdir die naive Sache macht und alle Daten in den Speicher liest und sie dann zurückschreibt. Ist das wahr?

Ja.

Gibt es einen speziellen Befehl, der das eigentliche Kopieren vollständig auf dem Server ausführt, mit dem die Festplatte physisch verbunden ist?

Nein, es sei denn, Sie können sich mit ssh am Remote-Computer anmelden und dort kopieren.

BEARBEITEN Es wird noch daran gearbeitet, der NFS-Protokollversion 4.2 eine "serverseitige Kopie" hinzuzufügen (aktuell ist 4.1). Siehe z . B. http://www.usenix.org/events/fast11/posters_files/Lentini.pdf . Beachten Sie, dass für die Verwendung dieser Funktion a) NFS-Clients und -Server erforderlich sind, die sie unterstützen, b) ein neuer Systemaufruf für das Client-Betriebssystem (möglicherweise Reflink oder Copyfile ()?) C) Unterstützung für die Verwendung des neuen Systemaufrufs in den üblichen Dienstprogrammen (cp, rsync) , etc.). Ich vermute, es wird mindestens einige Jahre dauern, bis irgendetwas das Licht der Welt erblickt.


Schade. Ich denke, AFS unterstützt dies, und es sieht so aus, als hätte jemand einen Patch für NFS implementiert, um ihn einzuschließen
jdm

1
@jdm: Es gibt einige Arbeiten in diesem Bereich, siehe meine Bearbeitung. Vielleicht in der Zukunft ..
Janneb
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.