컴터둥이

[Linux] NFS 설정 및 주요 옵션 정리 본문

Linux

[Linux] NFS 설정 및 주요 옵션 정리

현또다 2023. 10. 18. 17:11

▶ NFS (Network File System) 의 개념  

- 네트워크 상에 연결된 다른 컴퓨터의 하드디스크를 내 컴퓨터의 하드처럼 사용하는 것

- 네트워크에 연결된 리눅스끼리 NFS를 통해 파일 공유 가능

- 공통으로 사용되는 파일이 있으면 각 컴퓨터에 파일을 저장하지 않고 서버 1개에만 저장하여 효율적으로 공간 사용 가능

 

▶ NFS 서버 설정 ( exports ) 

 

[ Test version ]
OS version : RHEL 8.4
NFS 서버 IP (hostname) : 192.168.70.100 (master)
NFS 클라이언트 서버 IP (hostname) : 192.168.70.110 (client)

 

 

1. NFS 패키지 설치 진행

dnf install nfs-utils

 

2. NFS 서버 서비스 관련 데몬 기동 및 재부팅 시 자동 활성화

# nfs 서비스 활성화
systemctl start nfs-server
systemctl enable nfs-server
# 관련 데몬 rpcbind 활성화 (보통 nfs 서비스 활성화되면 자동으로 활성화되긴 함)
systemctl start rpcbind
systemctl enable rpcbind

 

3. exports 할 파일 설정

# nfs 서버용 디렉토리 생성
mkdir /nfsdir

vi /etc/exports		# NFS 환경설정 파일 수정
# [공유할 디렉토리] [허가할 호스트](디렉토리 권한)

exportfs -r		# 수정내용 반영

* NFS 환경설정 파일 옵션 ( /etc/exports )

옵션 코드 설명
ro / rw read only / read write
root_squash 클라이언트에서 접근하는 root 무시 -> 서버 상의 nobody로 매핑됨 (default)
no_root_squash 클라이언트에서 접근하는 root 허용
secure 클라이언트 마운트 요청 시 포트 번호가 1024 이하인 경우만 허가
noaccess 액세스 거부
sync 파일 시스템이 변경되면 즉시 동기화

 

4. 방화벽 허가

- 방화벽인 firewalld가 실행 중일 시, nfs 서비스 허가로 방화벽 설정 (테스트 진행했을 때는 firewalld 비활성화함)

firewall-cmd --permanent --add-service=nfs
firewall-cmd --reload
firewall-cmd --list-all

 

5. NFS 서버 구성 확인

showmount -e [ip]	# NFS 클라이언트에서 NFS 서버의 공유된 정보 확인
exportfs -v			# NFS 서버에서 외부에 공유된 내용 자세히 출력

 

 

▶ NFS 클라이언트 서버 설정 ( import ) 

 

1. NFS 패키지 설치 진행

dnf install nfs-utils

 

2. NFS 서버 서비스 관련 데몬 기동 및 재부팅 시 자동 활성화

# nfs 서비스 활성화
systemctl start nfs-server
systemctl enable nfs-server
# 관련 데몬 rpcbind 활성화 (보통 nfs 서비스 활성화되면 자동으로 활성화되긴 함)
systemctl start rpcbind
systemctl enable rpcbind

 

3. imports 할 파일 설정

mkdir /nfsclient				# NFS 클라이언트 서버용 디렉토리 생성
showmount -e [ NFS 서버 ip ]		# NFS 서버 공유 디렉토리 확인

# 마운트 진행
mount -t nfs [서버_IP]:/[서버_공유_디렉터리]  /[클라이언트_마운트할_경로]

 

4. fstab 등록

- 재부팅 시 자동 마운트되도록 /etc/fstab 파일에 등록해야 함

vi /etc/fstab
ex) 192.168.70.100:/nfsdir /nfsclient  nfs   defaults  0  0

 

5. 마운트 확인 ( df -TH )