여러 컴퓨터에서 NFS 공유를 수행할 수 있습니까?

여러 컴퓨터에서 NFS 공유를 수행할 수 있습니까?

컴퓨터 A에 nfs 내보내기가 있고 이를 다른 네트워크의 컴퓨터 B에 마운트해야 합니다. A와 B 간의 연결을 제공하는 다중 홈 컴퓨터 C가 있습니다. 모든 컴퓨터는 Redhat 기반입니다. 설치하고 다시 내보내기를 시도했지만 성공하지 못했습니다. 나는 importfs가 nfs 마운트 파일 시스템 공유를 거부한다고 가정합니다. 하지만 포기하기 전에 물어봐야겠다는 생각이 들었습니다.

어쩌면 더 나은 해결책이 있을까요? C에서 A로 nfs/nfslock 요청을 전달할 수 있을까요?

답변1

아니요, NFS 마운트를 다시 공유할 수 없습니다.

발췌:답변: 다른 Linux 서버에서 실행되는 NFS 서버를 통해 NFS 공유를 다시 내보낼 수 있습니까?

짧은 대답: 불가능합니다.

최소 9년 동안 Linux 커널에는 NFS로 내보낸 디렉터리가 NFS 서비스를 호스팅하는 호스트에 "물리적으로" 존재하는지 확인하는 코드가 포함되어 있었습니다. '물리적으로' 존재하는할 수 있는즉, 디스크는 iSCSI, 파이버 채널 또는 기타 여러 네트워크 계층을 통해 존재하지만 파일 시스템 수준이 아닌 블록 수준에 있습니다. 커널은 NFS 마운트 디렉토리 내보내기를 거부합니다.

약 14년 전 사용자 공간 NFS 서버 구현에서 이를 허용했지만 이상한 일회성 상황(확실히 비프로덕션)에서 며칠 동안만 사용했습니다.

NFS 마운트 디렉터리를 다시 내보내는 것이 적절할 수 있는 많은 사용 사례를 상상할 수 있지만(나는 상상력이 풍부합니다) 이를 작동시키는 것은 쉽지 않습니다. 특히 최근 커널에서는 퓨즈 파일 시스템을 NFS로 내보낼 수 있습니다(http://lwn.net/Articles/281793/), NFS 마운트 디렉터리와 내보내기 사이에 퓨즈를 넣을 수 있습니다. 성공하셨다면 그 소식을 듣고 싶습니다.

답변2

NFS 마운트를 다시 공유할 수는 없지만 그렇게 할 이유는 없습니다. C를 사용하여 A와 B 간에 요청을 전달할 수 있습니다.

nfsd직접 전달의 경우 TCP 포트 111(포트 매핑)과 NFS에서 사용하는 모든 UDP 및 TCP 포트( self mountd및 ) 를 전달해야 합니다 lockd. 이는 불편할 수 있습니다.

C를 사용하는 것이 더 쉬울 수도 있습니다.VPN 설정이런 방식으로 A와 B 사이에 경로가 설정될 수 있으며, 애플리케이션 계층 문제와 네트워크 라우팅 문제가 완전히 별도로 해결될 수 있습니다.

관련 정보