본문 바로가기

리눅스

우분투에서 NFS Server를 설치하고 NFS 볼륨을 마운트하는 방법

728x90

우분투에서 NFS(Network File Service) Server를 설치하고 NFS 볼륨을 마운트하는 방법

테스트 환경

  • 운영체제 버전 정보
$ lsb_release -d
Description:    Ubuntu 20.04.5 LTS

NFS 서버 설치

NFS 서버 패키지 설치

sudo apt update
sudo apt install -y nfs-kernel-server
sudo systemctl --now enable nfs-server.service
sudo systemctl status nfs-server
$ sudo systemctl status nfs-server
● nfs-server.service - NFS server and services
     Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled; vendor preset: enabled)
     Active: active (exited) since Fri 2022-10-07 22:27:17 KST; 1min 12s ago
   Main PID: 3357495 (code=exited, status=0/SUCCESS)
      Tasks: 0 (limit: 4677)
     Memory: 0B
     CGroup: /system.slice/nfs-server.service

Oct 07 22:27:16 kube-control1 systemd[1]: Starting NFS server and services...
Oct 07 22:27:17 kube-control1 systemd[1]: Finished NFS server and services.

NFS 공유 디렉토리 생성 및 권한 설정

sudo mkdir -p /nfs-directory/shares-data1
sudo chown nobody:nogroup /nfs-directory/shares-data1
sudo chmod -R 777 /nfs-directory/shares-data1

NFS 서버 설정(엑세스 권한 부여)

sudo vim /etc/exports
$ sudo vim /etc/exports
# /etc/exports: the access control list for filesystems which may be exported
#               to NFS clients.  See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)

/nfs-directory/shares-data1	0.0.0.0/0(rw,sync,subtree_check)
  • rw : 읽기 및 쓰기 권한을 부여합니다.
  • sync : 요청을 동기적으로 처리합니다.
  • no_subtree_check : 서브트리 검사 비활성화
  • subtree_check : 서브트리 검사 활성화
728x90

설정 파일을 저장한 후 NFS 서버를 재시작

sudo systemctl restart nfs-server.service

NFS 설정을 업데이트하고 모든 내보내기 항목에 대해 자세한 정보를 표시

sudo exportfs -av
$ sudo exportfs -av
exporting 0.0.0.0/0:/nfs-directory/shares-data1

현재 내보내기 상태를 확인

sudo exportfs -s
$ sudo exportfs -s
/nfs-directory/shares-data1  0.0.0.0/0(sync,wdelay,hide,sec=sys,rw,secure,root_squash,no_all_squash)

NFS 클라이언트에서 NFS 볼륨 마운트

NFS 클라이언트 패키지 설치

sudo apt update
sudo apt install nfs-common

NFS 서버에서 공유된 디렉토리를 확인

showmount -e 127.0.0.1
$ showmount -e 127.0.0.1
Export list for 127.0.0.1:
/nfs-directory/shares-data1 0.0.0.0/0

NFS 볼륨 마운트

  • NFS 서버의 IP 주소 및 공유 디렉토리를 이용하여 클라이언트에서 NFS 볼륨을 마운트합니다
sudo mount -t nfs [NFS 서버의 IP 주소]:/nfs-directory/shares-data1 /mnt

자동으로 NFS를 마운트

sudo vim /etc/fstab
[NFS 서버의 IP 주소]:/nfs-directory/shares-data1  /mnt  nfs  defaults  0  0
  • /nfs-directory/shares-data1 : 서버의 NFS 공유 디렉토리 경로입니다.
  • /mnt : 클라이언트에서 마운트할 로컬 디렉토리입니다.
  • nfs : 파일 시스템 유형을 지정합니다.
  • defaults : 기본 마운트 옵션을 사용합니다. 필요에 따라 rw, noexec, nosuid, hard, soft 같은 추가 옵션을 넣을 수 있습니다.
  • 0 0 : 파일시스템 덤프와 fsck 검사를 하지 않겠다는 의미입니다.

적용

sudo mount -a

 

시스템이 부팅할 때 자동으로 해당 NFS 공유를 마운트하게 됩니다.

 

728x90