Копирование удаленных файлов на NFS без обратной передачи

10

У меня большой объем данных (несколько ГБ) на удаленном диске, который прозрачно монтируется через nfs. Я хотел бы скопировать эти файлы в подкаталог, в котором они уже находятся, чтобы все оставалось на одном физическом диске. По этой причине я хотел бы предотвратить ненужные поездки по сети.

Кажется, что cp files* subdirделает наивные вещи и читает все данные в память, а затем записывает их обратно. Это правда? Существует ли специальная команда, которая полностью выполняет фактическое копирование на сервер, к которому физически подключен диск?

JDM
источник
Вы имеете в виду копировать (как в cp) или переместить (как в mv)? Если вы переместите файлы, я не понимаю, почему должны быть какие-либо обходы.
Кусалананда
Я имею в виду правильную копию (ср).
JDM

Ответы:

13

Кажется, что cp files * subdir делает наивные вещи и читает все данные в память, а затем записывает их обратно. Это правда?

Да.

Существует ли специальная команда, которая полностью выполняет фактическое копирование на сервер, к которому физически подключен диск?

Нет, если вы не можете войти на удаленную машину с помощью ssh и выполнить копирование там.

РЕДАКТИРОВАТЬ Идет работа по добавлению «серверной копии» в протокол NFS версии 4.2 (текущая версия 4.1). См., Например, http://www.usenix.org/events/fast11/posters_files/Lentini.pdf . Обратите внимание, что для использования этой функции потребуются: а) клиенты и серверы NFS, поддерживающие ее; б) новый системный вызов для клиентской ОС (может быть, reflink или copyfile ()?); В) поддержка использования нового системного вызова в обычных утилитах (cp, rsync). , и т.д.). Полагаю, пройдет не менее нескольких лет, прежде чем что-либо увидит свет.

janneb
источник
Жаль. Я думаю , что АФС поддерживает это, и это выглядит как кто - то реализовал патч для NFS , чтобы включить его: lsub.org/who/nemo/nfscp.html
JDM
1
@jdm: В этой области есть некоторые работы, см. мои правки. Может быть, в будущем ..
Янв