A, B, C 세 대의 네트워크 컴퓨터가 있다고 가정해 보겠습니다.
A는 B와 C의 디렉터리를 마운트합니다.
A/mnt/im-on-B/
A/mnt/im-on-C/
그런 다음 A는 파일을 복사합니다.
cp /mnt/im-on-B/file ../im-on-C/
데이터는 어떻게 되나요? A를 통해 B에서 C로 전달되나요?
cp
이는 B에서 C로 직접 이동하는 것보다 훨씬 덜 효율적이지 않습니까?
답변1
두 질문 모두 그렇습니다. B는 A에게 데이터를 전송하고, A는 C에게 데이터를 재전송합니다. 이는 네트워크의 활동량이 B에서 C로 직접 복사하는 것의 두 배라는 것을 의미합니다. 그 중요성은 네트워크의 토폴로지와 존재하는 기타 트래픽에 따라 달라집니다.
표준 해결 방법은 SSH를 B 또는 C로 설정하고 거기에서 복사를 시작하는 것입니다(NFS 마운트, scp 또는 rsync 등을 사용하여). 이런 방식으로 데이터는 A를 거치거나 A에 의해 복사되지 않고 B에서 C로 직접 이동됩니다.