NFS 마운트
클라이언트는 우선 서버가 반출한 디렉토리를 마운트하여 서버 파일에 액세스합니다. 클라이언트가 디렉토리를 마운트할 때 해당 디렉토리의 사본은 작성되지 않습니다. 대신 마운트 프로세스는 클라이언트가 서버의 디렉토리에 투명하게 액세스할 수 있도록 원격 프로시저 호출(RPC)을 사용합니다.
다음은 마운트 프로세스에 대해 설명합니다.
- 서버가 시작되면 /etc/rc.nfs 스크립트가 exportfs 명령을 실행하고 이 명령은 서버 /etc/exports 파일을 읽은 다음 커널에 반출할 디렉토리 및 필요한 액세스 제한사항도 지시합니다.
- 그러면 rpc.mountd 디먼 및 여러 nfsd 디먼이 /etc/rc.nfs 스크립트로 시작됩니다.
- 그런 다음 /etc/rc.nfs 스크립트는 mount 명령을 실행하고 이 명령은 /etc/filesystems 파일에 나열된 파일 시스템을 읽습니다.
- mount 명령은 클라이언트가 원하는 정보를 반출하는
하나 이상의 서버를 찾고 자신과 이러한 서버 간에 통신을 설정합니다. 이 프로세스를 바인딩이라고 합니다.
- mount 명령은 클라이언트가 클라이언트 /etc/filesystems 파일의 디렉토리에 액세스할 수 있도록 하나 이상의 서버가 이를 허용하도록 요청합니다.
- 서버 디먼은 클라이언트 마운트 요청을 수신하고 이를 승인하거나 거부합니다. 요청된 디렉토리를 해당 클라이언트에서 사용할 수 있게 되면 서버 디먼은 클라이언트 커널에 파일 처리라는 식별자를 전송합니다.
- 그런 다음 클라이언트 커널은 마운트 레코드에 특정 정보를 기록하여 파일 처리를 마운트 위치(디렉토리)에 연결합니다.
rpc.mountd 디먼과의 클라이언트 통신은 NFS 버전 4 마운트 처리에서는 발생하지 않습니다. 코어 NFS 버전 4 프로토콜에서의 조작은 클라이언트 측 마운트 조작을 서비스하는 데 사용됩니다. NFS 버전 4 서버 구현은 NFS 버전 4 액세스 처리의 일환으로 rpc.mountd 디먼에서 지원을 사용하지 않습니다.