Linux

Ubuntu NFS Mount

thxxyj 2024. 4. 3. 11:42
728x90

NFS Server

1. 패키지 설치

$ sudo apt update
$ sudo apt install nfs-kernel-server

 

 

2. 공유할 디렉토리 설정

$ sudo mkdir -p /mnt/nfs_server
$ sudo chown -R nobody:nogroup /mnt/nfs_server

 

3. 공유할 디렉토리 권한 설정/배포

$ sudo vi /etc/exports
/mnt/nfs_server       *(rw,sync,no_root_squash)

$ sudo exportfs -a
$ sudo systemctl restart nfs-kernel-server.service

 

* default 포트는 2049

 

NFS Client

1. 패키지 설치

$ sudo apt update
$ sudo apt install nfs-common

 

2. 마운트/마운트 해제

$ sudo mkdir /mnt/nfs_client
$ sudo mount -t nfs {NFS_SERVER_IP}:/mnt/nfs_server /mnt/nfs_client

# 마운트 해제
$ sudo umount -l /mnt/nfs_client

 

참고 https://dongle94.github.io/ubuntu/ubuntu-nfs-setting/

 

 

* 마운트 없이 NFS 서버의 파일 리스트 확인하기

$ sudo apt-get install libnfs-utils

$ nfs-ls nfs:${SERVER_IP}/${SERVER_PATH}

https://manpages.ubuntu.com/manpages/focal/man1/nfs-ls.1.html

 

 

nfs-ls 커맨드로 다음과 같은 에러 메시지와 함께 파일 리스트 확인이 안되는 경우,

NFS 서버쪽에 권한 설정과 111 포트 방화벽 해제가 필요함

# NFS Clinet
$ nfs-ls nfs:${SERVER_IP}/mnt/nfs_server/subdir
Failed to mount nfs share : mount_cb: RPC error: Mount failed with error MNT3ERR_ACCES(13) Permission denied(13)


# NFS Server - insecure 권한 추가
$ sudo vi /etc/exports
/mnt/nfs_server       *(rw,sync,no_root_squash,insecure)

 

https://serverfault.com/questions/377170/which-ports-do-i-need-to-open-in-the-firewall-to-use-nfs

728x90