네트워크 네임스페이스를 통해 NFS 마운트

네트워크 네임스페이스를 통해 NFS 마운트

Linux에서 NFS를 사용할 수 있습니까?네트워크 네임스페이스?

이것이 여전히 의미가 있습니까? 커널 소스 코드에서 내가 찾은 유일한 관련 사항은 커밋이었습니다.7e3fcf61abde nfs: 네트워크 네임스페이스 간에 마운트를 공유하지 않습니다.이것은 나에게 별로 의미가 없습니다.

답변1

예, 하지만 표준 기본(현재) NFS 설치 도구를 사용하지 않습니다.

setns다음은 네트워크(및 마운트) 네임스페이스에서 NFS 마운트를 수행하기 위한 몇 가지 코드 예제입니다.

https://github.com/Netflix/titus-executor/blob/564624ebfe293681a4f599175efb7ab12f40508c/mount/mount.c

답변2

귀하의 질문에는 커널 NFS가 도입될 때까지 커널 수준에서 분리되고 관련되지 않은 두 개의 서로 다른 네임스페이스가 관련되어 있습니다. 파일 시스템 마운트는 마운트 네임스페이스에 의해 재정의됩니다. 현재 (제한된) 이해는 NFS 볼륨이 네트워크를 통해 마운트된 경우 프로세스를 이 마운트의 네임스페이스에 결합하고 네트워크 네임스페이스를 결합/전환하면 NFS 마운트가 어려워진다는 것입니다. 동일한 NFS 마운트를 동일한 NFS 서버에 연결할 수 있습니다. 이 마운트 네임스페이스를 사용하는 프로세스에서 사용 중인 네트워크 네임스페이스에 따른 IP 주소입니다. 이는 혼란스럽게 들릴 뿐만 아니라 그럴 수도 있습니다. 이것이 Linux가 그러한 프로세스에 대해 NFS 마운트를 포기하는 이유입니다.

따라서 원칙적으로 마운트 및 네트워크 네임스페이스는 독립적입니다. 그러나 NFS와 같은 것은 특정 종속성이나 제한 사항을 부과합니다. 이 경우 사용자 공간 NFS가 영향을 받습니다.

관련 정보