왕복없이 nfs에서 원격 파일 복사


10

nfs를 통해 투명하게 마운트 된 원격 드라이브에 많은 양의 데이터 (수 GB)가 있습니다. 이 파일들을 이미 상주하는 하위 디렉토리에 복사하고 싶습니다. 모든 것이 동일한 물리 디스크에 남아 있습니다. 따라서 네트워크를 통한 불필요한 왕복을 방지하고 싶습니다.

그 보인다 cp files* subdir순진한 일을하고 메모리에 모든 데이터를 읽고 다음을 다시 작성합니다. 그게 사실입니까? 디스크가 실제로 연결된 서버에서 실제 복사를 수행하는 특수 명령이 있습니까?


복사 ( cp) 또는 이동 ( mv)을 의미합니까? 파일을 이동하면 왜 라운드 트립이 필요한지 알 수 없습니다.
Kusalananda

나는 적절한 사본 (cp)을 의미합니다.
jdm

답변:


13

cp files * subdir은 순진한 일을하고 모든 데이터를 메모리로 읽은 다음 다시 쓴 것으로 보입니다. 그게 사실입니까?

예.

디스크가 실제로 연결된 서버에서 실제 복사를 수행하는 특수 명령이 있습니까?

ssh를 사용하여 원격 시스템에 로그인하여 복사 할 수없는 경우가 아닙니다.

편집 NFS 프로토콜 버전 4.2 (현재는 4.1)에 "서버 측 복사본"을 추가하는 작업이 있습니다. 예를 들어 http://www.usenix.org/events/fast11/posters_files/Lentini.pdf를 참조 하십시오 . 이 기능을 사용하려면 a) NFS 클라이언트와이를 지원하는 서버가 필요합니다. b) 클라이언트 OS에 대한 새 syscall ( reflink 또는 copyfile ()?) c) 일반 유틸리티 (cp, rsync)에서 새 syscall을 사용하기위한 지원 등). 내 생각 엔 이것이 하루의 빛을보기 전에 적어도 몇 년이 될 것입니다.


너무 나쁘다. 나는 AFS이 지원 생각하고, 사람과 같은이 모습은 포함 NFS에 패치를 구현 : lsub.org/who/nemo/nfscp.html
JDM을

1
@jdm :이 분야에 약간의 작업이 있습니다. 내 편집을 참조하십시오. 아마 미래에 ..
janneb
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.