10

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

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

1 ответ1

13

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

Да.

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .