NFS(Network File System) 는 원격 서버의 디렉터리를 로컬 파일 시스템처럼 마운트해 쓰는 프로토콜이다. 1984년 썬 마이크로시스템즈가 만들었고 지금은 IETF 표준이다.
여러 호스트가 같은 디렉터리를 동시에 읽고 쓸 수 있어, 공유 스토리지가 필요한 곳에 가장 손쉽게 놓는 선택지다. 쿠버네티스에서 ReadWriteMany 볼륨을 만들 때도 흔히 쓴다.
| 버전 | 특징 |
|---|---|
| NFSv4.2 | 현행[1]. 서버 간 복사 · 희소 파일 · 레이블 기반 보안 |
| NFSv4.1 | pNFS(병렬 NFS) · 세션. RFC 8881 |
| NFSv4.0 | 상태 보존(stateful) · 단일 포트(2049) · 마운트 프로토콜 통합 |
| NFSv3 | 무상태(stateless). rpcbind · mountd · lockd 등 포트 여럿 |
v4 는 2049 하나만 열면 되므로 방화벽이 단순하다. v3 는 부수 데몬이 임의 포트를 쓰므로 포트를 고정해 두지 않으면 방화벽을 통과하지 못한다.
exports 의 괄호 앞 공백. /data 192.168.1.0/24 (rw) 처럼 호스트와 괄호 사이를 띄우면, 그 호스트에는 기본 옵션을 주고 모든 호스트에 rw 를 여는 별개 항목으로 해석된다. 붙여 쓴다.no_root_squash 를 습관적으로 넣지 않는다. 클라이언트의 root 가 서버 파일을 그대로 건드리게 된다.lockd 는 서버가 재시작하면 잠금 상태를 잃을 수 있다. 데이터베이스 파일을 NFS 에 두는 구성은 잠금 동작을 먼저 확인한다.sync 와 async. async 는 빠르지만 서버가 갑자기 죽으면 쓰기가 사라진다.exports 문법이 접근 범위를 바꾸는 지점과 서비스가 뜨지 않을 때의 점검 순서.ReadWriteMany 스토리지로 붙인다.NFSv4.2 는 RFC 7862, v4.1 은 RFC 8881 — 2026-09-20 확인. ↩︎