운영체제(Operating System Concepts) 를 읽고 정리한 정리본입니다.

📌 Chap15-08 : 파일 시스템 내부 구조_NFS

🫧 NFS (Network File System)

NFS는 LAN or WAN을 거쳐 원격 파일에 접근하기 위한 소프트웨어 시스템의 구현과 명세를 모두를 말한다.

NFS에서는 다수의 버전이 존재하며, 가장 일반적으로 배포되는 버전은 3이다. 최근은 4까지 나왔다.

🫧 파일 마운트

다음과 같은 파일 시스템을 생각해 보자. 여기에서 삼각형은 디렉터리의 하부 트리이다.

image

U, S1, S2로 명명된 기계의 독립적인 파일 시스템을 갖고 있으며, 각 시스템은 로컬 파일만 접근이 가능하다.

만일 여기에서 U:/usr/local에 S1:/usr/shared를 마운트한다고 하면 다음과 같은 그림 (a)로 표현될 것이다.

더 나아가, U:/usr/local/dir1에 S2:usr/dir2를 마운트시키고자 하면 그림(b)처럼 표현될 것이다.

image

이처럼 NFS에서의 파일 마운트는 어느 파일 시스템이든, 파일 시스템 내 어느 디렉터리든 임의의 로컬 디렉터리에 원격으로 마운트할 수 있다.

뿐만 아니라, 그림 (b)처럼 연속 마운트 또한 가능하다.

🫧 NFS 명세

NFS는 시스템의 구현과 명세 모두를 의미한다고 앞서 말한 바 있다.

파일 마운트로 구현을 보았다면, 이제 명세를 확인해 볼 차례이다.

NFS 명세는 마운트 기법에 의해 제공되는 서비스와 실제 원격 파일 접근 서비스를 구분한다.

그 말은 즉슨, 이들 서비스를 위해 두 가지의 다른 프로토콜이 존재한다는 것이다.

이들은 각각 마운트 프로토콜NFS 프로토콜이다.

🫧 Mount Protocol

마운트 프로토콜은 서비스와 클라이언트 사이의 초기 논리적 연결을 생성하기 위해 사용된다.

여기서 사용되는 명령은 다음과 같은 두 가지를 포함한다.

  1. 마운트 될 원격 디렉터리의 이름
  2. 마운트 될 원격 디렉터리 이름을 포함하는 서버 기계 이름

서버는 export list (수출 리스트) 를 유지하며, 이 리스트들은 기계 이름과 함께 마운트 가능한 로컬 파일 시스템을 지정한다.

이러한 것들을 쉽게 관리하기 위해 15.6장에 나왔던 분산 네이밍 기법 (분산 정보 시스템)이 사용될 수 있다.

카테고리:

업데이트: