Copiez des fichiers distants sur nfs sans aller-retour

10

J'ai une grande quantité de données (plusieurs Go) sur un lecteur distant, qui est monté de manière transparente via nfs. Je voudrais copier ces fichiers dans un sous-répertoire de l'endroit où ils résident déjà, afin que tout reste sur le même disque physique. Pour cette raison, je voudrais éviter un aller-retour inutile sur le réseau.

Il semble que cp files* subdirfait la chose naïve et lit toutes les données en mémoire, puis les réécrit. Est-ce vrai? Existe-t-il une commande spéciale qui effectue la copie réelle entièrement sur le serveur auquel le disque est physiquement connecté?

jdm
la source
Voulez-vous dire copier (comme dans cp) ou déplacer (comme dans mv)? Si vous déplacez les fichiers, je ne vois pas pourquoi il devrait y avoir des allers-retours.
Kusalananda
Je veux dire une copie correcte (cp).
jdm

Réponses:

13

Il semble que cd files * subdir fasse la chose naïve et lit toutes les données en mémoire puis les réécrit. Est-ce vrai?

Oui.

Existe-t-il une commande spéciale qui effectue la copie réelle entièrement sur le serveur auquel le disque est physiquement connecté?

Non, sauf si vous pouvez vous connecter à la machine distante avec ssh et y faire la copie.

EDIT Il y a du travail en cours pour ajouter une "copie côté serveur" à la version 4.2 du protocole NFS (la version actuelle est 4.1). Voir par exemple http://www.usenix.org/events/fast11/posters_files/Lentini.pdf . Notez que l'utilisation de cette fonctionnalité nécessiterait a) des clients NFS et des serveurs la prenant en charge b) un nouveau syscall pour le système d'exploitation client (peut-être reflink ou copyfile ()?) C) la prise en charge de l'utilisation du nouveau syscall dans les utilitaires habituels (cp, rsync , etc.). Je suppose que cela prendra au moins plusieurs années avant que quoi que ce soit voit le jour.

janneb
la source
Dommage. Je pense qu'AFS prend en charge cela, et cela ressemble à quelqu'un qui a implémenté un correctif pour NFS pour l'inclure: lsub.org/who/nemo/nfscp.html
jdm
1
@jdm: Il y a du travail dans ce domaine, voir ma modification. Peut-être à l'avenir ..
janneb