Copia file remoti su nfs senza andata e ritorno


10

Ho una grande quantità di dati (diversi GB) su un'unità remota, che è montata in modo trasparente tramite nfs. Vorrei copiare questi file in una sottodirectory in cui risiedono già, quindi tutto rimane sullo stesso disco fisico. Per tale motivo, vorrei evitare un round trip non necessario sulla rete.

Sembra che cp files* subdirfa la cosa ingenua e legge tutti i dati in memoria e poi li riscrive. È vero? Esiste un comando speciale che esegue la copia effettiva interamente sul server al quale il disco è fisicamente connesso?


Vuoi dire copia (come in cp) o spostare (come in mv)? Se sposti i file, non vedo perché ci dovrebbe essere un round-trip.
Kusalananda,

Intendo una copia corretta (cp).
jdm,

Risposte:


13

Sembra che cp files * subdir faccia l'ingenuo e legga tutti i dati in memoria e poi li riscriva. È vero?

Sì.

Esiste un comando speciale che esegue la copia effettiva interamente sul server al quale il disco è fisicamente connesso?

No, a meno che non sia possibile accedere al computer remoto con ssh e fare la copia lì.

EDIT È in corso un lavoro per aggiungere "copia lato server" al protocollo NFS versione 4.2 (la corrente è 4.1). Vedi ad esempio http://www.usenix.org/events/fast11/posters_files/Lentini.pdf . Si noti che quindi l'utilizzo di questa funzione richiederebbe a) client e server NFS che la supportano b) un nuovo syscall per il sistema operativo client (forse reflink o copyfile ()?) C) supporto per l'utilizzo del nuovo syscall nelle normali utility (cp, rsync , eccetera.). Immagino che passeranno almeno diversi anni prima che qualsiasi cosa veda la luce del giorno.


Peccato. Penso che AFS lo supporti e sembra che qualcuno abbia implementato una patch per NFS per includerla: lsub.org/who/nemo/nfscp.html
jdm,

1
@jdm: c'è del lavoro in quest'area, vedi la mia modifica. Forse in futuro ..
janneb,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.