구축
[서버 설정]
패키지 설치
$ sudo apt update
$ sudo apt install nfs-kernel-server
파일 시스템 생성
- 파일 시스템 생성
$ mkdir -p ~/srv/nfs4
$ mkdir -p ~/srv/nfs4/data
$ chmod 777 ~/srv/nfs4/data
$ mkdir -p ~/data
- 디렉토리 바인드&마운트
- NFSv4 서버를 구성할 때는 Global NFS root 디렉토리를 사용하고, 실제 디렉토리를 공유 마운트 지점에 바인딩하는 것을 권장합니다.
$ sudo mount --bind ~/data ~/srv/nfs4/data
- /etc/fstab 에 영구 등록
/home/dw/data /home/dw/srv/nfs4/dw none bind 0 0
NFS 설정
- /etc/exports 에 설정 등록
/home/dw/srv/nfs4 192.X.X.0/24(rw,sync,no_subtree_check,crossmnt,fsid=0)
/home/dw/srv/nfs4/data 192.X.X.X(rw,sync,no_subtree_check) 192.X.X.X(rw,sync,no_subtree_check)
- 서브넷 클라이언트에만 NFS 볼륨에 대한 액세스 허용하며 하위 디렉토리 공유
- 읽기 및 쓰기 액세스는 특정 IP만 허용
- 설정 반영
$ sudo exportfs -ra
- 설정 확인
$ sudo exportfs -v
방화벽 작업
sudo ufw allow from 192.X.X.0/24 to any port nfs
[클라이언트 설정]
패키지 설치
$ sudo apt update
$ sudo apt install nfs-common
NFS 폴더 마운트
$ sudo mount -t nfs -o vers=4 192.168.10.203:/data /data
# 마운트 해제
$ sudo umount -f /data
- 앞에서 지정한 NFS 옵션 fsid=0 으로 인해 NFS root 폴더가 /로 인식되므로 해당 사항을 고려해 마운트 폴더를 지정해야 NFS v4로 설정됩니다.
마운트 확인
$ df -h