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?

jdm
quelle
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.

janneb
quelle
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