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é?


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.


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.