NFS Share 디렉토리에서 로컬로 자료이동시 mv 가 느린 이유는?

웃는 남자의 이미지

nfs 로 share 받는 디렉토리에서 mv 명령을 사용해서 로컬디스크로 자료를 이동하면 속도가 무척 느립니다.
대신 [APP]/nfs_share# tar cf - . |(cd /local_diretory; tar xf -) 같은 명령을 사용해서 자료로 이동시킬때는 정상속도가 나옵니다만...

왜 그렇지요?
NFS Share 할 때 option 을 잘못 줘서 그런건지?

Solaris 8 환경이고, NFS Share 디렉토리는 sfxfs 라는 Journaling Filesystem 을 사용합니다.

gbkwon의 이미지

mv 는 지우기 까지 할텐데요..

cp 나 다른 명령어와 다시 비교 해 보시는 것이 좋을듯 합니다.

dalgarak의 이미지

NFS를 사용하는 경우 해당 파일 구역(region)에 writing을 시도할 경우
flock()이나 fcntl() 같은 file locking을 걸고 관리하는 lockd를 사용하는게 보통입니다.

타르볼로 압축후 타 디렉토리에서 푸는 행위를 한다면 마운트된 NFS 상에서 read만 하게 될 것이고,
mv를 사용하면 소스 파일의 갱신(삭제)를 위해 lock이 걸리겠지요.

그래서 시간 차이가 발생하는 것일텝니다..

----
It's Friday I want to play,
on Saturday don't want to stay, at home
thinking of you
so let me party all night long.

from m-flo, Come again lyrics

http://luna.onionmixer.net